| name | do |
| description | End-to-end autonomous task executor. Takes a task description and handles the full lifecycle: research, plan, implement, review with specialist skills, and merge via PR. Use when given a task to execute end-to-end. |
End-to-End Task Executor
Read the full workflow from .claude/commands/do.md and execute it.
Quick Summary
- Research — understand the request, search the codebase, read related docs
- If the user explicitly asks for local subagent critique before implementation, gather bounded local subagent reviews and reconcile them before editing.
- Task file — create in
tasks/backlog/, commit to main
- Worktree — create feature branch and worktree
- Implement — follow checklist, push frequently, run quality checks. For UI changes: run mandatory Playwright visual audit with mock data on mobile + desktop viewports (see
.claude/rules/17-ui-visual-testing.md)
- Validate — full quality suite: lint, typecheck, test, build
- Review — invoke local specialist skills / local subagents ($go-specialist, $cloudflare-specialist, etc.)
- Staging — check for existing staging deploys (wait 5min if active), trigger manual deployment via
gh workflow run deploy-staging.yml --ref <branch>. Use $CF_TOKEN to query D1/KV/DNS directly (see .claude/rules/32-cf-api-debugging.md) to verify migrations, data state, and feature flags — this is faster and more precise than UI-based checks. Then verify changed behavior end-to-end via Playwright. For infrastructure changes (cloud-init, VM agent, DNS, TLS, scripts/deploy): MUST provision a real VM and verify heartbeat arrives.
- PR — create with
gh pr create, wait for CI, merge when green. If the user requested draft PR / do-not-merge, stop at the draft PR and do not merge.
- Cleanup — remove worktree, pull main
⚠️ Anti-Compaction: State File
Long /do runs lose context to compaction. You MUST maintain .do-state.md (gitignored) as external memory. Re-read it before every phase. See .claude/rules/14-do-workflow-persistence.md.