OpenSpec

by Fission-AI

Community Developer Tools 64k likes

OpenSpec makes an AI coding assistant agree on a written spec before it writes code, using slash commands and plain-Markdown change proposals as the source of truth.

Install CLI

npm install -g @fission-ai/openspec@latest && openspec init

Source: https://github.com/Fission-AI/OpenSpec

About

OpenSpec is a spec-driven-development framework, not a tool-call MCP server — a maintainer request to build one (issue #319) was closed as not planned. It works through slash commands (/opsx:explore, /opsx:propose, /opsx:apply, /opsx:archive) that any of 20+ supported AI assistants can run, plus a CLI (openspec init, openspec config, openspec update) for setup. Every proposed change gets its own folder holding a proposal, an optional design doc, and a task checklist, all in plain Markdown that both you and the assistant read as the single source of truth instead of scrollback.

The workflow is deliberately sequential: explore the problem, propose a change, get it agreed on, then apply it — so an assistant can't jump straight to generating code against requirements that only exist in a chat thread. Because specs and changes live as files in the repo, they're diffable, reviewable in a normal pull request, and archived once a change ships, giving a project a running record of what was decided and why.

Key features

  • Slash-command workflow (/opsx:explore, /opsx:propose, /opsx:apply, /opsx:archive) supported across 20+ AI assistants
  • Specs and change proposals stored as plain Markdown files in an openspec/ directory, not chat history
  • Each change gets its own folder with a proposal, optional design doc, and task checklist
  • Brownfield-friendly — designed to attach to an existing codebase, not just greenfield projects
  • CLI commands (openspec init/config/update) for project setup and keeping the tool current
  • Archives completed changes automatically, leaving a reviewable history of past decisions

Use cases

  • Forcing agreement on requirements before an AI assistant starts generating code on a feature
  • Giving a team a shared, versioned record of why a change was made, alongside the code itself
  • Onboarding an AI assistant onto an existing codebase without re-explaining context every session
  • Reviewing an AI-proposed change as a normal Markdown diff before any implementation begins

Available tools

/opsx:explore

Thinks through a problem and its constraints before committing to an approach.

/opsx:propose

Drafts a change proposal — the spec the assistant and you agree on before coding starts.

/opsx:apply

Implements the tasks laid out in an approved change proposal.

/opsx:archive

Moves a completed change's files into the archived history once it ships.

openspec init

CLI command that sets up the openspec/ directory structure in a project.

Frequently asked questions

Is there an official OpenSpec MCP server?

No. A GitHub issue proposing one was closed as not planned by the maintainers. OpenSpec works through slash commands and a CLI instead; a few third-party MCP wrappers exist but aren't part of the official project.

Does OpenSpec work with assistants other than Claude?

Yes — its docs list support across 20+ AI coding assistants via the same slash-command convention, not just Claude Code.