Code
⚡⚡⚡ Start coding & testing an existing plan
---
description: ⚡⚡⚡ Start coding & testing an existing plan
argument-hint: [plan] [--model claude|gemini|auto]
---
## Arguments Parser
Parse $ARGUMENTS to extract:
- `$PLAN`: Plan file path or name (default: auto-detect latest)
- `$MODEL`: Execution model (default: `auto`)
- Extract from flags: `--model=<value>` or `--model <value>`
- Valid values: `claude`, `gemini`, `auto`
- If not specified, use `auto` (auto-select based on task type)
**Example inputs:**
- `/code` → plan=auto, model=auto
- `/code plan-auth` → plan=plan-auth, model=auto
- `/code --model gemini` → plan=auto, model=gemini
- `/code plan-auth --model claude` → plan=plan-auth, model=claude
---
## Model Selection Logic
**If $MODEL is `auto`:**
- Analyze plan content to determine complexity
- **Use Claude**: For implementation tasks with precise file editing, complex refactoring, strict type systems
- **Use Gemini**: For large codebase analysis (2M context), research-heavy tasks, visual/multimodal needs
- Default: `claude` for most implementation tasks
**If $MODEL is `claude`:**
- Execute with Claude Code subagents (current behavior)
- Precise editing tools, structured workflow, subagent orchestration
**If $MODEL is `gemini`:**
- Delegate to Gemini CLI via `.claude/scripts/ai-delegate.sh`
- Large context window, fast analysis, good for exploration
**Output model selection:** `🤖 Model: [claude|gemini] (Reason: [auto-selected|user-specified])`
---
**MUST READ** `CLAUDE.md` then **THINK HARDER** to start working on the following plan follow the Orchestration Protocol, Core Responsibilities, Subagents Team and Development Rules:
<plan>$PLAN</plan>
---
---
## Execution Router
**IF $MODEL is `gemini`:**
Execute using Gemini CLI delegation:
```bash
./.claude/scripts/ai-delegate.sh implement \
"Implement plan: $PLAN following workflow steps 0-6" \
--model gemini \
--context "$PLAN" \
--output "plans/reports/gemini-implementation-$(date +%Y%m%d-%H%M%S).md"
After Gemini completes:
- Review output report
- Verify implementation against plan
- Ask user if they want to continue with testing/review steps using Claude subagents
- STOP - Do not proceed with Claude workflow below
IF $MODEL is claude (or auto-selected as claude):
Proceed with Claude Code workflow below (Steps 0-6).
Role Responsibilities
- You are a senior software engineer who must study the provided implementation plan end-to-end before writing code.
- Validate the plan's assumptions, surface blockers, and confirm priorities with the user prior to execution.
- Drive the implementation from start to finish, reporting progress and adjusting the plan responsibly while honoring YAGNI, KISS, and DRY principles.
IMPORTANT: Remind these rules with subagents communication:
- Sacrifice grammar for the sake of concision when writing reports.
- In reports, list any unresolved questions at the end, if any.
- Ensure token efficiency while maintaining high quality.
Step 0: Plan Detection & Phase Selection
If $ARGUMENTS is empty:
- Find latest
plan.mdin./plans|find ./plans -name "plan.md" -type f -exec stat -f "%m %N" {} \; 2>/dev/null | sort -rn | head -1 | cut -d' ' -f2- - Parse plan for phases and status, auto-select next incomplete (prefer IN_PROGRESS or earliest Planned)
If $ARGUMENTS provided: Use that plan and detect which phase to work on (auto-detect or use argument like "phase-2").
Output: ✓ Step 0: [Plan Name] - [Phase Name]
Subagent Pattern (use throughout):
Task(subagent_type="[type]", prompt="[task description]", description="[brief]")
Workflow Sequence
Rules: Follow steps 1-6 in order. Each step requires output marker starting with "✓ Step N:". Mark each complete in TodoWrite before proceeding. Do not skip steps.
Step 1: Analysis & Task Extraction
Read plan file completely. Map dependencies between tasks. List ambiguities or blockers. Identify required skills/tools and activate from catalog. Parse phase file and extract actionable tasks.
TodoWrite Initialization & Task Extraction:
- Initialize TodoWrite with
Step 0: [Plan Name] - [Phase Name]and all command steps (Step 1 through Step 6) - Read phase file (e.g., phase-01-preparation.md)
- Look for tasks/steps/phases/sections/numbered/bulleted lists
- MUST convert to TodoWrite tasks:
- Phase Implementation tasks → Step 2.X (Step 2.1, Step 2.2, etc.)
- Phase Testing tasks → Step 3.X (Step 3.1, Step 3.2, etc.)
- Phase Code Review tasks → Step 4.X (Step 4.1, Step 4.2, etc.)
- Ensure each task has UNIQUE name (increment X for each task)
- Add tasks to TodoWrite after their corresponding command step
Output: ✓ Step 1: Found [N] tasks across [M] phases - Ambiguities: [list or "none"]
Mark Step 1 complete in TodoWrite, mark Step 2 in_progress.
Step 2: Implementation
Implement selected plan phase step-by-step following extracted tasks (Step 2.1, Step 2.2, etc.). Mark tasks complete as done. For UI work, activate shadcn-ui-designing skill: "Implement [feature] UI following shadcn/ui principles and ./docs/design-guidelines.md". Use ai-multimodal skill for image assets, imagemagick for editing. Run type checking and compile to verify no syntax errors.
Output: ✓ Step 2: Implemented [N] files - [X/Y] tasks complete, compilation passed
Mark Step 2 complete in TodoWrite, mark Step 3 in_progress.
Step 3: Testing
Write tests covering happy path, edge cases, and error cases. Call tester subagent: "Run test suite for plan phase [phase-name]". If ANY tests fail: STOP, call debugger subagent: "Analyze failures: [details]", fix all issues, re-run tester. Repeat until 100% pass.
Testing standards: Unit tests may use mocks for external dependencies (APIs, DB). Integration tests use test environment. E2E tests use real but isolated data. Forbidden: commenting out tests, changing assertions to pass, TODO/FIXME to defer fixes.
Maintain Code?
Let people know it's listed here — add the badge (live metrics, light/dark aware) or a plain link to your README or docs.
[Code on getagentictools](https://getagentictools.com/loops/thieenjdev03-code?ref=badge) npx agentictools info loops/thieenjdev03-code The second line is the CLI lookup for this page — handy in READMEs and docs.