Open Prose

Open Prose

|

A long-running AI session is a Turing-complete computer. OpenProse is a programming language for it.

# 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 }
Available Now

Get started in 30 seconds

OpenProse runs as a Claude Code plugin. Install it and start writing .prose workflows immediately.

1. Install the plugin

/plugin marketplace add git@github.com:openprose/prose.git
/plugin install open-prose@prose

2. Restart Claude Code

Skills load at startup. Quit and reopen Claude Code.

3. Boot OpenProse

/prose-boot

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

Intelligent IoC Container

Traditional IoC wires up dependencies from configuration. OpenProse's container is an AI session that wires up agents using understanding—it knows context, not just config.

2

The Fourth Wall **...**

When you need AI judgment instead of strict execution, break out of structure:loop until **the code is production ready**. The OpenProse VM evaluates this semantically.

3

Open Standard, Zero Lock-in

OpenProse is a skill you import into Claude Code, OpenCode, Codex, Amp, or any compatible AI assistant. Switch platforms anytime—your .prose files work everywhere.

4

Structure + Flexibility

Plain English prompts are ambiguous. Rigid frameworks are inflexible. OpenProse gives you unambiguous control flow with natural language conditions where you want flexibility.

Why structure matters

"Why not just describe agents in 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.

Ambiguous (plain English):

"Research the topic, then write about it, and get feedback until it's good"

Unambiguous (OpenProse):

let research = session "Research"
loop until **good**:
  session "Write"
  session "Get feedback"
Definition

Prose Complete

A System is Prose Complete if it can run a .prose program of arbitrary complexity.

Not all systems are Prose Complete. It's not just the model—it's the model plus the harness. Together, they need to maintain context, follow complex control flow, and coordinate agent sessions.

Benchmark Status

HarnessModelStatus
Claude CodeOpus 4.5Significant Anecdotal Evidence
OpenCodeOpus 4.5Anecdotal Evidence
AmpOpus 4.5Anecdotal Evidence
Claude CodeSonnet 4Likely
CodexLacking call frames (subagents)

Benchmarks still underway. Want to help fund my time?

Common questions

BETA

Important Information

Beta Status

  • Telemetry is on by default — We collect anonymous usage data to improve the project. See our Privacy Policy for details and how to opt out.
  • Expect bugs — The software may behave unexpectedly. Please report issues on GitHub.
  • Not for production — Do not use OpenProse for critical or production workflows yet.
  • We want feedback — Your input shapes the project. Open issues, suggest features, report problems.

Your Responsibility

You are responsible for all actions performed by AI agents you spawn through OpenProse. Review your .prose programs before execution and verify all outputs.

Support the project

OpenProse is not venture backed or associated with any of the big labs. Small support goes a long way for giving me the time to maintain this project.

Hire me for consulting

I do freelance agent architecture and AI systems consulting. If you're building something serious with AI agents, let's talk.