Files
Maestro/docs/openspec-commands.md
Pedram Amini c4312f4552 MAESTRO: Fix openspec-commands.md documentation inaccuracies
- Added "OpenSpec CLI Commands" section with table of essential commands
  (list, list --specs, show, validate, archive, spec list --long)
- Fixed Stage 1 workflow to document full process including project.md
  review and openspec list commands
- Fixed validation command format to include required change-id parameter
- Added --yes and --skip-specs flags documentation for archive command
- Expanded /openspec.implement description with phase grouping details
- Updated "Viewing & Managing Commands" section to accurately describe UI
- Fixed Spec-Kit directory location from "Project root" to "specs/"
- Changed tips to use "verb-led IDs" terminology per AGENTS.md conventions
- Standardized to em-dashes for consistency with other docs
2026-01-11 05:50:47 -06:00

6.6 KiB
Raw Blame History

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/ specs/ or project root

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:

  1. Reviews openspec/project.md for project conventions
  2. Runs openspec list to see active changes and openspec list --specs for existing capabilities
  3. Scaffolds proposal.md, tasks.md, and optional design.md
  4. Creates spec deltas showing what will be ADDED, MODIFIED, or REMOVED
  5. Validates with openspec validate <change-id> --strict

Creates: A openspec/changes/<change-id>/ directory with:

  • proposal.md — Why and what
  • tasks.md — Implementation checklist
  • specs/<capability>/spec.md — Spec deltas

Stage 2: Apply (/openspec.apply)

Implement the approved proposal:

  1. Reads proposal and tasks
  2. Implements tasks sequentially
  3. Updates task checkboxes as work completes
  4. 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:

  1. Moves changes/<name>/ to changes/archive/YYYY-MM-DD-<name>/
  2. Updates source-of-truth specs if capabilities changed
  3. Validates the archived change with openspec validate --strict

CLI command: openspec archive <change-id> --yes (use --skip-specs for tooling-only changes that don't affect capabilities)

Maestro-Specific Commands

/openspec.implement — Generate Auto Run Documents

Bridges OpenSpec with Maestro's Auto Run:

  1. Reads the proposal and tasks from a change
  2. Converts tasks into Auto Run document format with phases
  3. Saves to Auto Run Docs/ with task checkboxes (filename: OpenSpec-<change-id>-Phase-XX-[Description].md)
  4. Preserves task IDs (T001, T002, etc.) for traceability
  5. Groups related tasks into logical phases (515 tasks each)

/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]

OpenSpec CLI Commands

The OpenSpec CLI provides these essential commands:

Command Purpose
openspec list Display active changes in changes/
openspec list --specs List existing capability specs
openspec show <change-id> View change or spec details
openspec validate <change-id> --strict Comprehensive validation
openspec archive <change-id> --yes Archive after deployment
openspec spec list --long Enumerate all specifications

Viewing & Managing Commands

Access OpenSpec commands via Settings → AI Commands tab. Here you can:

  • View all commands — Click the chevron to expand and see the full prompt
  • Check for Updates — Pull the latest workflow from GitHub
  • Edit prompts — Customize prompts for your workflow
  • Reset to default — Restore modified prompts to bundled version

Commands marked with a Maestro badge are Maestro-specific additions to the upstream workflow.

OpenSpec commands in the AI Commands panel

Auto-Updates

OpenSpec prompts are synced from the Fission-AI/OpenSpec repository:

  1. Open Settings → AI Commands
  2. Click Check for Updates in the OpenSpec section
  3. New workflow improvements are downloaded
  4. 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 verb-led IDsadd-user-auth, update-api-schema, remove-legacy-handler
  • Include scenarios — Every requirement needs at least one #### Scenario: block
  • Check existing work — Run openspec list before creating proposals to avoid conflicts
  • Validate early — Run openspec validate <change-id> --strict before sharing
  • Archive promptly — Archive changes after deployment to keep changes/ clean