Task Lists as Diagnostic Tool
The Diagnostic Principle: When Claude's task list doesn't match your intent, the problem sits in your instructions, not in Claude.
Task lists act as a mirror for instruction clarity. If you ask Claude to plan a feature and the resulting tasks surprise you, that divergence is diagnostic information:
Your instruction: "Refactor the auth system"
Claude's task list:
- [ ] Read all auth-related files
- [ ] Identify code duplication
- [ ] Extract shared utilities
- [ ] Update imports
- [ ] Run tests
Your reaction: "That's not what I meant—I wanted to switch from session to JWT"
Diagnosis: Your instruction was ambiguous. "Refactor" ≠ "replace".Divergence patterns and what they reveal:
| Divergence Type | What It Means | Fix |
|---|---|---|
| Tasks too broad | Instructions lack specificity | Add WHAT, WHERE, HOW, VERIFY |
| Tasks too narrow | Instructions too detailed, missing big picture | State the goal, not just the steps |
| Wrong priorities | Context missing about what matters | Add constraints and priorities |
| Missing tasks | Implicit knowledge not shared | Make assumptions explicit in prompt |
| Extra tasks | Claude inferred requirements you didn't intend | Add explicit scope boundaries |
Using task divergence as a workflow:
markdown
## Step 1: Seed with loose instruction
User: "Improve the checkout flow"
## Step 2: Review Claude's task list (don't execute yet)
Claude generates: [task list]
## Step 3: Compare against your mental model
- Missing: payment retry logic? → Add to instructions
- Unexpected: UI redesign? → Clarify scope (backend only)
- Wrong order: tests last? → Specify TDD approach
## Step 4: Refine and re-plan
User: "Actually, here's what I need: [refined instruction with specifics]"Pro tip: Run TaskList after initial planning as a sanity check before execution. If more than 30% of tasks surprise you, your prompt needs work. Iterate on the prompt, not the tasks.