OpenSpec

Overview

OpenSpec gives you and your coding agent a shared, reviewable plan before code is written.

Building the right thing, and building it right

Agents make it go wrong faster

A shared map, not a plan up front

The loop in 60 seconds

Choose your path

Diagram options under review

A. Drift: aligned at the start, small differences compound each session.

Option A: drift trajectories

B. Shared map: private maps go stale; one shared map reroutes everyone.

Option B: shared map with reroute

C. Control loop: the open loop ships and hopes; the closed loop measures every cycle against the spec.

Option C: open vs closed control loop

D. Sessions: chat context dies between sessions; the plan on disk survives.

Option D: sessions over a persistent spine

E. Native Mermaid, the loop: the smallest possible statement of the cycle. Theme-aware, renders from text in this file.

Mermaid diagram source: flowchart LR p[propose] --> r[review] --> a[apply] --> ar[archive] ar -- "specs absorb the change" --> p

F. Native Mermaid, the closed loop (C, redrawn): same argument as option C, drawn by Mermaid.

Mermaid diagram source: flowchart LR spec["the spec:<br/>what right looks like"] --> check{aligned?} check -- yes --> agent[agent builds] agent --> code[code + artifacts] code -- "review / verify" --> check code -- "archive: the spec absorbs the change" --> spec

G. Native Mermaid, sessions (D, redrawn): same argument as option D, as a sequence diagram.

Mermaid diagram source: sequenceDiagram participant S1 as session 1 participant S2 as session 2 participant S3 as session 3 participant M as openspec/ (the map) S1->>M: propose: writes the plan Note over S1: context lost M->>S2: reads the plan S2->>M: apply: checks off tasks 1-3 Note over S2: context lost M->>S3: reads the plan S3->>M: archive: specs absorb the change

H. Animated SVG (A, animated): option A redrawn as a hand-authored SVG with CSS keyframes inside the file. The trajectories draw themselves and the loop repeats. No libraries, ships as a plain image, colors picked to read on light and dark.

Option H: animated drift

On this page