Implements tasks from .plans/ directories by following implementation guidance, writing code and tests, and updating task status...
Given task file path .plans/<project>/implementation/NNN-task.md:
Before starting implementation, check for .plans/<project>/critical-patterns.md:
Use TodoWrite to track implementation progress:
ā Read task file (LLM Prompt, Working Result, Validation)
ā [LLM Prompt step 1]
ā [LLM Prompt step 2]
...
ā Write tests for new functionality
ā Run full test suite
ā Mark validation checkboxes
ā Update status to READY_FOR_TESTING
Convert each step from the task's LLM Prompt into a todo. Mark completed as you progress.
**Status:** READY_FOR_TESTING**Status:** READY_FOR_REVIEW (skip testing, go back to review)**implementation:**
- Followed LLM Prompt steps 1-N
- Implemented [key functionality]
- Added [N] tests: all passing
- Full test suite: [M]/[M] passing
- Working Result verified: ā [description]
- Files: [list with brief descriptions]
[ ] ā [x] using Edit toolWhen blocked during implementation:
**Status:** [current status]**Status:** STUCK**implementation:**
- Attempted [what tried]
- BLOCKED: [specific issue]
- Launching research agents to investigate...
Launch 2-3 researcher agents in parallel, each in a mode matching the blocker:
Example:
Task(description: "Survey [technology]", prompt: "Mode: survey. How to [solve blocker]?", subagent_type: "experimental:research:researcher")
Task(description: "Official docs for [feature]", prompt: "Mode: official-docs. [library] documentation for [feature]", subagent_type: "experimental:research:researcher")
Use research-synthesis skill (from essentials) to:
Update task file with research findings using Edit tool (add to end of task file):
**research findings:**
- [Agent 1]: [key insights]
- [Agent 2]: [key insights]
- [Agent 3]: [key insights]
**resolution:**
[Concrete path forward based on research]
If unblocked:
IN_PROGRESSTask(
description: "Capture learning from blocker resolution",
prompt: "Extract the learning from this resolved blocker.
Problem context:
- STUCK notes: [from task file]
- Research findings: [from task file]
Resolution:
- What worked: [resolution notes]
- Task: [task file path]
Save under: .plans/<project>/learnings/",
subagent_type: "experimental:capture:knowledge-capturer"
)
If still stuck after research:
STUCK**escalation:**
- Research completed but blocker remains
- Reason: [why research didn't unblock]
- Need: [what's needed - human decision, missing requirement, etc.]
If task moved back from review (check for **review:** notes in task file):
READY_FOR_REVIEW (go back to review, skip testing)**implementation (revision):**
- Fixed [issue 1]
- Fixed [issue 2]
- Re-ran tests: [M]/[M] passing
If task moved back from testing (check for **testing:** notes with NEEDS_FIX):
READY_FOR_TESTING (go back to testing)**implementation (test fix):**
- Fixed [test issue]
- Re-ran tests: [M]/[M] passing
When implementation is complete:
READY_FOR_TESTINGREADY_FOR_REVIEWREADY_FOR_TESTINGBefore setting final status, collect metadata for review triage:
**implementation_metadata:**
- files_changed: [count from git diff --stat]
- lines_changed: [insertions + deletions from git diff --stat]
- was_stuck: [true/false - was task ever marked STUCK?]
- research_agents_used: [list agents invoked, or 'none']
- severity_indicators: [list any detected: auth, crypto, payment, database-migration, etc.]
- complexity_indicators: [list any detected: state-machine, external-api, async-patterns, etc.]
Detection rules for severity_indicators:
auth, login, password, session, token, jwt, crypto, encrypt, secret, payment, billing, migration, permission, api_keyDetection rules for complexity_indicators:
This metadata enables the review skill to route to LIGHTWEIGHT or FULL review.
Report: ā
Implementation complete. Status: [STATUS]