Implements approved specification proposals by working through tasks sequentially with testing and validation. Use when implementing changes, applying proposals, executing spec tasks, or building from approved plans. Triggers include "openspec implement", "implement", "apply change", "execute spec", "work through tasks", "build feature", "start implementation".
View on GitHubskills/openspec-implementation/SKILL.md
February 1, 2026
Select agents to install to:
npx add-skill https://github.com/forztf/open-skilled-sdd/blob/main/skills/openspec-implementation/SKILL.md -a claude-code --skill openspec-implementationInstallation paths:
.claude/skills/openspec-implementation/# Specification Implementation
Systematically implements approved spec proposals by executing tasks sequentially with proper testing and validation.
## Quick Start
Implementation follows a read → execute → test → validate cycle for each task:
1. Read the full proposal and task list
2. Execute tasks one at a time, in order
3. Test each completed task
4. Mark complete only after verification
**Critical rule**: Use TodoWrite to track progress. Never skip tasks or mark incomplete work as done.
## Workflow
Copy this checklist and track progress:
```
Implementation Progress:
- [ ] Step 1: Load and understand the proposal
- [ ] Step 2: Set up TodoWrite task tracking
- [ ] Step 3: Execute tasks sequentially
- [ ] Step 4: Test and validate each task
- [ ] Step 5: Update living specifications (if applicable)
- [ ] Step 6: Mark proposal as implementation-complete
```
### Step 1: Load and understand the proposal
Before starting, read all context:
```bash
# Read the proposal
cat spec/changes/{change-id}/proposal.md
# Read all tasks
cat spec/changes/{change-id}/tasks.md
# Read spec deltas to understand requirements
find spec/changes/{change-id}/specs -name "*.md" -exec cat {} \;
```
**Understand**:
- Why this change is needed (from proposal.md)
- What the expected outcomes are
- Which specs will be affected
- What the acceptance criteria are (from scenarios)
### Step 2: Set up TodoWrite task tracking
Load tasks from tasks.md into TodoWrite **before starting work**:
```markdown
**Pattern**:
Read tasks.md → Extract numbered list → Create TodoWrite entries
**Example**:
If tasks.md contains:
1. Create database migration
2. Implement API endpoint
3. Add tests
4. Update documentation
Then create TodoWrite with:
- content: "Create database migration", status: "in_progress"
- content: "Implement API endpoint", status: "pending"
- content: "Add tests", status: "pending"
- content: "Update documentation", status: "pending"
```
**Why this matters**: TodoWrite gives the us