
Openspec Implementation
Execute an approved OpenSpec change proposal task-by-task with TodoWrite tracking, tests, and validation.
Overview
Openspec-implementation is an agent skill most often used in Build (also Ship testing) that executes approved OpenSpec task lists sequentially with verification.
Install
npx skills add https://github.com/forztf/open-skilled-sdd --skill openspec-implementationWhat is this skill?
- Six-step workflow: load proposal → TodoWrite → sequential execute → test per task → update living specs → mark complete
- Read → execute → test → validate cycle; never mark tasks done without verification
- Loads proposal.md and tasks.md from spec/changes/{change-id}/
- Critical rule: TodoWrite progress tracking; no skipped or falsely completed tasks
- Triggers on openspec implement, apply change, execute spec, and build feature from approved plans
- 6-step implementation workflow
Adoption & trust: 907 installs on skills.sh; 9 GitHub stars; 3/3 security scanners passed (skills.sh audits).
What problem does it solve?
You have an approved spec and tasks file but the agent implements ad hoc, skips steps, or marks work done without tests.
Who is it for?
Indie teams on open-skilled-sdd/OpenSpec repos who already have proposal.md and tasks.md approved.
Skip if: Brainstorming or writing proposals from scratch—or shipping without any spec/changes/{change-id} layout.
When should I use this skill?
Implementing changes, applying proposals, executing spec tasks, or triggers like openspec implement, implement, apply change, execute spec, work through tasks, build feature.
What do I get? / Deliverables
Each task is implemented, tested, and validated in order with TodoWrite state and the change marked implementation-complete when specs are updated.
- Completed task checklist
- Test-validated implementation
- Updated living specifications when applicable
Recommended Skills
Journey fit
Spans multiple journey phases - primary shelf plus alternate fits below.
Canonical shelf is Build PM because implementation starts from approved spec tasks in spec/changes. PM subphase covers turning written plans and task lists into shipped increments with traceability.
Where it fits
Load spec/changes/{change-id}/tasks.md and implement feature slices in listed order.
Apply API changes from the proposal while keeping TodoWrite aligned to each backend task.
Run tests after every task before checking it off in the implementation progress list.
Validate the full change against the proposal acceptance criteria before marking implementation-complete.
How it compares
Spec execution workflow with TodoWrite gates, not a one-shot codegen or OpenSpec proposal authoring skill.
Common Questions / FAQ
Who is openspec-implementation for?
Solo builders and tiny teams using OpenSpec-style change folders who need reliable, test-backed implementation from approved tasks.
When should I use openspec-implementation?
In Build when you say openspec implement, apply change, or execute spec—and in Ship when validating each task before marking it complete.
Is openspec-implementation safe to install?
Use the Security Audits panel on this Prism page; the skill instructs file reads, tests, and git-adjacent edits in your repo.
SKILL.md
READMESKILL.md - 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 user visibility into progress and ensures nothing gets skipped. ### Step 3: Execute tasks sequentially Work through tasks **one at a time, in order**: ```markdown For each task: 1. Mark as "in_progress" in TodoWrite 2. Execute the work 3. Test the work 4. Only mark "completed" after verification NEVER skip ahead or batch multiple tasks before testing. ``` **Task execution pattern**: ```markdown ## Task: {Task Description} **What**: [Brief explanation of what this task does] **Implementation**: [Code changes, file edits, commands run] **Verification**: [How to verify this task is complete] - [ ] Code compiles/runs - [ ] Tests pass - [ ] Meets requirement scenarios **Status**: ✓ Complete / ✗ Blocked / ⚠ Partial ``` ### Step 4: Test and validate each task After each task, verify it works: **For code tasks**: ```bash # Run relevant tests npm test # or pytest, cargo test, etc. # Run linter npm run lint # Check types (if applicable) npm run type-check ``` **For database tasks**: ```bash # Verify migration runs npm run db:migrate # Check schema matches expected npm run db:schema ``` **For API tasks**: ```bash # Test endpoint manually curl -X POST http://localhost:3000/api/endpoint \ -H "Content-Type: application/json" \ -d '{"test": "data"}' # Or run integration tests npm run test:integration ``` **Only mark task complete after all verifications pass**. ### Step 5: Update living specifications (if applicable) **During implementation**, if you discover the spec deltas need updates: 1. **Document the discovery** in proposal.md or a notes file