Loading...
Loading...
Execute and implement approved specification proposals in sequence with testing and verification as the priority. It is used for implementing changes, applying proposals, executing specification tasks, or building according to approved plans. Trigger words include "openspec development", "development", "implementation", "implement proposal", "apply change", "execute specification", "complete tasks in order", "build feature", "start implementation"
npx skill4agent add forztf/open-skilled-sdd openspec-implementation-cnDevelopment Progress:
- [ ] Step 1: Load and understand the proposal
- [ ] Step 2: Set up TodoWrite task tracking
- [ ] Step 3: Execute tasks in sequence
- [ ] Step 4: Test and verify each task
- [ ] Step 5: Update permanent specifications (if applicable)
- [ ] Step 6: Mark proposal as implemented# Read proposal
cat spec/changes/{change-id}/proposal.md
# Read all tasks
cat spec/changes/{change-id}/tasks.json
# Read specification differences to understand requirements
find spec/changes/{change-id}/specs -name "*.md" -exec cat {} \;**Pattern**:
Read tasks.json → Extract task and step list → Create TodoWrite entries
**Example**:
Assume tasks.json contains:
{
"number": 1,
"category": "Phase 1: Infrastructure",
"task": "Environment setup task - database schema, dependencies, etc.",
"steps": [
{ "step": "Initialize Git repository and configure .gitignore", "completed": false },
{ "step": "Create and activate Python virtual environment", "completed": false },
{ "step": "Create requirements.txt or pyproject.toml and install dependencies (FastAPI, SQLAlchemy, Pydantic, Alembic, etc.)", "completed": false },
{ "step": "Design initial database ER diagram", "completed": false }
],
"passes": false
}
Then create TodoWrite entries:
- content: "Environment setup task - database schema, dependencies, etc.", status: "in_progress"
- content: " Initialize Git repository and configure .gitignore", status: "pending"
- content: " Create and activate Python virtual environment", status: "pending"
- content: " Create requirements.txt or pyproject.toml and install dependencies (FastAPI, SQLAlchemy, Pydantic, Alembic, etc.)", status: "pending"
- content: " Design initial database ER diagram", status: "pending"For each task:
1. Mark as "in_progress" in TodoWrite
2. Perform the work
3. Test the result
4. Only mark the corresponding step in tasks.json as "completed": true after verification passes
5. Only mark the corresponding task in tasks.json as "passes": true after all steps of the task are completed and verified
6. Mark as "completed" in TodoWrite
You have ample time to complete, never skip or merge multiple tasks.## Task: {Task Description}
**What**: The role and goal of this task
**Implementation**:
Code changes, file edits, commands run
**Verification**:
How to verify task completion
- [ ] Code compiles/runs
- [ ] Tests pass
- [ ] Meets requirement scenarios
**Status**: ✓ Completed / ✗ Blocked / ⚠ Partially Completed# Run relevant tests
npm test # or pytest, cargo test, etc.
# Run Linter
npm run lint
# Type checking (if applicable)
npm run type-check# Verify migration execution
npm run db:migrate
# Check if schema matches expectations
npm run db:schema# Manually test endpoint
curl -X POST http://localhost:3000/api/endpoint \
-H "Content-Type: application/json" \
-d '{"test": "data"}'
# Or run integration tests
npm run test:integration# Create completion marker
echo "Implementation completed: $(date)" > spec/changes/{change-id}/IMPLEMENTED## Proposal Implementation
**Proposal**: {change-id}
**Tasks Completed**: {count}
**Tests Completed**: All passed
**Next Step**: Archive this change to merge specification differences into permanent documents.
When ready, you can reply with "openspec archive {change-id}" or "archive proposal".**Mark as Blocked**:
- Keep status as "in_progress" (do not mark as "completed")
- Clearly record the reason for blocking
- Create a new task to resolve the block
- Inform the user immediately
**Example**:
Task: "Implement payment processing"
Blocked: "Missing payment gateway API credentials"
Action: Create new task "Obtain payment gateway credentials"# Example: Database migration must come before API code
# Check migration status
npm run db:status
# Proceed with API task only after migration succeedsTask 1: Create model → Test model → Mark as completed
Task 2: Create API → Test API → Mark as completed
Task 3: Add validation → Test validation → Mark as completed
Task 4: Create page → Test validation → Mark as completedTasks 1,2,3,4 → Implement all → Test all at once → Debug failuresWhen adding a new API endpoint, simultaneously:
- Update API documentation
- Add request/response examples
- Update OpenAPI/Swagger specification
- Add inline code comments1. Do not mark task as completed
2. Debug the cause of failure
3. Fix code
4. Re-run tests
5. Mark as completed only after passing1. Split into subtasks
2. Register subtasks in TodoWrite
3. Complete subtasks in order
4. Mark parent task as completed only after all subtasks are done1. Pause current task
2. Complete dependent tasks first
3. Test dependencies
4. Resume original task