openspec

Original🇨🇳 Chinese
Translated

Use this when planning new features, starting spec-driven development workflows, or when the user mentions OpenSpec, SDD, or spec-driven development. It also applies when the user asks about feature specifications, change proposals, or wants to organize development workflows.

6installs
Added on

NPX Install

npx skill4agent add seikaikyo/dash-skills openspec

SKILL.md Content (Chinese)

View Translation Comparison →

OpenSpec - Spec-Driven Development

Overview

OpenSpec is a Spec-Driven Development (SDD) framework that allows you to write specifications before writing code, ensuring the correct development direction and reducing rework.

When to Use

  • When planning new features
  • When you need to document feature specifications
  • For change proposal management
  • For team collaborative development
  • When the user mentions "spec", "specification", or "SDD"

Quick Reference

CLI Commands (dash spec)

CommandFunction
dash spec init .
Initialize OpenSpec
dash spec list .
List active changes
dash spec view .
Interactive dashboard
dash spec show . <name>
Show change details
dash spec validate . <name>
Validate specification format
dash spec archive . <name>
Archive completed changes
dash spec status .
Quick status overview

OpenSpec Native Commands

CommandFunction
openspec init
Initialize
openspec list
List changes
openspec view
Interactive dashboard
openspec show <name>
Show details
openspec validate <name>
Validate format
openspec archive <name>
Archive changes

SDD Workflow (5-Step Cycle)

1. SPEC (Specification)
   └── Define feature specifications → openspec/specs/feature-name.md

2. PROPOSE (Proposal)
   └── Create change proposal → openspec/changes/change-name.md

3. IMPLEMENT (Implementation)
   └── Implement code according to specifications

4. VERIFY (Verification)
   └── Confirm implementation meets specifications

5. ARCHIVE (Archiving)
   └── Archive changes after completion → dash spec archive . change-name

File Structure

project/
└── openspec/
    ├── specs/           # Feature specifications
    │   ├── auth.md
    │   └── dashboard.md
    ├── changes/         # Active change proposals
    │   └── add-login-feature.md
    └── archive/         # Archived changes
        └── 2026-01-setup-project.md

Spec File Format

markdown
---
title: User Authentication
status: active
created: 2026-01-17
---

# User Authentication

## Overview
Implement user login/logout functionality.

## Functional Requirements
1. Support Email + Password login
2. Support Google OAuth
3. Remember login status

## API Specifications
- POST /api/auth/login
- POST /api/auth/logout
- GET /api/auth/me

## Related Changes
- [[add-login-feature]]

Change File Format

markdown
---
title: Add Login Feature
type: feature
status: in-progress
spec: auth
created: 2026-01-17
---

# Add Login Feature

## Change Content
Implement Email + Password login functionality.

## Scope of Impact
- `src/auth/` directory
- `src/api/routes/auth.ts`

## Test Plan
1. Unit Tests: Login logic
2. Integration Tests: API endpoints
3. E2E Tests: Login flow

## Checklist
- [ ] Implement login form
- [ ] Implement API endpoints
- [ ] Write tests
- [ ] Update documentation

Best Practices

1. Write Specifications Before Writing Code

  • Specifications are the blueprint for development
  • Reduce rework and misunderstandings
  • Facilitate team communication

2. Keep Specifications Updated

  • Update specifications after implementation
  • Record change history
  • Regularly review outdated specifications

3. Make Good Use of Change Proposals

  • One change per feature
  • Clearly define the scope
  • Archive promptly after completion

4. Integrate with dash-devtools

  • dash validate .
    Automatically validate specifications
  • dash health .
    Show specification health status
  • dash spec status .
    Quick overview

Integration with dash-devtools

Validation Integration

bash
# Automatically detect openspec/ and validate
dash validate .

# Check items:
# - Directory structure integrity
# - Specification file format
# - Outdated change reminders

Health Score

bash
# Show specification health status
dash health .

# Scoring items:
# - Specification coverage rate
# - Change processing rate
# - Format correctness

Installation

bash
# Install OpenSpec CLI
npm install -g @fission-ai/openspec@latest

# Verify installation
openspec --version

# Initialize in project
cd your-project
dash spec init .

Troubleshooting

openspec not installed

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

Incorrect specification format

Ensure each .md file has YAML frontmatter:
markdown
---
title: Specification Title
status: active
---

# Content...

Outdated change warning

Use
dash spec archive . <name>
to archive completed changes.

Related Resources