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.

Install

  • Enable the plugin

    Bundled plugins are disabled by default. Enable OpenProse:

    bash
    openclaw plugins enable open-prose
  • Restart the Gateway

    bash
    openclaw gateway restart
  • Verify

    bash
    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:

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

    prose
    # 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:

    text
    .prose/├── .env├── runs/│   └── {YYYYMMDD}-{HHMMSS}-{random}/│       ├── program.prose│       ├── state.md│       ├── bindings/│       └── agents/└── agents/

    User-level persistent agents live at:

    text
    ~/.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. Use OpenClaw tool allowlists and approval gates to control side effects. For deterministic, approval-gated workflows, compare with Lobster.

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

    Was this useful?
    On this page

    On this page