5.4 KiB
title, description, icon
| title | description | icon |
|---|---|---|
| OpenSpec Commands | Spec-driven development workflow for managing code changes with AI-assisted proposal, implementation, and archival. | code-pull-request |
OpenSpec is a spec-driven development tool from Fission-AI/OpenSpec that ensures alignment between humans and AI coding assistants before any code is written. Maestro bundles these workflow commands and keeps them updated automatically.
OpenSpec vs. Spec-Kit
Maestro offers two complementary spec-driven development tools:
| Feature | OpenSpec | Spec-Kit |
|---|---|---|
| Focus | Change management & proposals | Feature specifications |
| Workflow | Proposal → Apply → Archive | Constitution → Specify → Plan → Tasks |
| Best For | Iterative changes, brownfield projects | New features, greenfield development |
| Output | Change proposals with spec deltas | Feature specifications and task lists |
| Directory | openspec/ |
Project root or designated folder |
Use OpenSpec when:
- Making iterative changes to existing features
- You need explicit change proposals before implementation
- Working on brownfield projects with existing specifications
- You want a clear archive of completed changes
Use Spec-Kit when:
- Defining new features from scratch
- Establishing project constitutions and principles
- Creating detailed feature specifications
- Breaking down work into implementation tasks
Both tools integrate with Maestro's Auto Run for autonomous execution.
Core Workflow
OpenSpec follows a three-stage cycle:
Stage 1: Proposal (/openspec.proposal)
Create a change proposal before writing any code:
- Reviews existing specs and active changes
- Scaffolds
proposal.md,tasks.md, and optionaldesign.md - Creates spec deltas showing what will be ADDED, MODIFIED, or REMOVED
- Validates the proposal structure
Creates: A openspec/changes/<change-id>/ directory with:
proposal.md- Why and whattasks.md- Implementation checklistspecs/<capability>/spec.md- Spec deltas
Stage 2: Apply (/openspec.apply)
Implement the approved proposal:
- Reads proposal and tasks
- Implements tasks sequentially
- Updates task checkboxes as work completes
- Ensures approval gate is passed before starting
Tip: Only start implementation after the proposal is reviewed and approved.
Stage 3: Archive (/openspec.archive)
After deployment, archive the completed change:
- Moves
changes/<name>/tochanges/archive/YYYY-MM-DD-<name>/ - Updates source-of-truth specs if capabilities changed
- Validates the archived change
Maestro-Specific Commands
/openspec.implement - Generate Auto Run Documents
Bridges OpenSpec with Maestro's Auto Run:
- Reads the proposal and tasks from a change
- Converts tasks into Auto Run document format
- Saves to
Auto Run Docs/with task checkboxes - Supports worktree mode for parallel execution
/openspec.help - Workflow Overview
Get help with OpenSpec concepts and Maestro integration.
Directory Structure
OpenSpec uses a clear separation between current truth and proposed changes:
openspec/
├── project.md # Project conventions
├── specs/ # Current truth - what IS built
│ └── <capability>/
│ ├── spec.md # Requirements and scenarios
│ └── design.md # Technical patterns
└── changes/ # Proposals - what SHOULD change
├── <change-name>/
│ ├── proposal.md # Why, what, impact
│ ├── tasks.md # Implementation checklist
│ └── specs/ # Spec deltas (ADDED/MODIFIED/REMOVED)
└── archive/ # Completed changes
Spec Delta Format
Changes use explicit operation headers:
## ADDED Requirements
### Requirement: New Feature
The system SHALL provide...
#### Scenario: Success case
- **WHEN** user performs action
- **THEN** expected result
## MODIFIED Requirements
### Requirement: Existing Feature
[Complete updated requirement text]
## REMOVED Requirements
### Requirement: Old Feature
**Reason**: [Why removing]
**Migration**: [How to handle]
Viewing & Managing Commands
Access OpenSpec commands via Settings → AI Commands tab. Here you can:
- View all commands with descriptions
- Check for Updates to pull the latest workflow from GitHub
- Expand commands to see their full prompts
- Customize prompts (modifications are preserved across updates)
Auto-Updates
OpenSpec prompts are synced from the Fission-AI/OpenSpec repository:
- Open Settings → AI Commands
- Click Check for Updates in the OpenSpec section
- New workflow improvements are downloaded
- Your custom modifications are preserved
Tips for Best Results
- Proposal first - Never start implementation without an approved proposal
- Keep changes focused - One logical change per proposal
- Use meaningful IDs -
add-user-authnotchange-1 - Include scenarios - Every requirement needs at least one
#### Scenario: - Validate often - Run
openspec validate --strictbefore sharing - Archive promptly - Archive changes after deployment to keep
changes/clean