Creates structured change proposals with specification deltas for new features, breaking changes, or architecture updates. Use when planning features, creating proposals, speccing changes, introducing new capabilities, or starting development workflows. Triggers include "openspec proposal", "create proposal", "plan change", "spec feature", "new capability", "add feature planning", "design spec".
View on GitHubskills/openspec-proposal-creation/SKILL.md
February 1, 2026
Select agents to install to:
npx add-skill https://github.com/forztf/open-skilled-sdd/blob/main/skills/openspec-proposal-creation/SKILL.md -a claude-code --skill openspec-proposal-creationInstallation paths:
.claude/skills/openspec-proposal-creation/# Specification Proposal Creation
Creates comprehensive change proposals following spec-driven development methodology.
## Quick Start
Creating a spec proposal involves three main outputs:
1. **proposal.md** - Why, what, and impact summary
2. **tasks.md** - Numbered implementation checklist
3. **spec-delta.md** - Formal requirement changes (ADDED/MODIFIED/REMOVED)
**Basic workflow**: Generate change ID → scaffold directories → draft proposal → create spec deltas → validate structure
## Workflow
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
```
### Step 1: Review existing specifications
Before creating a proposal, understand the current state:
```bash
# 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/
```
### Step 2: Generate unique change ID
Choose a descriptive, URL-safe identifier:
**Format**: `add-<feature>`, `fix-<issue>`, `update-<component>`, `remove-<feature>`
**Examples**:
- `add-user-authentication`
- `fix-payment-validation`
- `update-api-rate-limits`
- `remove-legacy-endpoints`
**Validation**: Check for conflicts:
```bash
ls spec/changes/ | grep -i "<proposed-id>"
```
### Step 3: Scaffold directory structure
Create the change folder with standard structure:
```bash
# Replace {change-id} with actual ID
mkdir -p spec/changes/{change-id}/specs/{capability-name}
```
**Example**:
```bash
mkdir -p spec/changes/add-user-auth/specs/authentication
```
### Step 4: Draft proposal.md