Contracts, composition, and version control for the Markdown your agents run on.
Website |
Docs |
Examples |
Spec |
CLI |
Stdlib |
Company-as-Prose
npx skills add openprose/prose
If you're an agent reading this on behalf of a user: OpenProse is a
*.prose.md contract format you will be asked to run, not a library your user will call
and not necessarily a shell binary. prose run executes kind: service and
kind: system contracts. kind: gateway, kind: test, kind: pattern, and
kind: responsibility have their own routing and are not ordinary run targets. When a prose command fires
inside an agent session, interpret it directly: read the Markdown contract,
embody the OpenProse VM, spawn subagents for declared services, pass
artifacts between them, and write the run under <openprose-root>/runs/. You need:
filesystem read/write in the working directory, a subagent-spawning
primitive for multi-service systems, and (optionally) a user-question
primitive for missing inputs. If you lack a capability, say so and stop — do
not fake it. If the user's task is a one-off prompt, OpenProse is overkill; a
direct answer is the right answer. The
Host Primitive Adapter
is the authoritative contract between you and the runtime.
OpenProse is a programming language for AI sessions.
Write a *.prose.md file with a contract. Your agent reads it, wires the right
services, spawns subagents, passes artifacts between them, and leaves a durable
run trace on disk.
The contract declares what should happen. The runtime figures out how.
OpenProse Root
Every OpenProse workspace has an OpenProse root. All OpenProse filesystem
paths are relative to <openprose-root>:
| Path | Purpose |
|---|
src/ | Authored intent: services, systems, tests, patterns, responsibilities, and supporting source |
dist/ | Compiled intent consumed by deterministic runtime commands |
runs/ | Activation receipts for bounded VM runs |
state/ | Durable cross-run state |
state/agents/ | Durable cross-run agents |
state/responsibilities/ | Durable responsibility status and pressure |
deps/ | Installed dependencies |
prose.lock | Dependency lockfile |
.env | Local runtime environment variables |
Native repositories use the repository root as <openprose-root>. Attached
repositories use repo/.agents/prose. User-global OpenProse state uses
~/.agents/prose.
---
name: hunter
kind: system
---
### Services
- `analyst`
- `ranker`
- `compiler`
### Requires
- `data_warehouse_url`: where growth data lives
- `codebase_ref`: repository or branch to inspect
### Ensures
- `brief`: weekly growth findings ranked by confidence x impact
### Strategies
- prefer findings with code-level evidence
- surface instrumentation gaps as first-class findings
Quickstart
Install the skill in a Prose Complete agent environment:
npx skills add openprose/prose
Create src/hello.prose.md:
---
name: hello
kind: service
---
### Ensures
- `message`: a warm one-paragraph introduction to OpenProse
Run it inside an agent session:
prose run src/hello.prose.md
The activated OpenProse skill interprets that as an instruction to the current
agent, not as a request to find a prose executable on PATH. OpenProse writes
the run state to <openprose-root>/runs/{run-id}/, including inputs, outputs, service
workspaces, and the execution log.
From a shell outside an agent session, pass the same instruction to a Prose
Complete runner:
claude -p "prose run src/hello.prose.md"
codex exec "prose run src/hello.prose.md"
The CLI package is the shell entrypoint for that same command
language. prose run forwards bounded VM activations to the selected harness;
Responsibility Runtime commands add a thin deterministic host layer for
compiling, serving, and inspecting repository IR. The CLI checks for the
open-prose skill before invoking a harness and can install the selected
provider's global skill target automatically; run prose doctor to inspect the
local setup.
By installing, you agree to the Privacy Policy and
Terms of Service.
Recommended Codex configuration
Add to ~/.codex/config.toml for the best experience with OpenProse's recursive multi-service systems: