jwynia/task-decomposition
Transform overwhelming development tasks into manageable units. This skill should be used when the user says 'task too big', 'can't estimate', 'overwhelmed by scope', 'where do I start', 'epic needs breakdown', or has dependency problems. Keywords: decomposition, breakdown, estimate, scope, INVEST, vertical slice, spike, dependencies.
npx skills add https://github.com/jwynia/agent-skills --skill task-decomposition
Transform overwhelming development tasks into manageable units by respecting cognitive limits, creating clear boundaries, and enabling parallel work. Tasks properly decomposed achieve 3x higher completion rates and 60% fewer defects.
Use this skill when:
Do NOT use this skill when:
The goal isn't more tasks—it's the right tasks. Tasks small enough to understand completely, large enough to deliver value, independent enough to avoid blocking.
| Limit | Threshold | Implication |
|-------|-----------|-------------|
| Working memory | 7±2 items | Max concepts per task |
| Context switch recovery | 23 minutes | Minimize task switching |
| Files examined | 15-20 max | Bound task scope |
| Days before completion drops | 2-3 days | Keep tasks under this |
| Duration | Completion Rate |
|----------|-----------------|
| < 2 hours | 95% |
| 2-4 hours | 90% |
| 4-8 hours (1 day) | 80% |
| 2-3 days | 60% |
| 1 week | 35% |
| > 2 weeks | <10% |
Symptoms: Estimates range wildly, can't hold all requirements in mind, more than 7 concepts to track
Interventions:
Symptoms: Multiple valid starting points, paralysis, everything seems connected
Interventions:
Symptoms: "Blocked on X", diamond dependencies, coordination overhead
Interventions:
Symptoms: "Almost done" forever, no way to verify completion
Interventions:
Symptoms: Task keeps growing, "while we're here" additions
Interventions:
Symptoms: Estimate variance > 4x, new technology, multiple approaches
Interventions:
Feature: User Profile Management
Slice 1: View basic profile (4h)
- UI: Profile display
- API: GET /profile
- DB: Read profile
Slice 2: Edit profile name (6h)
- UI: Edit dialog
- API: PATCH /profile/name
- DB: Update profile
Each slice is independently deployable
Minimal end-to-end first:
1. Hello World page
2. One GET endpoint
3. Single table
4. Basic deploy
Then flesh out incrementally
Step 1: Minimal Service A (1h) - Hardcoded response
Step 2: Minimal Service B (1h) - Simple transformation
Step 3: Integrate (2h) - Prove they communicate
Total: 4 hours to decision point
| Points | Meaning |
|--------|---------|
| 1 | Trivial, < 1 hour |
| 2 | Simple, 1-2 hours |
| 3 | Standard, 2-4 hours |
| 5 | Moderate, 4-8 hours |
| 8 | Complex, 1-2 days |
| 13 | Very complex, 2-3 days |
| 21 | Too large, must decompose |
O = Optimistic (everything perfect)
L = Likely (normal case)
P = Pessimistic (major issues)
PERT estimate: (O + 4L + P) / 6
Building complete system before any delivery.
Fix: Vertical slices, incremental value.
"Set up database," "Create service layer."
Fix: Include in feature tasks: "User can view products (includes DB)."
Unbounded investigation.
Fix: Time-boxed spikes with deliverables.
Over-analyzing before starting.
Fix: Decompose next 2 weeks. Details for later work emerge.
Before starting any task:
If any "no" → further decomposition needed.
Take jwynia/task-decomposition from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.