Creates structured change proposals with specification deltas for new features, breaking changes, or architecture updates...
Creates comprehensive change proposals following spec-driven development methodology.
Creating a spec proposal involves three main outputs:
Basic workflow: Generate change ID → scaffold directories → draft proposal → create spec deltas → validate structure
Copy this checklist and track progress:
Proposal Progress:
- [ ] Step 1: Review existing specifications
- [ ] Step 2: Generate unique change ID
- [ ] Step 3: Scaffold directory structure
- [ ] Step 4: Draft proposal.md (Why/What/Impact)
- [ ] Step 5: Create tasks.md implementation checklist
- [ ] Step 6: Write spec deltas with EARS format
- [ ] Step 7: Validate proposal structure
- [ ] Step 8: Present for user approval
Before creating a proposal, understand the current state:
# List all existing specs
find spec/specs -name "spec.md" -type f
# List active changes to avoid conflicts
find spec/changes -maxdepth 1 -type d -not -path "*/archive"
# Search for related requirements
grep -r "### Requirement:" spec/specs/
Choose a descriptive, URL-safe identifier:
Format: add-<feature>, fix-<issue>, update-<component>, remove-<feature>
Examples:
add-user-authenticationfix-payment-validationupdate-api-rate-limitsremove-legacy-endpointsValidation: Check for conflicts:
ls spec/changes/ | grep -i "<proposed-id>"
Create the change folder with standard structure:
# Replace {change-id} with actual ID
mkdir -p spec/changes/{change-id}/specs/{capability-name}
Example:
mkdir -p spec/changes/add-user-auth/specs/authentication
Use the template at templates/proposal.md as starting point.
Required sections:
Tone: Clear, concise, decision-focused. Avoid unnecessary background.
Break implementation into concrete, testable tasks. Use the template at templates/tasks.md.
Format:
# Implementation Tasks
1. [First concrete task]
2. [Second concrete task]
3. [Test task]
4. [Documentation task]
Best practices:
This is the most critical step. Spec deltas use EARS format (Easy Approach to Requirements Syntax).
For complete EARS guidelines, see reference/EARS_FORMAT.md
Delta operations:
## ADDED Requirements - New capabilities## MODIFIED Requirements - Changed behavior (include full updated text)## REMOVED Requirements - Deprecated featuresBasic requirement structure:
## ADDED Requirements
### Requirement: User Login
WHEN a user submits valid credentials,
the system SHALL authenticate the user and create a session.
#### Scenario: Successful Login
GIVEN a user with email "user@example.com" and password "correct123"
WHEN the user submits the login form
THEN the system creates an authenticated session
AND redirects to the dashboard
For validation patterns, see reference/VALIDATION_PATTERNS.md
Run these checks before presenting to user:
Structure Checklist:
- [ ] Directory exists: `spec/changes/{change-id}/`
- [ ] proposal.md has Why/What/Impact sections
- [ ] tasks.md has numbered task list (5-15 items)
- [ ] Spec deltas have operation headers (ADDED/MODIFIED/REMOVED)
- [ ] Requirements follow `### Requirement: <name>` format
- [ ] Scenarios use `#### Scenario:` format (4 hashtags)
Automated checks:
# Count delta operations (should be > 0)
grep -c "## ADDED\|MODIFIED\|REMOVED" spec/changes/{change-id}/specs/**/*.md
# Verify scenario format (should show line numbers)
grep -n "#### Scenario:" spec/changes/{change-id}/specs/**/*.md
# Check requirement headers
grep -n "### Requirement:" spec/changes/{change-id}/specs/**/*.md
Summarize the proposal clearly:
## Proposal Summary
**Change ID**: {change-id}
**Scope**: {brief description}
**Files created**:
- spec/changes/{change-id}/proposal.md
- spec/changes/{change-id}/tasks.md
- spec/changes/{change-id}/specs/{capability}/spec-delta.md
**Next steps**:
Review the proposal. If approved, say "openspec implement" or "apply the change" to begin implementation.
EARS format details: See reference/EARS_FORMAT.md Validation patterns: See reference/VALIDATION_PATTERNS.md Complete examples: See reference/EXAMPLES.md
When adding net-new capability:
ADDED Requirements deltaWhen changing existing behavior:
MODIFIED Requirements deltaWhen removing features:
REMOVED Requirements deltaDon't:
Do:
All templates are in the templates/ directory:
Token budget: This SKILL.md is approximately 450 lines, under the 500-line recommended limit. Reference files load only when needed for progressive disclosure.