implement
Execute all implementation tasks from tasks.md with test-driven development, parallel batching, and atomic commits
mkdir -p ~/.claude/commands && curl -fsSL https://raw.githubusercontent.com/marcusgoll/Spec-Flow/HEAD/.claude/commands/phases/implement.md -o ~/.claude/commands/implement.mdimplement.md
# /implement — Task Execution with TDD
<context>
**User Input**: $ARGUMENTS
**Workflow Detection**: Auto-detected via workspace files, branch pattern, or state.yaml
**Current Branch**: !`git branch --show-current 2>/dev/null || echo "none"`
**Feature Directory**: !`python .spec-flow/scripts/spec-cli.py check-prereqs --json --paths-only 2>/dev/null | jq -r '.FEATURE_DIR'`
**Pending Tasks**: Auto-detected from ${BASE_DIR}/\*/tasks.md
**Completed Tasks**: Auto-detected from ${BASE_DIR}/\*/tasks.md
**Git Status**: !`git status --short 2>/dev/null || echo "clean"`
**Mockup Approval Status** (if UI-first): Auto-detected from ${BASE_DIR}/\*/state.yaml
**Implementation Artifacts** (after script execution):
- @${BASE_DIR}/\*/tasks.md (updated with completed tasks)
- @${BASE_DIR}/\*/CLAUDE.md (living documentation)
- @design/systems/ui-inventory.md (if UI components created)
- @design/systems/approved-patterns.md (if patterns extracted)
</context>
<objective>
Execute all tasks from ${BASE_DIR}/$ARGUMENTS/tasks.md with parallel batching, strict TDD phases, auto-rollback on failure, and atomic commits.
Implementation workflow:
1. Parse and group tasks from tasks.md by domain and TDD phase
2. Execute tasks directly using specialist agents (backend-dev, frontend-dev, etc.)
3. Track completion via tasks.md checkbox and NOTES.md updates
4. Update living documentation (UI inventory, approved patterns)
5. Run full test suite verification
6. Present results with next action recommendation
**Key principles**:
- **Test-Driven Development**: Red (failing test) → Green (passing) → Refactor (improve)
- **Parallel execution**: Group independent tasks by domain, speedup bounded by dependencies
- **Anti-duplication**: Use mgrep for semantic search before creating new implementations
- **Pattern following**: Apply plan.md recommended patterns consistently
- **Atomic commits**: One commit per task with descriptive message
**Workflow position**: `spec → clarify → plan → tasks → implement → optimize → preview → ship`
</objective>
## Anti-Hallucination Rules
**CRITICAL**: Follow these rules to prevent implementation errors.
1. **Never speculate about code you have not read**
- Always Read files before referencing them
- Verify file existence with Glob before importing
2. **Cite your sources with file paths**
- Include exact location: `file_path:line_number`
- Quote code snippets when analyzing
3. **Admit uncertainty explicitly**
- Say "I'm uncertain about [X]. Let me investigate by reading [file]" instead of guessing
- Use Grep to find existing import patterns before assuming
4. **Quote before analyzing long documents**
- For specs >5000 tokens, extract relevant quotes first
- Don't paraphrase - show verbatim text with line numbers
5. **Verify file existence before importing/referencing**
- Use Glob to find files: `**/*.ts`, `**/*.tsx`
- Use Grep to find existing patterns: `import.*Component`
6. **Anti-duplication with semantic search**
- Use mgrep FIRST to find similar implementations by meaning
- Example: `mgrep "components that display user profiles"` finds ProfileCard, UserView, AccountInfo
- Only create new code if no suitable existing code is found
**Why**: Hallucinated code references cause compile errors, broken imports, and failed tests. Reading files before referencing prevents 60-70% of implementation errors.
---
## Reasoning Template
Use this template when making implementation decisions:
```text
<thinking>
1) What does the task require? [Quote acceptance criteria]
2) What existing code can I reuse? [Cite file:line]
3) What patterns does plan.md recommend? [Quote]
4) What are the trade-offs? [List pros/cons]
5) Conclusion: [Decision with justification]
</thinking>
<answer>
[Implementation approach based on reasoning]
</answer>
```
**Use for**: Choosing implementation approaches, reuse decisions, debugging multi-step failures, prioritizing task order.
---
## Workflow Tracking
Use TodoWrite to track batch **group** execution progress (parallel execution model).
**Initialize todos** (dynamically based on number of batch groups):
```javascript
// Calculate groups: Math.ceil(batches.length / 3)
// Example with 9 batches → 3 groups of 3
TodoWrite({
todos: [
{
content: "Validate preflight checks",
status: "completed",
activeForm: "Preflight",
},
{
content: "Parse tasks and detect batches",
status: "completed",
activeForm: "Parsing tasks",
},
{
content: "Execute batch group 1 (tasks 1-3)",
status: "in_progress",
activeForm: "Executing batch group 1",
},
{
content: "Execute batch group 2 (tasks 4-6)",
status: "pending",
activeForm: "Executing batch group 2",
},
{
content: "Execute batch group 3 (tasks 7-9)",
status: "pending",
activeForm: "Executing batch group 3",
},
{
content: "Run full test suite and commit",
status: "pending",
activeForm: "Wrapping up",
},
],
});
```
**Update after each batch group completes** (mark completed, move in_progress forward).
---
<process>
### Step 0: WORKFLOW DETECTION
**Detect workflow using centralized skill** (see `.claude/skills/workflow-detection/SKILL.md`):
1. Run detection: `bash .spec-flow/scripts/utils/detect-workflow-paths.sh`
2. Parse JSON: Extract `type`, `base_dir`, `slug` from output
3. If detection fails: Use AskUserQuestion fallback
4. Set paths:
- `TASKS_FILE="${BASE_DIR}/${SLUG}/tasks.md"`
- `WORKFLOW_STATE="${BASE_DIR}/${SLUG}/state.yaml"`
---
### Step 0.1: DRY-RUN MODE DETECTION
**Check for --dry-run flag** (see `.claude/skills/dry-run/SKILL.md`):
```bash
DRY_RUN="false"
if [[ "$ARGUMENTS" == *"--dry-run"* ]]; then
DRY_RUN="true"
ARGUMENTS=$(echo "$ARGUMENTS" | sed 's/--dry-run//g' | xargs)
echo "DRY-RUN MODE ENABLED"
fi
```
**If DRY_RUN is true:**
1. Read tasks.md to count pending/completed tasks
2. RExecute multiple sprints in parallel based on dependency graph from sprint-plan.md
Build and validate locally for projects without remote deployment (prototypes, experiments, local-only dev)
Execute multi-sprint epic workflow from interactive scoping through deployment with parallel sprint execution and self-improvement
Execute feature development workflow from specification through production deployment with automated quality gates
Analyze workflow state and provide context-aware guidance with visual progress indicators and recommended next steps
Initialize project documentation, preferences, or design tokens
Implement small bug fixes and features (<100 LOC) without full workflow. Use for single-file changes, bug fixes, refactors, and minor enhancements that can be completed in under 30 minutes.
Enter deep craftsman mode - question everything, plan like Da Vinci, craft insanely great solutions, then materialize to roadmap