| name | task-management |
| description | Task decomposition, dependency analysis, and parallel execution orchestration. Use when breaking down features into tasks, analyzing task dependencies, planning parallel execution strategies, or coordinating multi-agent workflows. Covers dependency detection, execution grouping, resource conflict prevention, and performance optimization. |
Task Management Skill
Purpose
Provide systematic approaches for decomposing complex features into executable tasks, analyzing dependencies, and orchestrating parallel execution for optimal performance.
Key Capabilities:
- Feature decomposition strategies
- Dependency graph analysis
- Parallel execution planning
- Resource conflict detection
- Performance optimization
When to Use This Skill
Auto-activates when:
- Planning feature implementation (breaking down PRPs)
- Analyzing task dependencies (what depends on what)
- Orchestrating multi-agent execution (parallel vs sequential)
- Optimizing workflow performance (speedup calculations)
- Detecting resource conflicts (file access, shared state)
Quick Start
Feature Decomposition Checklist
Dependency Analysis Checklist
Parallel Execution Checklist
Core Principles (5 Key Rules)
1. Single Responsibility Per Task
Each task should accomplish ONE cohesive goal:
✅ GOOD - Focused tasks
Task 1: Create user model (src/models/user.py)
Task 2: Create user API endpoints (src/api/users.py)
Task 3: Create user tests (tests/test_users.py)
❌ BAD - Monolithic task
Task 1: Implement entire user system (10 files, mixed concerns)
Why: Parallel execution, clear validation, easier debugging
2. Explicit Dependency Tracking
Dependencies must be explicit, not assumed:
✅ GOOD - Clear dependencies
Task 2: Create user API
DEPENDS_ON: [Task 1]
FILES_CONSUMED: src/models/user.py
❌ BAD - Implicit dependencies
Task 2: Create user API
Why: Enables dependency-aware grouping, prevents failures
3. Parallel Groups Must Be Independent
Tasks in same group cannot conflict:
✅ GOOD - Independent tasks
Group 1 (parallel):
- Task 1: Create src/models/user.py
- Task 2: Create src/models/post.py
- Task 3: Create src/models/comment.py
❌ BAD - Conflicting tasks
Group 1 (parallel):
- Task 1: Create src/api/routes.py (lines 1-50)
- Task 2: Modify src/api/routes.py (lines 51-100)
Why: File conflicts, race conditions, corrupted output
4. Context Preparation Before Invocation
Prepare ALL contexts BEFORE making any Task() calls:
✅ GOOD - Parallel execution pattern
ctx1 = f"Task 1: Create {file1}..."
ctx2 = f"Task 2: Create {file2}..."
ctx3 = f"Task 3: Create {file3}..."
Task(subagent_type="expert1", prompt=ctx1)
Task(subagent_type="expert2", prompt=ctx2)
Task(subagent_type="expert3", prompt=ctx3)
❌ BAD - Sequential invocation
for task in tasks:
Task(subagent_type="expert", prompt=task)
Why: Parallel execution (3x speedup), efficiency
5. Validate Performance Gains
Measure actual speedup from parallelization:
✅ GOOD - Performance validation
sequential_time = sum([5, 4, 5])
parallel_time = max([5, 4, 5])
speedup = (14 - 5) / 14 * 100
if speedup < 50:
print("WARNING: Expected 50%+ speedup, got {speedup}%")
Why: Confirms parallelization working, detects sequential execution bugs
Common Patterns
Pattern 1: Linear Dependency Chain
Use Case: Each task builds on previous (A → B → C → D)
Strategy: Sequential execution groups
Group 1: Task A (foundation)
Group 2: Task B (depends on A)
Group 3: Task C (depends on B)
Group 4: Task D (depends on C)
Pattern 2: Independent Parallel Tasks
Use Case: No dependencies between tasks (A, B, C independent)
Strategy: Single parallel group
Group 1 (parallel):
- Task A (src/models/user.py)
- Task B (src/models/post.py)
- Task C (src/models/comment.py)
Pattern 3: Parallel with Shared Dependency
Use Case: Multiple tasks depend on same foundation (A → B, A → C, A → D)
Strategy: Sequential foundation, parallel dependents
Group 1: Task A (foundation - e.g., database schema)
Group 2 (parallel):
- Task B (user API)
- Task C (post API)
- Task D (comment API)
Pattern 4: Multi-Level Dependency Tree
Use Case: Complex dependency graph
Strategy: Topological sort + grouping
Group 1: [A, B]
Group 2: [C]
Group 3: [D, E]
Group 4: [F]
Quick Reference
Dependency Types
| Type | Example | Detection |
|---|
| File Creation | Task 2 imports Task 1's file | Read file list |
| Data Flow | Task 2 uses Task 1's output | Read task descriptions |
| Tool Order | terraform apply after terraform plan | Domain knowledge |
| Domain Order | Backend before frontend (API first) | Architecture convention |
Parallelization Limits
| Scenario | Max Parallel Tasks | Reason |
|---|
| Optimal | 2-6 tasks | Claude API limits |
| File conflicts | 1 task per file | Race conditions |
| Shared state | 1 task | Data corruption |
| Complex coordination | 3 tasks | Diminishing returns |
Performance Calculation
sequential = sum(task_durations)
parallel = max(task_durations)
speedup = (sequential - parallel) / sequential * 100
efficiency = speedup / num_parallel_tasks * 100
Anti-Patterns to Avoid
❌ Anti-Pattern 1: Over-Granular Tasks
Problem: 50 micro-tasks for simple feature
Issue: Coordination overhead > execution time
Fix: Combine related changes into cohesive tasks
❌ Anti-Pattern 2: Mega-Tasks
Problem: One task creates 20 files
Issue: No parallelization, unclear validation
Fix: Decompose into single-responsibility tasks
❌ Anti-Pattern 3: Hidden Dependencies
Problem: Task silently expects file from previous task
Issue: Race conditions, failures in parallel execution
Fix: Explicit DEPENDS_ON declarations
❌ Anti-Pattern 4: Parallelizing Dependent Tasks
Problem: Running Task B before Task A completes (B depends on A)
Issue: Task B fails, wasted execution time
Fix: Dependency-aware grouping (sequential groups)
❌ Anti-Pattern 5: Sequential Invocation in Loop
Problem: for task in tasks: Task(...)
Issue: 3x slower than parallel (defeats purpose)
Fix: All Task() calls in single response
Workflow Example
Scenario: Implement User Authentication Feature
Step 1: Decompose Feature
Deliverables:
- User model with password hashing
- Authentication API endpoints
- JWT token management
- Login/logout/refresh routes
- Integration tests
Tasks:
Task 1: Create User model (src/models/user.py)
Task 2: Create auth service (src/services/auth.py)
Task 3: Create JWT utilities (src/utils/jwt.py)
Task 4: Create auth endpoints (src/api/auth.py)
Task 5: Create tests (tests/test_auth.py)
Step 2: Analyze Dependencies
Task 1 (User model):
DEPENDS_ON: []
CREATES: src/models/user.py
Task 2 (Auth service):
DEPENDS_ON: [Task 1]
CREATES: src/services/auth.py
Task 3 (JWT utils):
DEPENDS_ON: []
CREATES: src/utils/jwt.py
Task 4 (Auth endpoints):
DEPENDS_ON: [Task 2, Task 3]
CREATES: src/api/auth.py
Task 5 (Tests):
DEPENDS_ON: [Task 4]
CREATES: tests/test_auth.py
Step 3: Group by Parallelism
Group 1 (parallel):
- Task 1 (User model)
- Task 3 (JWT utils)
Group 2 (sequential):
- Task 2 (Auth service - depends on Group 1)
Group 3 (sequential):
- Task 4 (Auth endpoints - depends on Group 2)
Group 4 (sequential):
- Task 5 (Tests - depends on Group 3)
Step 4: Execute with Prepared Contexts
ctx1 = f"Create User model at src/models/user.py..."
ctx3 = f"Create JWT utilities at src/utils/jwt.py..."
Task(subagent_type="python-backend-expert", prompt=ctx1)
Task(subagent_type="python-backend-expert", prompt=ctx3)
Navigation Guide
Resource Files
Comprehensive dependency detection algorithms, graph analysis, conflict resolution strategies
Advanced parallelization patterns, performance benchmarking, optimization techniques
Skill Status: COMPLETE ✅
Line Count: 412 ✅
Progressive Disclosure: 2 resource files ✅