Skip to content

OpenProse

OpenProse is a portable, markdown-first workflow format for orchestrating AI sessions. In OpenClaw it ships as a plugin that installs an OpenProse skill pack and a /prose slash command. Programs live in .prose files and can spawn multiple sub-agents with explicit control flow.

Install

Enable the OpenProse plugin and restart the Gateway.

Run a program

Use /prose run to execute a .prose file or remote program.

Write programs

Author multi-agent workflows with parallel and sequential steps.

  1. Enable the plugin

    Bundled plugins are disabled by default. Enable OpenProse:

    Terminal window
    openclaw plugins enable open-prose
  2. Restart the Gateway

    Terminal window
    openclaw gateway restart
  3. Verify

    Terminal window
    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

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.

Top-level remote runs are explicit. Remote imports inside a .prose program are transitive code dependencies: before OpenProse fetches any remote use target, it shows the resolved import list and requires the operator to reply exactly approve remote prose imports for that run.

  • 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.
# 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 }

OpenProse programs map to OpenClaw primitives:

OpenProse conceptOpenClaw tool
Spawn session / Task toolsessions_spawn
File read / writeread / write
Web fetchweb_fetch

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/
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.

Treat .prose files like code. Review them before running, including remote use imports. Top-level /prose run https://... requests are explicit, but transitive remote imports require per-run approval before they are fetched or executed. Use OpenClaw tool allowlists and approval gates to control side effects. For deterministic, approval-gated workflows, compare with Lobster.

Skills reference

How OpenProse’s skill pack loads and what gates apply.

Subagents

OpenClaw’s native multi-agent coordination layer.

Text-to-speech

Add audio output to your workflows.

Slash commands

All available chat commands including /prose.

Official site: https://www.prose.md