v1.0.0

OpenSpec

jcorrego jcorrego ← All skills

Spec-driven development with OpenSpec CLI. Use when building features, migrations, refactors, or any structured development work. Manages proposal → specs → design → tasks → implementation workflows. Supports custom schemas (TDD, rapid, etc.). Trigger on requests involving feature planning, spec writing, change management, or when /opsx commands are mentioned.

Downloads
1.1k
Stars
0
Versions
1
Updated
2026-02-24

Install

npx clawhub@latest install openspec

Documentation

OpenSpec — Spec-Driven Development

OpenSpec structures AI-assisted development into trackable changes with artifacts (proposal, specs, design, tasks) that guide implementation.

Setup

Install globally

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

Initialize in a project

cd /path/to/project

openspec init --tools claude

Update after CLI upgrade

openspec update

Core Workflow

Each change follows: new → plan → apply → verify → archive

1. Start a Change

Create change folder with default schema

openspec new change <name>

With specific schema

openspec new change <name> --schema tdd-driven

2. Plan (Create Artifacts)

Use the CLI instructions command to get enriched prompts for each artifact:

Get instructions for next artifact

openspec instructions --change <name> --json

Check progress

openspec status --change <name> --json

Artifact sequence (spec-driven schema):

1. proposal.md — Why and what (intent, scope, approach)

2. specs/ — Requirements + scenarios (Given/When/Then)

3. design.md — Technical approach and architecture decisions

4. tasks.md — Implementation checklist with checkboxes

3. Implement

Read tasks.md and work through items, marking [x] as complete.

4. Verify

openspec validate --change <name> --json

Checks completeness, correctness, and coherence.

5. Archive

openspec archive <name> --yes

Merges delta specs into main openspec/specs/ and moves change to archive.

Agent Workflow (How to Use as an AI Agent)

When the user asks to build/migrate/refactor something with OpenSpec:

1. Check project state:

   openspec list --json           # Active changes

openspec list --specs --json # Current specs

openspec schemas --json # Available schemas

2. Create the change:

   openspec new change <name> [--schema <schema>]

3. For each artifact, get instructions and create the file:

   openspec instructions <artifact> --change <name> --json

openspec status --change <name> --json

Then write the artifact file to openspec/changes/<name>/.

4. Implement tasks from tasks.md.

5. Validate and archive:

   openspec validate <name> --json

openspec archive <name> --yes

CLI Quick Reference

| Command | Purpose |

|---------|---------|

| openspec list [--specs] [--json] | List changes or specs |

| openspec show <name> [--json] | Show change/spec details |

| openspec status --change <name> [--json] | Artifact completion status |

| openspec instructions [artifact] --change <name> [--json] | Get enriched creation instructions |

| openspec validate [name] [--all] [--json] | Validate changes/specs |

| openspec archive <name> [--yes] | Archive completed change |

| openspec schemas [--json] | List available schemas |

| openspec templates [--json] | Show template paths |

| openspec config | View/modify settings |

Always use --json for programmatic/agent use.

Custom Schemas

Schemas define artifact sequences. Create custom ones for different workflows:

Fork built-in schema

openspec schema fork spec-driven my-workflow

Create from scratch

openspec schema init my-workflow

Validate

openspec schema validate my-workflow

Schema files live in openspec/schemas/<name>/schema.yaml with templates in templates/.

For schema structure details, see [references/schemas.md](references/schemas.md).

Project Structure

project/

├── openspec/

│ ├── config.yaml # Project config (default schema, context, rules)

│ ├── specs/ # Source of truth — current system behavior

│ ├── changes/ # Active changes (one folder each)

│ │ └── <change-name>/

│ │ ├── .openspec.yaml

│ │ ├── proposal.md

│ │ ├── specs/ # Delta specs (what's changing)

│ │ ├── design.md

│ │ └── tasks.md

│ └── schemas/ # Custom schemas

└── .claude/skills/ # Auto-generated Claude integration

Spec Format

Specs use RFC 2119 keywords (SHALL/MUST/SHOULD/MAY) with Given/When/Then scenarios:

Requirement: User Authentication

The system SHALL issue a JWT token upon successful login.

#### Scenario: Valid credentials

  • -GIVEN a user with valid credentials
  • -WHEN the user submits login form
  • -THEN a JWT token is returned

Delta Specs

Changes don't rewrite specs — they describe deltas (ADDED/MODIFIED/REMOVED) that merge into main specs on archive.

Config

openspec/config.yaml sets defaults:
schema: spec-driven      # or tdd-driven, rapid, custom

context: |

Tech stack: TypeScript, React, Node.js

Testing: Jest

rules:

proposal:

- Include rollback plan

specs:

- Use Given/When/Then format

Launch an agent with OpenSpec on Termo.