Skip to content
Development
Agent

todowrite-integration

**Scope**: TodoWrite patterns for multi-agent coordination — task structure, dependencies, and completion verification. **Version range**: Claude Code TodoWrite system (all versions) **Generated**: 2026-04-09

From plugin
vexjoy-agent
449198 skills198 agents12 commands83 hooks

Claude Code

$ npx -y skills add notque/vexjoy-agent --agent claude-code

Agent definition

todowrite-integration.md

TodoWrite Integration Reference

> **Scope**: TodoWrite patterns for multi-agent coordination — task structure, dependencies, and completion verification. > **Version range**: Claude Code TodoWrite system (all versions) > **Generated**: 2026-04-09

---

Overview

TodoWrite tracks agent task ownership, dependencies, and completion. Keep TodoWrite synchronized with STATUS.md and PROGRESS.md — a task marked `completed` in TodoWrite but not in STATUS.md creates phantom progress.

---

Pattern Table

| State | TodoWrite Status | STATUS.md Entry | Trigger | |-------|-----------------|-----------------|---------| | Task not started | `pending` | Not listed | Initial setup | | Agent assigned | `in_progress` | Active with attempt count | On dispatch | | Agent completed | `completed` | Phase marked done | On verified success | | Agent blocked | `in_progress` | Blocked section | After 3/3 FAILED + BLOCKERS.md | | Task cancelled | Remove from list | Update phase status | After root cause changes strategy |

---

Correct Patterns

Agent Assignment with Dependencies

Structure each task with explicit `blockedBy` when it depends on prior output.

Task: "Phase 1: Generate database schema"
  id: phase-1-schema
  status: in_progress
  assigned: database-engineer
  output: schema.sql

