Taming AI cowboys with a spec layer that stays out of the way
A lightweight framework that forces you and your AI assistant to agree on what you're building before anyone writes a line of code.

What it does
OpenSpec is a CLI and slash-command framework for “spec-driven development” with AI coding assistants. You run /opsx:propose "your idea", and the AI generates a folder with proposal.md, specs/, design.md, and tasks.md. Once you agree, /opsx:apply implements it, and /opsx:archive cleans up when done. It works with 25+ AI tools via standard slash commands rather than proprietary IDE lock-in.
The interesting bit
The philosophy is deliberately anti-ceremony: “fluid not rigid, iterative not waterfall, built for brownfield not just greenfield.” Rather than replacing your workflow, it adds just enough structure to stop requirements from vanishing into chat history. The comparison table is notably direct — it positions itself as lighter than GitHub’s Spec Kit and more open than AWS’s Kiro, which locks you to Claude in their IDE.
Key highlights
- Requires Node.js 20.19.0+, installs via npm/pnpm/yarn/bun/nix
- Supports 25+ AI assistants and growing; tool list is documented
- Each change gets its own folder with four artifact types (proposal, specs, design, tasks)
- Expanded workflow commands available via
openspec config profile - Community schemas allow third-party workflow bundles
- Telemetry is anonymous (command names and version only), opt-out via env var
Caveats
- README explicitly recommends “high-reasoning models” (Codex 5.5, Opus 4.7); your mileage may vary with cheaper models
- Requires discipline around “context hygiene” — clear your context window before implementation or the spec discipline degrades
- The TODO comment in the README admits the promised GIF demo of the full workflow doesn’t exist yet
Verdict
Worth a look if you’re tired of AI assistants confidently implementing the wrong thing. Skip it if you already have a rigid spec process that works, or if you refuse to add Node.js tooling to your project lifecycle.