This skill provides methodology for decomposing complex tasks into independent, parallelizable units that can be executed by multiple engineers simultaneously.
When to Invoke This Skill
Automatically activate for:
- •Complex features requiring multiple components
- •Large refactoring spanning many files
- •Multi-domain work (frontend + backend + database)
- •Any task where "this could be parallelized" applies
- •Planning sprints or implementation roadmaps
Task Decomposition Principles
1. Independence First
Tasks must be independent to run in parallel:
code
GOOD: Each task can complete without waiting ┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐ │ Task A: Auth UI │ │ Task B: Auth API│ │ Task C: DB Schema│ │ (no deps) │ │ (no deps) │ │ (no deps) │ └─────────────────┘ └─────────────────┘ └─────────────────┘ BAD: Sequential dependency chain Task A → Task B → Task C (no parallelism possible)
2. Clear Boundaries
Each task must have:
- •Single responsibility: One deliverable per task
- •Defined inputs: What data/context is needed
- •Expected outputs: What artifact is produced
- •Acceptance criteria: How to verify completion
3. Right-Sized Tasks
| Size | Duration | Complexity | Assignment |
|---|---|---|---|
| Small | < 30 min | Single file, routine | Junior engineer |
| Medium | 30-60 min | Multi-file, some decisions | Senior engineer |
| Large | 1-2 hours | Cross-cutting, architectural | Lead or split further |
Rule: If a task is "Large", decompose it further.
Decomposition Framework
Step 1: Identify Domains
Map the work to distinct domains:
code
Feature: User Authentication
├── Frontend Domain
│ ├── Login form component
│ ├── Registration flow
│ └── Password reset UI
├── Backend Domain
│ ├── Auth middleware
│ ├── JWT token service
│ └── User validation
├── Data Domain
│ ├── User schema
│ ├── Session storage
│ └── Migration scripts
└── Infrastructure Domain
├── OAuth provider setup
└── Environment config
Step 2: Map Dependencies
Create dependency graph:
code
[DB Schema] ──┬──> [Auth Middleware] ──> [Integration Tests]
│
├──> [JWT Service]
│
└──> [User Validation]
[Login UI] ────────────────────────────> [E2E Tests]
[Registration UI] ─────────────────────> [E2E Tests]
Step 3: Identify Parallel Lanes
Group independent tasks into lanes:
code
Lane 1 (Backend) Lane 2 (Frontend) Lane 3 (Infra)
───────────────── ───────────────── ─────────────────
[DB Schema] [Login UI] [OAuth Setup]
│ [Registration UI] [Env Config]
▼ [Reset UI]
[Auth Middleware]
[JWT Service]
[User Validation]
Step 4: Define Integration Points
Where lanes must synchronize:
code
Sync Point 1: API Contract - Backend exposes POST /auth/login - Frontend implements against contract - Both can develop in parallel with mock Sync Point 2: Integration Testing - All lanes complete - Run integration test suite - Fix cross-cutting issues
Task Template
Use this template for each decomposed task:
markdown
## Task: [Clear, action-oriented title] **Lane**: [Backend | Frontend | Infra | Data] **Size**: [Small | Medium] **Dependencies**: [None | Task IDs that must complete first] ### Context [1-2 sentences on why this task exists] ### Deliverables - [ ] [Specific artifact 1] - [ ] [Specific artifact 2] ### Acceptance Criteria - [ ] [Measurable criterion 1] - [ ] [Measurable criterion 2] - [ ] Tests pass - [ ] Linting clean ### Notes [Any implementation hints or decisions already made]
Parallelization Patterns
Pattern 1: Component Parallel
Split by UI component when each is independent:
code
/leader --team-size=3 --mode=parallel Task 1: Build LoginForm component Task 2: Build RegistrationForm component Task 3: Build PasswordResetForm component
Pattern 2: Layer Parallel
Split by architectural layer:
code
/leader --team-size=3 --mode=parallel Task 1: Implement API endpoints (backend) Task 2: Implement UI components (frontend) Task 3: Set up infrastructure (devops)
Pattern 3: Hybrid
Critical path sequential, supporting work parallel:
code
/leader --team-size=3 --mode=hybrid Sequential (Critical Path): Task 1: Design database schema Task 2: Implement core API Parallel (After Task 1): Task 3: Build UI components Task 4: Write integration tests Task 5: Set up monitoring
Anti-Patterns to Avoid
Over-Decomposition
code
BAD: 20 tiny tasks that have coordination overhead GOOD: 3-5 meaningful tasks per engineer
Hidden Dependencies
code
BAD: "Task B assumes Task A's schema design" GOOD: "Task B depends on Task A (schema must be finalized)"
Unclear Ownership
code
BAD: "Someone should handle auth" GOOD: "Engineer 2 owns auth middleware (Task B)"
Missing Integration Plan
code
BAD: 5 parallel tasks with no sync point GOOD: Parallel tasks + defined integration checkpoint
Output Format
When decomposing tasks, produce:
markdown
## Task Decomposition: [Feature Name] ### Overview - Total tasks: N - Parallel lanes: M - Critical path: [sequence] - Estimated parallelism: X% ### Dependency Graph [ASCII diagram showing task relationships] ### Task Breakdown #### Lane 1: [Domain] | ID | Task | Size | Deps | Engineer | |----|------|------|------|----------| | T1 | ... | Medium | None | Senior 1 | | T2 | ... | Small | T1 | Senior 1 | #### Lane 2: [Domain] | ID | Task | Size | Deps | Engineer | |----|------|------|------|----------| | T3 | ... | Medium | None | Senior 2 | ### Integration Points 1. After T1, T3: API contract validation 2. After all: Full integration test ### Execution Plan Phase 1: T1, T3, T5 (parallel) Phase 2: T2, T4 (parallel, after Phase 1) Phase 3: Integration (sequential)
Checklist
Before finalizing decomposition:
- • Each task has single responsibility
- • Dependencies are explicit (not assumed)
- • No task exceeds "Medium" size
- • Integration points defined
- • Ownership is clear
- • Acceptance criteria are testable
- • Critical path identified
- • Parallelism opportunities maximized