OpenSpec

Spec-driven development for coding agents: proposal, requirements, design and tasks come before any code

WorkflowEditors’ pickMedium risk

fission-ai/openspec

Install

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

Run openspec init in the project root; it asks which agents to install skills and commands for.

This is third-party code. Review the repository files before installing.

What it does

OpenSpec adds an openspec/ folder to the project with specs and a separate folder for every change. The CLI installs skills and slash commands into the agents you pick: /opsx:explore to think an idea through, /opsx:propose to create proposal.md, spec deltas, design.md and tasks.md, /opsx:apply to implement task by task and /opsx:archive to merge the change into the main specs. An expanded profile adds step-by-step new, continue, ff, verify and bulk-archive commands. Teams can use stores, where specs live in a separate repository and agents read them from several codebases.

Who it is for. For developers and teams who want to agree on a plan with the agent before it starts changing code.

Good fit when

  • A feature touches several modules and needs a written plan before implementation
  • Requirements get lost in chat history and the agent builds the wrong thing
  • You need to maintain specs in an existing project, not only a new one

Not a fit when

  • A two-line fix where writing a spec takes longer than the code
  • The team already keeps requirements elsewhere and will not duplicate them in the repository

Example request

/opsx:propose add dark mode that follows the system preference

Limitations

Requires Node.js 20.19.0 or newer. The authors recommend high-reasoning models and a clean context before implementation. The CLI collects anonymous command-name telemetry, which you turn off with openspec config set telemetry.enabled false or OPENSPEC_TELEMETRY=0. Stores are in beta.

How to disable. Remove the package with npm uninstall -g @fission-ai/openspec and delete the generated skill and command files from the agent folders in the project.

Security check

  • The CLI writes skill and command files into the project's agent folders
  • During apply the agent changes code according to the task list

README in short

The README walks through the explore, propose, apply, archive loop with a dark mode example and shows the spec format: requirements with WHEN and THEN scenarios in plain Markdown. Installation is via npm followed by openspec init in the project. It also covers stores for multi-repository team work, a comparison with Spec Kit and Kiro, upgrades and turning off telemetry. More than 30 tools are supported, MIT licensed.

SKILL.md

---
name: openspec-propose
description: Propose a new change with all artifacts generated in one step. Use when the user wants to quickly describe what they want to build and get a complete proposal with design, specs, and tasks ready for implementation.
allowed-tools: Bash(openspec:*)
license: MIT
compatibility: Requires openspec CLI.
metadata:
  author: openspec
  version: "1.0"
---

Propose a new change - create the change and generate all artifacts in one step.

**Planning boundary**: This workflow creates planning artifacts only. The user request that selected or triggered this workflow authorizes planning only, even if it asks to build or fix something. Do not edit project code. After the planning artifacts are complete, stop. Do not start implementation in the same response, even if the initial request asks for it. Wait for a new user request after the artifacts are presented; then start the apply workflow.

I'll create a change with the artifacts your schema defines. With the default spec-driven schema that is:
- proposal.md (what & why)
- `specs/<capability-path>/spec.md` (what the system must do - a delta, not the main spec)
- design.md (how)
- tasks.md (implementation steps)

`<capability-path>` is the spec directory relative to `specs/` (for example, `user-auth` or `identity/user-auth`). Preserve an existing capability's full path and follow the project's established organization for new capabilities.

When the user is ready to implement, they must start the apply workflow explicitly.

FAQ

What are the commands called in different agents?

The canonical name is /opsx:propose; Cursor and GitHub Copilot use /opsx-propose, Codex uses $openspec-propose. openspec init prints the right form for your tools.

How do I refresh instructions after upgrading?

Run openspec update in each project; it regenerates the skills and slash commands.

Editors’ pick

A skills library that gives coding agents a development process: brainstorming, planning, TDD, subagents and code review

PluginMedium risk286.6K
Editors’ pick

Small composable skills for engineering with agents: plan grilling, TDD, bug diagnosis, code review and architecture

SkillLow risk262K

Reference MCP servers

Model Context Protocol servers

Editors’ pick

Official reference MCP servers: Filesystem, Fetch, Git, Memory, Sequential Thinking, Time and Everything

MCP serverMedium risk90.3K
Editors’ pick

Up-to-date, version-specific library docs and code examples in your agent's context, via MCP or a CLI plus skill

MCP serverMedium risk62K