| name | spec-updater |
| description | Updates specification files with implementation progress - marks phases complete, checks off tasks, adds notes |
| model | claude-haiku-4-5 |
Spec Updater Skill
- Mark phases as complete (update status indicator)
- Check off completed tasks (change
- [ ]to- [x]) - Add implementation notes to phases
This skill enables visible progress tracking in specs and supports the one-phase-per-session model.
Mark a spec phase as complete, in-progress, or not started.
{
"operation": "update-phase-status",
"parameters": {
"spec_path": "/specs/WORK-00262-feature.md",
"phase_id": "phase-1",
"status": "complete"
}
}
Parameters:
spec_path(required): Path to the spec filephase_id(required): Phase identifier (e.g., "phase-1", "Phase 1")status(required): New status - "not_started", "in_progress", or "complete"
Status Mapping:
not_started→⬜ Not Startedin_progress→🔄 In Progresscomplete→✅ Complete
check-task Operation
Check off a completed task in a spec phase.
{
"operation": "check-task",
"parameters": {
"spec_path": "/specs/WORK-00262-feature.md",
"phase_id": "phase-1",
"task_text": "Create SKILL.md with autonomy prompts"
}
}
Parameters:
spec_path(required): Path to the spec filephase_id(required): Phase containing the tasktask_text(required): Partial or full text of the task to check off
Matching:
- Matches task by substring (case-insensitive)
- Changes
- [ ] {task}to- [x] {task} - Only matches unchecked tasks
check-all-tasks Operation
Check off all tasks in a phase at once.
{
"operation": "check-all-tasks",
"parameters": {
"spec_path": "/specs/WORK-00262-feature.md",
"phase_id": "phase-1"
}
}
Parameters:
spec_path(required): Path to the spec filephase_id(required): Phase to mark all tasks complete
add-implementation-notes Operation
Add implementation notes to a phase.
{
"operation": "add-implementation-notes",
"parameters": {
"spec_path": "/specs/WORK-00262-feature.md",
"phase_id": "phase-1",
"notes": [
"Used Opus model for extended thinking support",
"Checkpoint logic integrated with build workflow"
]
}
}
Parameters:
spec_path(required): Path to the spec filephase_id(required): Phase to add notes tonotes(required): Array of note strings to add
Behavior:
- Creates "Implementation Notes" subsection if it doesn't exist
- Appends notes as bullet points
- Does not duplicate existing notes
batch-update Operation
Perform multiple updates in a single operation (for phase completion).
{
"operation": "batch-update",
"parameters": {
"spec_path": "/specs/WORK-00262-feature.md",
"phase_id": "phase-1",
"updates": {
"status": "complete",
"check_all_tasks": true,
"notes": ["Completed in single session"]
}
}
}
Parameters:
spec_path(required): Path to the spec filephase_id(required): Phase to updateupdates(required): Object containing updates to applystatus: New status (optional)check_all_tasks: Boolean to check all tasks (optional)tasks_to_check: Array of task texts to check (optional)notes: Array of notes to add (optional)
Read spec file
SPEC_CONTENT=$(cat "$SPEC_PATH")Find phase section
- Look for
### Phase {N}:or### {phase_id}: - Extract the status line:
**Status**: ...
- Look for
Update status indicator
- Replace current status with new status emoji + text
- Pattern:
**Status**: ⬜ Not Started | 🔄 In Progress | ✅ Complete - Or:
**Status**: {emoji} {status_text}
Write spec file
- Use Edit tool to make the change
- Verify the change was applied
Return confirmation
check-task Workflow
Read spec file
Find phase section
Find matching task
- Search within phase for
- [ ] .*{task_text}.* - Case-insensitive matching
- Search within phase for
Update task checkbox
- Change
- [ ]to- [x]
- Change
Write and confirm
add-implementation-notes Workflow
Read spec file
Find phase section
Check for existing "Implementation Notes" subsection
- Look for
#### Implementation Noteswithin phase
- Look for
If subsection exists: Append notes
- Add each note as
- {note} - Skip duplicates
- Add each note as
If subsection doesn't exist: Create it
- Add after the last content in the phase (before next phase or section)
- Format:
#### Implementation Notes - {note1} - {note2}
Write and confirm
batch-update Workflow
Read spec file once
Apply all updates in order:
- Status update (if specified)
- Check all tasks (if specified)
- Check specific tasks (if specified)
- Add notes (if specified)
Write spec file once
Return summary of all changes
{
"status": "success",
"operation": "update-phase-status",
"message": "Phase status updated",
"details": {
"spec_path": "/specs/WORK-00262-feature.md",
"phase_id": "phase-1",
"old_status": "in_progress",
"new_status": "complete"
}
}
Success Response (check-task)
{
"status": "success",
"operation": "check-task",
"message": "Task checked off",
"details": {
"spec_path": "/specs/WORK-00262-feature.md",
"phase_id": "phase-1",
"task": "Create SKILL.md with autonomy prompts"
}
}
Success Response (batch-update)
{
"status": "success",
"operation": "batch-update",
"message": "Phase updated: status=complete, tasks_checked=4, notes_added=2",
"details": {
"spec_path": "/specs/WORK-00262-feature.md",
"phase_id": "phase-1",
"changes": {
"status_updated": true,
"tasks_checked": 4,
"notes_added": 2
}
}
}
Failure Response
{
"status": "failure",
"operation": "update-phase-status",
"message": "Phase not found in spec",
"details": {
"spec_path": "/specs/WORK-00262-feature.md",
"phase_id": "phase-99"
},
"errors": ["Phase 'phase-99' not found in specification"],
"suggested_fixes": ["Check phase_id matches spec format (e.g., 'Phase 1', 'phase-1')"]
}
check-task complete when:
- Task found in phase
- Checkbox changed from [ ] to [x]
- File written successfully
add-implementation-notes complete when:
- Notes added to phase
- Duplicates avoided
- Proper formatting maintained
Start:
🎯 STARTING: Spec Updater
Operation: update-phase-status
Spec: /specs/WORK-00262-feature.md
Phase: phase-1
───────────────────────────────────────
End:
✅ COMPLETED: Spec Updater
Phase: phase-1 → ✅ Complete
───────────────────────────────────────
Integration Points
Called By:
- Build skill (during phase checkpoint)
- faber-manager (phase transitions)
Reads/Writes:
- Spec files in
/specs/directory
Example Spec Format
The skill expects phases to be formatted like:
### Phase 1: Core Infrastructure
**Status**: ⬜ Not Started
**Objective**: Set up base skill structure
**Tasks**:
- [ ] Create SKILL.md with autonomy prompts
- [ ] Create workflow directory structure
- [ ] Add basic workflow file
**Estimated Scope**: Small (single session)
After batch-update with status=complete, check_all_tasks=true:
### Phase 1: Core Infrastructure
**Status**: ✅ Complete
**Objective**: Set up base skill structure
**Tasks**:
- [x] Create SKILL.md with autonomy prompts
- [x] Create workflow directory structure
- [x] Add basic workflow file
**Estimated Scope**: Small (single session)
#### Implementation Notes
- Completed in single session