OpenProse#
OpenProse is a markdown-first workflow format for multi-agent AI sessions. In OpenClaw it ships as a plugin with a /prose slash command and a skill pack. Programs live in .prose files and can spawn multiple sub-agents with explicit control flow.
Install#
Bundled plugins are disabled by default. Enable OpenProse:
openclaw plugins enable open-prose
Restart the Gateway:
openclaw gateway restart
Verify:
openclaw plugins list | grep prose
You should see open-prose as enabled. The /prose skill command is now available in chat.
For a local checkout:
openclaw plugins install ./path/to/local/open-prose-plugin
Slash command#
OpenProse registers /prose as a user-invocable skill command:
/prose help
/prose run <file.prose>
/prose run <handle/slug>
/prose run <https://example.com/file.prose>
/prose compile <file.prose>
/prose examples
/prose update
/prose run <handle/slug> resolves to https://p.prose.md/<handle>/<slug>. Direct URLs are fetched as-is using the web_fetch tool.
What it can do#
- Multi-agent research and synthesis with explicit parallelism.
- Repeatable, approval-safe workflows (code review, incident triage, content pipelines).
- Reusable
.proseprograms you can run across supported agent runtimes.
Example: parallel research and synthesis#
# Research + synthesis with two agents running in parallel.
input topic: "What should we research?"
agent researcher:
model: sonnet
prompt: "You research thoroughly and cite sources."
agent writer:
model: opus
prompt: "You write a concise summary."
parallel:
findings = session: researcher
prompt: "Research {topic}."
draft = session: writer
prompt: "Summarize {topic}."
session "Merge the findings + draft into a final answer."
context: { findings, draft }
OpenClaw runtime mapping#
OpenProse programs map to OpenClaw primitives:
| OpenProse concept | OpenClaw tool |
|---|---|
| Spawn session / Task tool | sessions_spawn |
| File read / write | read / write |
| Web fetch | web_fetch |
If your tool allowlist blocks sessions_spawn, read, write, or web_fetch, OpenProse programs will fail.
File locations#
OpenProse keeps state under .prose/ in your workspace:
.prose/
├── .env
├── runs/
│ └── {YYYYMMDD}-{HHMMSS}-{random}/
│ ├── program.prose
│ ├── state.md
│ ├── bindings/
│ └── agents/
└── agents/
User-level persistent agents live at:
~/.prose/agents/
State backends#
- filesystem (default): State is written to
.prose/runs/...in the workspace. No extra dependencies required. - in-context: Transient state kept in the context window. Suitable for small, short-lived programs.
- sqlite (experimental): Requires the
sqlite3binary onPATH. - postgres (experimental): Requires
psqland a connection string. Postgres credentials flow into sub-agent logs. Use a dedicated, least-privileged database.
Security#
Treat .prose files like code. Review them before running. Use OpenClaw tool allowlists and approval gates to control side effects.
For more on registering capabilities through the plugin system, see the Plugin SDK and plugin manifests and contracts.