npx skills add openprose/proseREADME
A long-running AI session is a Turing-complete computer. OpenProse is a programming language for it.
Website • Language Spec • Examples
⚠️ Beta Software — Read before using
# Research and write workflow
agent researcher:
model: sonnet
skills: ["web-search"]
agent writer:
model: opus
parallel:
research = session: researcher
prompt: "Research quantum computing breakthroughs"
competitive = session: researcher
prompt: "Analyze competitor landscape"
loop until **the draft meets publication standards** (max: 3):
session: writer
prompt: "Write and refine the article"
context: { research, competitive }
Install
Claude Code
claude plugin marketplace add openprose/prose
claude plugin install open-prose@prose
Then launch Claude Code and try:
"run example prose program and teach me how it works"
OpenCode
git clone https://github.com/openprose/prose.git ~/.config/opencode/skill/open-prose
Then launch OpenCode and try:
"run example prose program and teach me how it works"
Amp
git clone https://github.com/openprose/prose.git ~/.config/agents/skills/open-prose
Then launch Amp and try:
"run example prose program and teach me how it works"
By installing, you agree to the Privacy Policy and Terms of Service.
The Intelligent Inversion of Control
Traditional orchestration requires explicit coordination code. OpenProse inverts this—you declare agents and control flow, and an AI session wires them up. The session is the IoC container.
1. The Session as Runtime
Other frameworks orchestrate agents from outside. OpenProse runs inside the agent session—the session itself is both interpreter and runtime. It doesn't just match names; it understands context and intent.
2. The Fourth Wall (**...**)
When you need AI judgment instead of strict execution, break out of structure:
loop until **the code is production ready**:
session "Review and improve"
The **...** syntax lets you speak directly to the OpenProse VM. It evaluates this semantically—deciding what "production ready" means based on context.
3. Open Standard, Zero Lock-in
OpenProse runs on any Prose Complete system—a model + harness combination capable of inducing the VM. Currently: Claude Code + Opus, OpenCode + Opus, Amp + Opus. It's not a library you're locked into—it's a language specification.
Switch platforms anytime. Your .prose files work everywhere.
4. Structure + Flexibility
Why not just plain English? You can—that's what **...** is for. But complex workflows need unambiguous structure for control flow. The AI shouldn't have to guess whether you want sequential or parallel execution.
Why not rigid frameworks? They're inflexible. OpenProse gives you structure where it matters (control flow, agent definitions) and natural language where you want flexibility (conditions, context passing).
Update
Claude Code
Enable auto-updates (recommended):
/plugin → Marketplaces → prose → Enable auto-update
Or update manually:
claude plugin update open-prose@prose
OpenCode
cd ~/.config/opencode/skill/open-prose && git pull
Amp
cd ~/.config/agents/skills/open-prose && git pull
Language Features
| Feature | Example |
|---|---|
| Agents | agent researcher: model: sonnet |
| Sessions | session "prompt" or session: agent |
| Persistent Agents | agent captain: persist: true / resume: captain |
| Parallel | parallel: blocks with join strategies |
| Variables | let x = session "..." |
| Context | context: [a, b] or context: { a, b } |
| Fixed Loops | repeat 3: and for item in items: |
| Unbounded Loops | loop until **condition**: |
| Error Handling | try/catch/finally, retry |
| Pipelines | items | map: session "..." |
| Conditionals | if **condition**: / choice **criteria**: |
See the Language Reference for complete documentation.
Examples
The examples/ directory contains 37 example programs:
| Range | Category |
|---|---|
| 01-08 | Basics (hello world, research, code review, debugging) |
| 09-12 | Agents and skills |
| 13-15 | Variables and composition |
| 16-19 | Parallel execution |
| 20-21 | Loops and pipelines |
| 22-23 | Error handling |
| 24-27 | Advanced (choice, conditionals, blocks, interpolation) |
| 28 | Gas Town (multi-agent orchestration) |
| 29-31 | Captain's chair pattern (persistent orchestrator |
...