Use plone-client with coding agents#
This guide shows you how to let a coding agent read and change a Plone site through the command line, without giving it your passwords.
Create the profiles yourself#
Create the profiles in your own terminal, so the secrets go into your keyring and never through the agent. Make every site other than your local one read-only.
plone-client profile add blog-local --url http://localhost:8080/Plone --username admin
plone-client profile add blog --url https://example.org --username editor --read-only
Point the project at its profile#
Add a .plone-client.toml file at the root of the project.
profile = "blog-local"
Install the agent skill#
plone-client ships an Agent Skill that teaches an agent its commands, output, exit codes, the Volto content model, and the safety rules: no passwords, a dry run before changes, and no deletion without your confirmation.
To install it in the project, run this at the project’s root.
plone-client skill install
It writes .claude/skills/plone-client/SKILL.md, where Claude Code finds it.
Commit the file to share it with everyone working on the project.
To install it for every project instead, pass --user; it then goes in ~/.claude/skills.
plone-client skill install --user
For an agent that reads skills from another directory, pass it with --dir.
plone-client skill install --dir .agents/skills
Run plone-client skill install again after upgrading plone-client, to replace the skill with the new version.
To read the skill, or to paste it into an agent without skill support, print it.
plone-client skill show
Tell the agent about your sites#
The skill knows the command line, not your sites.
Add what only you know to the project’s CLAUDE.md, AGENTS.md, or equivalent.
## Plone sites
- Profiles: `blog-local` (local development, the default) and `blog` (production, read-only).
Pass `-p blog` to read production.
- News goes in `/blog`, as `News Item`, published with the `publish` transition.