Task: "Phase 2: ORM models"
  id: phase-2-models
  status: pending
  blockedBy: phase-1-schema
  assigned: python-general-engineer
  output: src/models/*.py

Task: "Phase 3: API endpoints"
  id: phase-3-api
  status: pending
  blockedBy: phase-2-models
  assigned: nodejs-api-engineer
  output: src/routes/*.js

Task: "Phase 4: Integration tests"
  id: phase-4-tests
  status: pending
  blockedBy: phase-3-api
  assigned: nodejs-api-engineer, python-general-engineer (parallel)
  output: tests/integration/*

---

Completion Verification Before Status Update

Never mark `completed` based on agent claim alone — verify with success criteria first.

Verification sequence:
1. Agent reports: "Phase 1 complete, schema.sql created"
2. VERIFY: ls -la schema.sql  (file must exist)
3. VERIFY: python3 -c "import json; open('schema.sql')"
4. VERIFY: SUCCESS CRITERIA from HANDOFF.md all pass
5. ONLY THEN: Update TodoWrite to completed
6. THEN: Update STATUS.md
7. THEN: Update PROGRESS.md if context >70%

---

Parallel Task Structure

For parallel tasks, assign non-overlapping file domains.

Task: "Phase 4: Integration tests (parallel)"
  id: phase-4-tests
  status: in_progress
  blockedBy: phase-3-api
  parallel_agents:
    - agent: nodejs-api-engineer
      files: tests/integration/api/*.test.js
      id: phase-4a-api-tests
    - agent: python-general-engineer
      files: tests/integration/models/*.test.py
      id: phase-4b-model-tests

File domains MUST NOT overlap. If they do, serialize instead.

---

Pattern Catalog

<!-- no-pair-required: section header, not an individual failure mode -->

Verify Before Marking Complete

**Detection**:

grep -B5 "completed" todo*.md 2>/dev/null | grep -v "VERIFY\|exits 0\|tests pass"

**Preferred action**: Run success criteria from HANDOFF.md before updating status. Every `completed` transition must include verification evidence:

Task: "Implement user endpoint"
  status: completed
  verified: npm test src/routes/users.test.js → exit 0, 12 tests passed

---

Declare blockedBy on Every Dependent Task

**Detection**:

grep -B2 "Phase [2-9]\|depends on\|requires" todo*.md 2>/dev/null | grep -v "blockedBy"

**Preferred action**: Add `blockedBy: {prior-task-id}` to every task that reads output from a prior task.

---

Split Multi-Agent Work into Per-Agent Tasks

**Detection**:

grep -A5 "assigned:" todo*.md 2>/dev/null | grep -E "assigned:.*,.*,"

**Preferred action**: Split into `parallel_agents` subtasks with own file domain, id, and success criteria. Each agent's retry count tracks independently.

---

Error-Fix Mappings

| Symptom | Root Cause | Fix | |---------|------------|-----| | Phase N+1 dispatched before Phase N output | Missing `blockedBy` | Add `blockedBy: phase-N-id` | | Task `completed` but next agent reports missing files | Premature completion | Require verification before `completed` | | Two agents edit conflicting files | Multi-agent single task | Split into parallel_agents with non-overlapping domains | | Can't determine which tasks are ready | No dependency chain | Rebuild TodoWrite with explicit `blockedBy` | | Fresh agent re-does completed tasks | TodoWrite not synced with PROGRESS.md | Update PROGRESS.md with TodoWrite completed list |

---

Detection Commands Reference

# Find tasks without blockedBy that reference prior phases
grep -B2 "Phase [2-9]\|depends on\|requires" todo*.md 2>/dev/null | grep -v "blockedBy"

# Find completed tasks without verification evidence
grep -B5 "completed" todo*.md 2>/dev/null | grep -v "VERIFY\|exits 0\|tests pass\|verified:"

# Check for multi-agent single-task assignments (ambiguous ownership)
grep -A5 "assigned:" todo*.md 2>/dev/null | grep -E "assigned:.*,.*,"

# Verify TodoWrite completed count matches PROGRESS.md completed phases
echo "TodoWrite completed tasks:" && grep -c "status: completed" todo*.md 2>/dev/null
echo "PROGRESS.md completed phases:" && grep -c "\[x\]" PROGRESS.md 2>/dev/null

---

See Also

  • `communication-protocols.md` — PROGRESS.md and STATUS.md sync patterns
  • `preferred-patterns.md` — Parallel execution and file domain conflict patterns
Read more
@notque
Ships withvexjoy-agent

Essays and writing behind this toolkit live at vexjoy.com. VexJoy Agent connects plain-English requests to specialist agents, skills, and workflows. /do selects the knowledge and tools needed for your task.

44964 skills198 agents
Get the whole plugin

Stars on GitHub

Momentum

stars in total
449
Star history of notque/vexjoy-agent on GitHub, a chart by star-history.com

Other agents on vexjoy-agent.

modules

modules

Agent

**Scope**: Module selection patterns, builtin vs command/shell decisions, collection modules, and version-specific module changes…

@notque@notqueInstall Agent
testing

testing

Agent

**Scope**: Molecule test scenarios, ansible-lint rules, idempotency validation, and check-mode patterns **Version range**:…

@notque@notqueInstall Agent
communication-patterns

communication-patterns

Agent

**Scope**: Failure modes in agent output style — over-reporting, self-congratulation, verbose narration, and hedging. Covers what…

@notque@notqueInstall Agent

More agents from other plugins.

a11y-architect
Auto-invoked

a11y-architect

Agent

Accessibility Architect specializing in WCAG 2.2 compliance for Web and Native platforms. Use PROACTIVELY when designing UI…

ecc13d293k
@affaan-m@affaan-mInstall Agent
analyze-pass-impact

analyze-pass-impact

Agent

Analyzes how a specific topic affects a group of compiler passes. Used by the /plan-update skill to parallelize research across…

react2d252k
@facebook@facebookInstall Agent
orchestrator

orchestrator

Agent

- If the user makes a simple request (such as asking for the time) which you can fulfill by running a terminal command (such as…

codex2d135k
@openai@openaiInstall Agent
cavecrew-builder

cavecrew-builder

Agent

Surgical 1-2 file edit. Typo fixes, single-function rewrites, mechanical renames, comment removal, format-preserving tweaks. Hard…

caveman3d119k
@juliusbrussee@juliusbrusseeInstall Agent

Questions about todowrite-integration.

Which coding agents can use todowrite-integration?
todowrite-integration installs in Claude Code and Cursor: each loads subagents from .claude/agents, so copy the file there. Flowy's auto-invocation runs in Claude Code only.