task-orchestrator
Use when complex tasks require multiple specialized approaches or parallel work - coordinates Task tool usage for multi-agent workflows, parallel execution patterns, and delegation decision framework for 3-5x faster execution
- Category: discovered
- Tags: github, community
- Version: 1.0.0
- Author: walid
- Downloads: 0
- GitHub stars: 1
- Updated: 2025-11-21
Download the latest version (v1.0.0) from this page.
SKILL.md
---
name: task-orchestrator
description: Use when complex tasks require multiple specialized approaches or parallel work - coordinates Task tool usage for multi-agent workflows, parallel execution patterns, and delegation decision framework for 3-5x faster execution
---
# Task Orchestration
## Core Principle
**Complex tasks should delegate to specialized subagents via Task tool.**
Single agent doing everything serially = slow.
Multiple specialist subagents working parallel = fast.
## When to Orchestrate
### ✅ USE Task Tool When:
- Task requires 3+ distinct skills/expertise areas
- Multiple independent subtasks can run parallel
- Deep specialized knowledge needed (TypeScript, testing, API design)
- Task will take >30 minutes of focused work
- Multiple files/areas need simultaneous updates
- Quality checks can run independently (typecheck + tests + lint)
### ❌ DON'T Use Task Tool When:
- Simple single-skill task (<15 minutes)
- Sequential dependencies (must finish A before starting B)
- Exploratory work (gathering context, reading code)
- Single file edits
- User needs to make decisions between steps
- Debugging (use systematic-debugging skill instead)
## Quick Decision Tree
```
Can task be split into 2+ independent subtasks?
→ Yes: Will each take >15 minutes?
→ Yes: Will parallelization save significant time?
→ Yes: USE TASK TOOL
→ No: Do it directly
→ No: Do it directly
→ No: Do it directly
```
## Parallel Execution Pattern
### ✅ CORRECT: Multiple Tasks in Single Message
```xml
<function_calls>
<invoke name="Task">
<parameter name="subagent_type">general-purpose</parameter>
<parameter name="description">Fix TypeScript errors</parameter>
<parameter name="prompt">
Fix all TypeScript errors in apps/audio-intel/
- Run typecheck to identify errors
- Fix type definitions
- Ensure strict mode compliance
Return summary of fixes made.
</parameter>
</invoke>
<invoke name="Task">
<parameter name="subagent_type">general-purpose</parameter>
<parameter name="description">Update mobile tests</parameter>
<parameter name="prompt">
Update Playwright mobile tests in apps/audio-intel/tests/mobile/
- Add missing touch target tests
- Update responsive breakpoint tests
Return test coverage summary.
</parameter>
</invoke>
<invoke name="Task">
<parameter name="subagent_type">general-purpose</parameter>
<parameter name="description">Generate documentation</parameter>
<parameter name="prompt">
Generate API documentation for audio-intel routes
- Document all endpoints
- Include request/response examples
Return doc structure.
</parameter>
</invoke>
</function_calls>
```
**Result**: All 3 tasks run simultaneously. Total time = slowest task (not sum of all).
### ❌ WRONG: Sequential Messages
```xml
<!-- Don't do this - runs serially -->
<function_calls>
<invoke name="Task">
<parameter name="description">Fix TypeScript</parameter>
...
</invoke>
</function_calls>
<!-- Wait for response -->
<!-- Then send another -->
<function_calls>
<invoke name="Task">
<parameter name="description">Update tests</parameter>
...
</invoke>
</function_calls>
```
**Result**: Tasks run one after another. Total time = sum of all tasks.
## Common Orchestration Patterns
### Pattern 1: Multi-Area Updates
**When**: Updating multiple apps in monorepo
```xml
<function_calls>
<invoke name="Task">
<parameter name="description">Update audio-intel</parameter>
<parameter name="prompt">Add X feature to audio-intel...</parameter>
</invoke>
<invoke name="Task">
<parameter name="description">Update pitch-generator</parameter>
<parameter name="prompt">Add X feature to pitch-generator...</parameter>
</invoke>
<invoke name="Task">
<parameter name="description">Update tracker</parameter>
<parameter name="prompt">Add X feature to tracker...</parameter>
</invoke>
</function_calls>
```
**Time Savings**: 3x faster (20 mins vs 60 mins)
### Pattern 2: Parallel Quality Checks
**When**: Running validation before deployment
```xml
<function_calls>
<invoke name="Task">
<parameter name="description">TypeScript validation</parameter>
<parameter name="prompt">Run typecheck on all apps, fix errors</parameter>
</invoke>
<invoke name="Task">
<parameter name="description">Test validation</parameter>
<parameter name="prompt">Run test suite, fix failures</parameter>
</invoke>
<invoke name="Task">
<parameter name="description">Mobile UX validation</parameter>
<parameter name="prompt">Check 21 mobile UX standards</parameter>
</invoke>
</function_calls>
```
**Time Savings**: 3x faster (15 mins vs 45 mins)
### Pattern 3: Comprehensive Pre-Deployment
**When**: Preparing for production deployment
```xml
<function_calls>
<invoke name="Task">
<parameter name="description">Build all apps</parameter>
<parameter name="prompt">Build audio-intel, tracker, pitch-generator</parameter>
</invoke>
<invoke name="Task">
<parameter name="description">Run test suite</parameter>
<parameter name="prompt">Run full test suite, report failures</parameter>
</invoke>
<invoke name="Task">
<parameter name="description">Generate changelog</parameter>
<parameter name="prompt">Generate customer-facing changelog from recent commits</parameter>
</invoke>
</function_calls>
```
**Time Savings**: 4x faster (15 mins vs 60 mins)
## Subagent Prompt Best Practices
### ✅ Good Prompts
- Clear objective stated first
- Bullet list of specific tasks
- Expected output format specified
- Context provided (file paths, constraints)
- Success criteria defined
**Example**:
```
Fix all TypeScript errors in apps/audio-intel/
Tasks:
- Run typecheck to identify all errors
- Fix type definitions
- Add missing interfaces
- Ensure strict mode compliance
Context:
- Project uses Next.js App Router
- Strict TypeScript mode enabled
- Prisma for database types
Return:
- Summary of errors fixed
- List of files modified
- Verification that typecheck passes
```
### ❌ Bad Prompts
- Vague objectives ("fix stuff")
- No specific tasks listed
- Missing context
- Unclear success criteria
- Too open-ended
**Example**:
```
Fix TypeScript errors
```
## Integration with Customer Acquisition Phase
**During customer acquisition** (NOW - before £500/month):
### Delegate Technical Work
Use Task tool for:
- ✅ Bug fixes (doesn't block customer work)
- ✅ Quality checks (TypeScript, tests, mobile UX)
- ✅ Build/deployment validation
- ✅ Documentation generation
### Keep Customer Work in Main Agent
Handle directly:
- ❌ Customer outreach scripts (needs your judgment)
- ❌ Demo preparation (customer-specific context)
- ❌ Case study creation (authentic voice required)
- ❌ Revenue metric tracking (business decisions)
### Example: Prepare for Liberty Music PR Demo
**USER REQUEST**: "Prepare Audio Intel for Liberty Music PR demo"
**YOUR RESPONSE**:
1. Use brainstorming skill to plan demo improvements
2. Delegate technical prep to subagents:
```xml
<function_calls>
<invoke name="Task">
<parameter name="description">Fix any bugs</parameter>
<parameter name="prompt">
Test Audio Intel critical paths, fix bugs:
- Contact upload flow
- Enrichment process
- Results display
- Export functionality
Return bug fixes summary.
</parameter>
</invoke>
<invoke name="Task">
<parameter name="description">Validate mobile UX</parameter>
<parameter name="prompt">
Run mobile UX validation against 21 standards:
- Touch targets 44px minimum
- Responsive breakpoints working
- Loading states present
- Error handling clear
Return UX validation report.
</parameter>
</invoke>
<invoke name="Task">
<parameter name="description">Generate demo data</parameter>
<parameter name="prompt">
Create demo dataset with BBC Radio contacts:
- BBC Radio 1, Radio 6 Music contacts
- Enriched with real data
- Ready for live demo
Return demo data summary.
</parameter>
</invoke>
</function_calls>
```
3. Synthesize results (main agent)
4. Create demo script (main agent, authentic voice)
## Performance Metrics
### Expected Time Savings
| Task Type | Without Orchestration | With Orchestration | Improvement |
| --------------------- | --------------------- | ------------------ | ----------- |
| Complex multi-area | 60 mins | 15-20 mins | 3-4x faster |
| Multi-app updates | 90 mins | 20-30 mins | 3-4x faster |
| Parallel validation | 45 mins | 15 mins | 3x faster |
| Pre-deployment checks | 60 mins | 15 mins | 4x faster |
### 2-Hour Session Capacity
**Without orchestration**: 1-2 features completed
**With orchestration**: 3-4 features completed
**Improvement**: 2x more work per session
## Common Mistakes
### Mistake 1: Over-Delegating Simple Tasks
```xml
<!-- DON'T: Task is too simple -->
<invoke name="Task">
<parameter name="description">Fix typo</parameter>
<parameter name="prompt">Fix typo in README.md line 42</parameter>
</invoke>
```
**FIX**: Do it directly. Task tool has overhead. Simple edits (<5 mins) should be direct.
### Mistake 2: Sequential Instead of Parallel
```xml
<!-- DON'T: Sends tasks in separate messages -->
Message 1: <invoke name="Task">Fix TypeScript</invoke>
Message 2: <invoke name="Task">Run tests</invoke>
```
**FIX**: Send all Tasks in single message for parallel execution.
### Mistake 3: Unclear Prompts
```xml
<!-- DON'T: Vague prompt -->
<invoke name="Task">
<parameter name="prompt">Make it better</parameter>
</invoke>
```
**FIX**: Be specific. List exact tasks, files, success criteria.
### Mistake 4: Delegating Creative Work
```xml
<!-- DON'T: Requires your authentic voice -->
<invoke name="Task">
<parameter name="prompt">Write customer email for radio promoters</parameter>
</invoke>
```
**FIX**: Keep customer-facing content in main agent. Your voice, context, judgment required.
## Red Flags
If you catch yourself thinking:
- "This task is complex..." → Consider Task tool
- "Multiple things could run parallel..." → Use Task tool
- "This needs deep expertise in X..." → Delegate to Task tool
- "I'll do A, then B, then C..." → Can A, B, C run parallel? Use Task tool
If you notice:
- Spending >30 mins on single task → Should have delegated
- Doing similar work in multiple places → Should have parallelized
- Waiting for one task to finish before starting another → Should have run parallel
## Integration with Skills
**This skill coordinates usage of other skills via Task tool:**
- Use `systematic-debugging` → For bug investigation (then delegate fixes)
- Use `customer-acquisition-focus` → For prioritization (before delegating work)
- Use `brainstorming` → For planning (then delegate implementation)
- Use `changelog-generator` → Via Task tool (parallel with other work)
- Use `mobile-first-validator` → Via Task tool (parallel validation)
## Bottom Line
**Always ask yourself**: "Can this be parallelized?"
- If **YES** → Use Task tool (multiple calls in one message)
- If **NO** → Handle directly
When in doubt, delegate. Subagents are fast and specialized.
**Expected ROI**: 3-5x faster execution on complex tasks = 10-15 hours saved per month = 5-7 extra 2-hour sessions.
That's the difference between hitting £500/month goal by November vs missing it.