19 KiB
Agent Delegation Skill Reference
Complete reference for advanced delegation patterns, edge cases, and optimization strategies.
Advanced Decomposition Patterns
Multi-Level Decomposition
For very complex tasks, decompose in layers:
Layer 1: High-Level Activities
Task: Build e-commerce checkout flow
Activities:
1. Frontend checkout interface
2. Backend payment processing
3. Order fulfillment system
4. Email notifications
Layer 2: Sub-Activity Decomposition
Take Activity 2 and decompose further:
Activity: Backend payment processing
Sub-activities:
2.1 Stripe API integration
2.2 Payment validation logic
2.3 Transaction database schema
2.4 Refund handling
Execution Strategy:
- Layer 1: Mixed (some parallel, some sequential)
- Layer 2: Decompose only when agent starts Activity 2
- Don't decompose all layers upfront (overwhelming)
Dependency Graph Decomposition
For complex dependency chains:
Task: Deploy new microservice
Activity Map:
A: Write service code
B: Write unit tests (depends on A)
C: Create Docker image (depends on A)
D: Write integration tests (depends on A, C)
E: Deploy to staging (depends on B, C, D)
F: Run smoke tests (depends on E)
G: Deploy to production (depends on F)
Execution Groups:
Group 1: A (sequential)
Group 2: B, C (parallel after A)
Group 3: D (sequential after Group 2)
Group 4: E (sequential after Group 3)
Group 5: F (sequential after E)
Group 6: G (sequential after F)
Pattern: Identify critical path, parallelize where possible.
Expertise-Based Decomposition
When multiple domains are involved:
Task: Add real-time chat feature
Decompose by expertise:
1. UI/UX design (design expertise)
2. Frontend component (React expertise)
3. WebSocket server (Backend expertise)
4. Message persistence (Database expertise)
5. Security review (Security expertise)
6. Performance testing (Performance expertise)
Execution:
- Phase 1: Activity 1 (sequential)
- Phase 2: Activities 2-4 (parallel, informed by Activity 1)
- Phase 3: Activities 5-6 (parallel review after Phase 2)
Advanced Parallel Patterns
Fan-Out/Fan-In Pattern
Parallel expansion followed by sequential consolidation:
Start
↓
[Activity 1]
↓
┌─────┼─────┐
↓ ↓ ↓
[A2] [A3] [A4] ← Fan-out (parallel)
↓ ↓ ↓
└─────┼─────┘
↓
[Synthesize] ← Fan-in (sequential)
↓
Done
Example: Competitive analysis
- Fan-out: Analyze competitors A, B, C in parallel
- Fan-in: Synthesize findings into unified strategy
Pipeline Pattern
Sequential groups where each group can be parallel:
Stage 1: Research (parallel within stage)
- Market research
- Competitive analysis
- User interviews
↓
Stage 2: Design (parallel within stage)
- UI mockups
- API design
- Database schema
↓
Stage 3: Implementation (parallel within stage)
- Frontend build
- Backend build
- Database setup
Pattern: Stages are sequential, activities within each stage are parallel.
MapReduce Pattern
Parallel processing with aggregation:
Map Phase (parallel):
Agent 1: Process dataset chunk 1
Agent 2: Process dataset chunk 2
Agent 3: Process dataset chunk 3
Agent 4: Process dataset chunk 4
Reduce Phase (sequential):
Aggregate all results into final output
Example: Code analysis across modules
- Map: Each agent analyzes one module
- Reduce: Aggregate findings into project-wide report
Advanced Template Patterns
Context Accumulation Pattern
For sequential tasks, accumulate context:
Agent 1:
CONTEXT: Fresh start, no prior context
OUTPUT: Result A
Agent 2:
CONTEXT:
- Prior results: [Result A from Agent 1]
- Build on: [Specific insights from A]
OUTPUT: Result B (informed by A)
Agent 3:
CONTEXT:
- Prior results: [Result A, Result B]
- Conflicts to resolve: [Any conflicts between A and B]
- Build on: [Insights from both]
OUTPUT: Result C (synthesizes A and B)
Key: Each agent gets relevant prior outputs, not everything.
Constraint Propagation Pattern
Cascade constraints through dependent tasks:
Agent 1 (Schema Design):
SUCCESS:
- Uses PostgreSQL (project standard)
- Follows naming: snake_case tables
- All tables have created_at, updated_at
Agent 2 (API Implementation, depends on Agent 1):
CONTEXT:
- Database constraints from Agent 1:
* PostgreSQL only
* snake_case table names
* created_at/updated_at in all tables
- Must match schema exactly
Pattern: SUCCESS criteria from earlier tasks become CONTEXT constraints for later ones.
Specification Reference Pattern
For implementation tasks, reference specs explicitly:
FOCUS: Implement user registration endpoint
CONTEXT:
- PRD Section 3.1.2: User registration requirements
- SDD Section 4.2: API endpoint specifications
- SDD Section 5.3: Database schema for users table
- PLAN Phase 2, Task 3: Implementation checklist
SDD_REQUIREMENTS:
- Endpoint: POST /api/auth/register
- Request body: { email, password, name }
- Response: { user_id, token }
- Validation: Email format, password strength (8+ chars)
- Security: Bcrypt hashing (cost 12)
SPECIFICATION_CHECK: Must match SDD Section 4.2 exactly
Pattern: Explicit spec references prevent context drift.
File Coordination Advanced Strategies
Timestamp-Based Uniqueness
When paths might collide, add timestamps:
Agent 1 OUTPUT: logs/analysis-${TIMESTAMP}.md
Agent 2 OUTPUT: logs/research-${TIMESTAMP}.md
Agent 3 OUTPUT: logs/synthesis-${TIMESTAMP}.md
where TIMESTAMP = ISO 8601 format
Result: No collisions even if agents run simultaneously.
Directory Hierarchy Assignment
Assign each agent a subdirectory:
Agent 1 OUTPUT: results/agent-1/findings.md
Agent 2 OUTPUT: results/agent-2/findings.md
Agent 3 OUTPUT: results/agent-3/findings.md
Result: Each agent owns a directory, filenames can repeat.
Atomic File Creation Pattern
For critical files, ensure atomic creation:
OUTPUT: Create file at exact path: docs/patterns/auth.md
- If file exists, FAIL and report (don't overwrite)
- Use atomic write (temp file + rename)
- Verify write succeeded before marking complete
Pattern: Prevents race conditions and corruption.
Merge Strategy Pattern
When multiple agents create similar content:
Strategy: Sequential merge
Agent 1: Create base document
Agent 2: Read base, add section 2
Agent 3: Read base + section 2, add section 3
Each agent:
DISCOVERY_FIRST: Read current state of document
FOCUS: Add my section without modifying others
OUTPUT: Updated document with my section added
Pattern: Sequential additions to shared document.
Scope Validation Advanced Patterns
Severity-Based Acceptance
Categorize scope creep by severity:
Minor (Auto-accept):
- Variable name improvements
- Comment additions
- Whitespace formatting
- Import organization
Medium (Review):
- Small refactors related to task
- Additional error handling
- Logging additions
- Documentation updates
Major (Reject):
- New features
- Architecture changes
- Dependency additions
- Breaking changes
Value-Based Exception Handling
Sometimes scope creep is valuable:
Agent delivered:
✅ Required: Authentication endpoint
⚠️ Extra: Rate limiting on endpoint (not requested)
Analysis:
- Extra work: Rate limiting
- In EXCLUDE? No (not explicitly excluded)
- Valuable? Yes (security best practice)
- Risky? No (standard pattern)
- Increases scope? Minimally
Decision: 🟡 ACCEPT with note
"Agent proactively added rate limiting for security.
Aligns with best practices, accepting this valuable addition."
Pattern: Auto-accept valuable, low-risk extras that align with project goals.
Specification Drift Detection
For implement tasks, detect drift from specs:
Validation:
1. Check FOCUS matches PLAN task description
2. Check implementation matches SDD requirements
3. Check business logic matches PRD rules
Drift detected if:
- Implementation differs from SDD design
- Business rules differ from PRD
- Features not in PLAN added
Report:
📊 Specification Alignment: 85%
✅ Aligned: [aspects that match]
⚠️ Deviations: [aspects that differ]
🔴 Critical drift: [major misalignments]
Retry Strategy Advanced Patterns
Progressive Refinement
Refine template progressively across retries:
Attempt 1 (Failed - too vague):
FOCUS: Add caching
Attempt 2 (Failed - still ambiguous):
FOCUS: Add Redis caching for API responses
EXCLUDE: Don't cache user-specific data
Attempt 3 (Success - specific enough):
FOCUS: Add Redis caching for public API endpoints
- Cache GET requests only
- TTL: 5 minutes
- Key format: api:endpoint:params:hash
- Invalidate on POST/PUT/DELETE to same resource
EXCLUDE:
- Don't cache authenticated user requests
- Don't cache admin endpoints
- Don't implement cache warming
- Don't add Redis cluster setup (single node for now)
CONTEXT:
- Redis already configured: localhost:6379
- Use ioredis client
- Follow caching pattern: docs/patterns/caching-strategy.md
Pattern: Each retry adds specificity based on previous failure.
Agent Type Rotation
If specialist fails, try different angle:
Attempt 1: Backend specialist
- Focused on technical implementation
- Failed: Too technical, missed user experience
Attempt 2: UX specialist
- Focused on user flows
- Failed: Too high-level, missed technical constraints
Attempt 3: Product specialist
- Balanced user needs with technical reality
- Success: Right blend of perspectives
Pattern: Rotate expertise angle based on failure mode.
Scope Reduction Strategy
If task too complex, reduce scope progressively:
Attempt 1 (Failed - too much):
FOCUS: Build complete authentication system
- Registration, login, logout, password reset
- OAuth integration
- Two-factor authentication
Attempt 2 (Failed - still complex):
FOCUS: Build basic authentication
- Registration, login, logout
Attempt 3 (Success - minimal):
FOCUS: Build login endpoint only
- POST /auth/login
- Email + password validation
- Return JWT token
Pattern: Reduce scope until agent succeeds, then expand incrementally.
Edge Cases and Solutions
Edge Case 1: Circular Dependencies
Problem: Agent A needs Agent B's output, Agent B needs Agent A's output
Detection:
Activity A depends on B
Activity B depends on A
→ Circular dependency detected
Solutions:
-
Break the cycle:
Original: A (needs B) ↔ B (needs A) Refactored: C (shared foundation) → A (builds on C) → B (builds on A) -
Iterative approach:
Round 1: A (with assumptions about B) Round 2: B (using Round 1 A) Round 3: A (refined with actual B) -
Merge activities:
Single agent handles both A and B together (They're too coupled to separate)
Edge Case 2: Dynamic Dependencies
Problem: Don't know dependencies until runtime
Example:
Task: Analyze codebase
Don't know which modules exist until discovery
Can't plan parallel structure upfront
Solution - Two-phase approach:
Phase 1: Discovery (sequential)
Agent 1: Discover project structure
OUTPUT: List of modules
Result: [moduleA, moduleB, moduleC, moduleD]
Phase 2: Analysis (parallel, dynamic)
For each module in result:
Launch analysis agent
Agent A: Analyze moduleA
Agent B: Analyze moduleB
Agent C: Analyze moduleC
Agent D: Analyze moduleD
Pattern: Sequential discovery, dynamic parallel execution.
Edge Case 3: Partial Agent Availability
Problem: Some specialist agents unavailable
Example:
Planned:
- Frontend specialist (available)
- Backend specialist (available)
- DevOps specialist (NOT AVAILABLE)
Solution - Fallback delegation:
If specialist unavailable:
1. Try broader domain agent (general-purpose)
2. Try sequential breakdown (smaller tasks)
3. Handle directly if simple enough
4. Escalate to user if critical
Example execution:
DevOps work:
Attempt 1: DevOps specialist → UNAVAILABLE
Attempt 2: Backend specialist with DevOps context → SUCCESS
Reasoning: Backend specialist has some DevOps overlap
Edge Case 4: Agent Response Conflicts
Problem: Parallel agents return conflicting recommendations
Example:
Agent 1 (Security): "Use bcrypt with cost 14 (maximum security)"
Agent 2 (Performance): "Use bcrypt with cost 10 (reasonable security, better performance)"
Solution - Conflict resolution:
1. Present to user:
⚠️ Agent Conflict Detected
Topic: Bcrypt cost factor
Agent 1 (Security): Cost 14 (maximize security)
Agent 2 (Performance): Cost 10 (balance security/performance)
Trade-off:
- Cost 14: ~200ms hashing time, highest security
- Cost 10: ~50ms hashing time, strong security
Recommendation needed: Which priority matters more?
2. Specification arbitration:
Check specs:
- SDD Section 5.2: "Use bcrypt cost factor 12"
→ Use specification value (12)
→ Both agents adjusted to match spec
3. Synthesis agent:
Launch Agent 3 (Architect):
FOCUS: Resolve conflict between security and performance recommendations
CONTEXT:
- Security recommendation: cost 14
- Performance recommendation: cost 10
- Trade-offs: [details]
OUTPUT: Final recommendation with reasoning
Edge Case 5: Resource Constraints
Problem: Can't launch all parallel agents simultaneously (rate limits, memory, etc.)
Solution - Batched parallel execution:
Activities: [A1, A2, A3, A4, A5, A6, A7, A8]
Constraint: Maximum 3 parallel agents
Execution:
Batch 1: A1, A2, A3 (parallel)
→ Wait for completion
Batch 2: A4, A5, A6 (parallel)
→ Wait for completion
Batch 3: A7, A8 (parallel)
→ Complete
Pattern: Maintain parallelism within constraints.
Performance Optimization
Minimize Context Size
Don't pass everything to every agent:
❌ Bad - Full context:
CONTEXT:
- Entire PRD (50 pages)
- Entire SDD (40 pages)
- All prior agent outputs (30 pages)
✅ Good - Relevant context:
CONTEXT:
- PRD Section 3.2 (User authentication requirements)
- SDD Section 4.1 (API endpoint design)
- Prior output: Authentication flow diagram from Agent 1
Pattern: Extract only relevant portions, reference docs by section.
Parallel Batching
Group related parallel tasks:
Don't:
Launch 20 individual research agents
Do:
Launch 4 research agents, each handles 5 topics
Benefits:
- Fewer coordination overhead
- Better context utilization
- Faster overall completion
Early Termination
Build termination conditions into templates:
TERMINATION:
- Completed successfully
- Blocked by missing dependency X
- Information not publicly available
- Maximum 3 attempts reached
- ERROR: [specific error conditions]
Pattern: Let agents fail fast instead of hanging.
Integration with Other Skills
With Documentation Skill
When agents discover patterns:
Agent completes task
↓
Discovers reusable pattern
↓
Documentation skill activates
↓
Pattern documented in docs/patterns/
↓
Reported back to orchestrator
Coordination: Agent-delegation creates prompts, documentation skill handles pattern storage.
With Specification Review Skill
For implementation tasks:
Agent completes implementation
↓
Agent-delegation validates scope
↓
Specification review skill validates against PRD/SDD
↓
Both validations pass → Complete
Coordination: Agent-delegation handles scope, spec-review handles alignment.
With Quality Gates Skill
At phase boundaries:
Phase completes
↓
Agent-delegation confirms all tasks done
↓
Quality gates skill runs DOD checks
↓
Both pass → Proceed to next phase
Coordination: Agent-delegation manages execution, quality-gates validates quality.
Debugging Failed Delegations
Symptom: Agents ignore EXCLUDE
Diagnosis:
- EXCLUDE too vague
- Agent sees value in excluded work
- Conflict between FOCUS and EXCLUDE
Fix:
Before:
EXCLUDE: Don't add extra features
After:
EXCLUDE: Do not add these specific features:
- OAuth integration (separate task)
- Password reset flow (separate task)
- Two-factor authentication (not in scope)
Any feature not explicitly in FOCUS is out of scope.
Symptom: Parallel agents conflict
Diagnosis:
- Hidden shared state
- File path collision
- Dependency not identified
Fix:
Review parallel safety checklist:
- Independent tasks? → Check dependencies again
- Unique file paths? → Verify OUTPUT sections
- No shared state? → Identify what's shared
If any fail → Make sequential or coordinate better
Symptom: Sequential too slow
Diagnosis:
- False dependencies
- Over-cautious sequencing
- Could be parallel with coordination
Fix:
Re-analyze dependencies:
- Must Task B use Task A's output? → True dependency
- Could Task B assume Task A's approach? → False dependency
If false dependency:
→ Make parallel with coordinated assumptions
Symptom: Template too complex
Diagnosis:
- Too many constraints
- Context overload
- Agent confused by detail
Fix:
Simplify:
1. Keep FOCUS to essentials
2. Move details to CONTEXT
3. Provide examples instead of rules
Before (overwhelming):
FOCUS: [20 lines of detailed requirements]
After (simplified):
FOCUS: [2 lines of core task]
CONTEXT: [Details and constraints]
Best Practices Summary
- Decompose by activities, not roles
- Parallel by default, sequential only when necessary
- Explicit FOCUS/EXCLUDE, no ambiguity
- Unique file paths, verify before launching
- Minimal context, only relevant information
- Auto-accept safe changes, review architectural ones
- Maximum 3 retries, then escalate
- Early termination, fail fast when blocked
- Validate scope, check FOCUS/EXCLUDE adherence
- Document patterns, activate documentation skill when discovered
Common Patterns Quick Reference
| Pattern | When to Use | Structure |
|---|---|---|
| Fan-Out/Fan-In | Parallel research → synthesis | Parallel → Sequential |
| Pipeline | Stages with parallel within | Sequential stages, parallel tasks |
| MapReduce | Large dataset processing | Parallel map → Sequential reduce |
| Progressive Refinement | Retry with more detail | Retry N adds specificity |
| Batched Parallel | Resource constraints | Groups of parallel tasks |
| Context Accumulation | Sequential with learning | Each task gets prior outputs |
| Constraint Propagation | Dependent implementations | SUCCESS → next CONTEXT |
| Specification Reference | Implementation tasks | Explicit PRD/SDD references |
This reference covers advanced scenarios beyond the main skill. Load this when dealing with complex coordination, optimization, or edge cases.