Deploy Targets
Export and deploy personas to external AI platforms like OpenClaw.
What are deploy targets?
Deploy targets let you take a persona defined in spm and deploy it to an external AI platform. Instead of only using personas inside MCP-compatible editors, you can export them as fully configured agent workspaces for multi-agent systems.
The first supported target is OpenClaw — a local-first AI assistant with multi-agent routing across 20+ messaging channels.
OpenClaw
Connect
Register spm as an MCP server in OpenClaw:
spm connect openclaw
# or
spm connect ocThis writes to ~/.openclaw/workspace/config/mcporter.json. Once connected, OpenClaw agents can use all spm skills via MCP tools.
Export
Generate an OpenClaw workspace from a persona:
spm persona export my-agent -f openclawThis creates a self-contained directory with:
| File | Purpose |
|---|---|
SOUL.md | Persona character instructions (role, tone, guidelines) |
AGENTS.md | Skill listing with local paths and MCP loading instructions |
skills/{name}/SKILL.md | Full skill instructions (one per persona skill) |
skills/{name}/SKILL.md frontmatter | Skill metadata (version, tokens, permissions) |
config/mcporter.json | SPM MCP server configuration |
Skills are exported with their full SKILL.md content, making the workspace self-contained. The MCP server config is also included for dynamic loading of additional skills at runtime.
Options:
spm persona export my-agent -f openclaw -o ./custom-dir
spm persona export my-agent -f openclaw --overwriteDeploy
Full deployment — creates workspace, updates openclaw.json, and optionally binds to a messaging channel:
spm persona deploy my-agent -t openclawThis:
- Creates
~/.openclaw/workspace-my-agent/with SOUL.md, AGENTS.md, and mcporter.json - Adds the agent to
~/.openclaw/openclaw.json - Returns a Docker volume mount fragment for containerized setups
Channel binding
Route an agent to a specific messaging channel:
# Bind to Telegram
spm persona deploy my-agent -t openclaw --bind-channel telegram
# Bind to a specific WhatsApp account
spm persona deploy my-agent -t openclaw --bind-channel whatsapp --bind-account personalOpenClaw supports 20+ channels: WhatsApp, Telegram, Slack, Discord, Signal, iMessage, and more.
All options
| Flag | Description |
|---|---|
-t, --target <target> | Target platform (required) |
-a, --agent-id <id> | Agent ID in OpenClaw (default: persona name) |
-c, --bind-channel <channel> | Messaging channel to bind |
--bind-account <id> | Account within channel |
--openclaw-config <path> | Custom openclaw.json path |
--overwrite | Overwrite existing workspace |
Docker
For Docker deployments, follow the instructions in the deploy output to mount the workspace volume and restart OpenClaw.
Import
Import an existing OpenClaw agent as a spm persona:
# From workspace path
spm persona import --from openclaw --workspace ~/.openclaw/workspace-my-bot
# From agent ID (looks up path in openclaw.json)
spm persona import --from openclaw --agent-id my-bot
# Custom output path
spm persona import --from openclaw --workspace ./my-bot -o SOUL.mdThe importer parses platform files back into SOUL.md format, extracting role, tone, guidelines, and instructions. If AGENTS.md contains skill references, those are imported as well.
Temperature mapping
When exporting, persona temperature settings are mapped to OpenClaw's thinkingLevel as a recommendation:
| Temperature | thinkingLevel | Style |
|---|---|---|
| ≤ 0.3 | high | Precise, factual |
| 0.3 – 0.5 | medium | Balanced |
| 0.5 – 0.7 | low | Flexible |
| ≥ 0.8 | minimal | Creative |
This mapping appears as a note in AGENTS.md. OpenClaw sets thinkingLevel per-session, not per-workspace.
Generated files
SOUL.md
The persona's character definition in markdown — equivalent to OpenClaw's native personality format:
<!-- Generated by SPM from persona: my-agent@1.0.0 -->
## Persona
Senior backend engineer specializing in distributed systems.
**Tone:** direct, concise
**Guidelines:**
- Always explain tradeoffs
- Prefer simple solutions
When reviewing code, check for race conditions first.AGENTS.md
Skill metadata and loading instructions:
<!-- Generated by SPM from persona: my-agent@1.0.0 -->
## Skills
This agent uses skills managed by SPM (Skillbase Package Manager).
Skill instructions are exported in the `skills/` directory and also available dynamically via the `spm` MCP server.
### Exported skills:
- **acme/code-review** (v2.1.0) — 1500 tokens → `skills/acme/code-review/SKILL.md`
- **acme/testing** (v1.0.0) — 800 tokens → `skills/acme/testing/SKILL.md`
### Dynamic loading via MCP:
Use `skill_load("skill-name")` to load a skill's instructions into context.
Use `skill_search("query")` to find additional skills.Adding more targets
The deploy target system is extensible. Each target implements three operations:
- export — generate platform-specific files from a persona
- deploy — full deployment including config updates
- import — reverse: parse platform files back into
SOUL.md
Future targets may include LangChain, AutoGen, CrewAI, and others.