openclaw
Sign up

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 .prose programs 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 sqlite3 binary on PATH.
  • postgres (experimental): Requires psql and 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.