OpenClaw Specialist Agents
Durable specialist personas for OpenClaw.
This plugin creates real OpenClaw agents under agents.list, gives each agent
its own workspace and agent state directory, and adds peer-level route bindings
with /persona.
Why this exists
Prompt-only personas are not durable. A long-lived marketing agent needs its own:
agentId- workspace files such as
AGENTS.md,SOUL.md, andMEMORY.md - agent state directory and sessions
- routing binding for the chat where it should respond
This plugin automates that configuration without replacing OpenClaw's native multi-agent system.
Commands
/persona status
/persona list
/persona create marketing
/persona create <id> --name "Agent Name" --prompt "Specialist instructions"
/persona use marketing
/persona main
/persona unbind
/persona use <id> binds the current peer to that agent. The next normal
message in the same chat is handled by the selected specialist. /persona main
binds the current peer back to main.
For groups or channels where the current peer cannot be inferred, pass it explicitly:
/persona use marketing --peer group:123456789 --channel discord --account default
/persona use marketing --peer channel:123456789 --channel discord
Built-in persona
marketing is available out of the box:
/persona create marketing
/persona use marketing
Add more reusable templates through plugins.entries.specialist-agents.config.
See examples/plugin-config.jsonc.
OAuth and auth profiles
OpenClaw auth profiles are per agent. This plugin does not copy OAuth refresh tokens between agents.
That is intentional: a specialist agent with independent Google/GOG OAuth access should sign in from that agent. Static API keys or static tokens can be copied manually if you trust that sharing model, but OAuth should be treated as agent-scoped.
Local install
npm run build
openclaw plugins install /path/to/openclaw-specialist-agents
openclaw gateway restart
Then in chat:
/persona create marketing
/persona use marketing
Publish
npm i -g clawhub
clawhub login
clawhub whoami
git init
git add .
git commit -m "Initial specialist agents plugin"
git branch -M main
git remote add origin git@github.com:<github-user-or-org>/openclaw-specialist-agents.git
git push -u origin main
npm run build
npm run check
npm pack --dry-run
REPO=<github-user-or-org>/openclaw-specialist-agents
COMMIT=$(git rev-parse HEAD)
clawhub package publish . --source-repo "$REPO" --source-commit "$COMMIT" --source-ref main --dry-run
clawhub package publish . --source-repo "$REPO" --source-commit "$COMMIT" --source-ref main