Skills
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.
Enable the OpenProse plugin and restart the Gateway.
Use /prose run to execute a .prose file or remote program.
Author multi-agent workflows with parallel and sequential steps.
Install
Enable the plugin
Bundled plugins are disabled by default. Enable OpenProse:
openclaw plugins enable open-proseRestart the Gateway
openclaw gateway restartVerify
openclaw plugins list | grep proseYou 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.
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.
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 |
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.
Security
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.
Related
How OpenProse's skill pack loads and what gates apply.
OpenClaw's native multi-agent coordination layer.
Add audio output to your workflows.
All available chat commands including /prose.
Official site: https://www.prose.md