name: parallel-execution
Execute multiple independent tasks simultaneously using multiple subagent invocations in a single message. Reduces implementation time by 50-80% for multi-component features.
Announce at start: "I'm using parallel-execution to run [N] independent tasks simultaneously."
Check subtask JSON files for parallel: true:
bash .opencode/skills/task-management/router.sh parallel {feature}
Output shows which tasks can run together:
Batch 1 (Ready now):
- subtask_01.json (parallel: true)
- subtask_02.json (parallel: true)
Batch 2 (After Batch 1):
- subtask_03.json (depends_on: ["01", "02"])
Make multiple task() calls in SINGLE message:
I'll execute Batch 1 tasks in parallel:
task(
subagent_type="CoderAgent",
description="Execute subtask 01",
prompt="Read .tmp/tasks/feature/subtask_01.json and implement..."
)
task(
subagent_type="CoderAgent",
description="Execute subtask 02",
prompt="Read .tmp/tasks/feature/subtask_02.json and implement..."
)
CRITICAL: Both task() calls in SAME message—not separate messages.
All tasks in batch must complete before proceeding to next batch.
bash .opencode/skills/task-management/router.sh status {feature}
Check all tasks in batch marked status: "completed".
Once Batch 1 complete, proceed to Batch 2:
task(
subagent_type="CoderAgent",
description="Execute subtask 03",
prompt="Read .tmp/tasks/feature/subtask_03.json and integrate..."
)
I'll convert these 5 subagent files in parallel:
task(subagent_type="CoderAgent", description="Convert auth-agent",
prompt="Convert .opencode/agent/subagents/auth-agent.md to new format...")
task(subagent_type="CoderAgent", description="Convert user-agent",
prompt="Convert .opencode/agent/subagents/user-agent.md to new format...")
task(subagent_type="CoderAgent", description="Convert payment-agent",
prompt="Convert .opencode/agent/subagents/payment-agent.md to new format...")
task(subagent_type="CoderAgent", description="Convert notification-agent",
prompt="Convert .opencode/agent/subagents/notification-agent.md to new format...")
task(subagent_type="CoderAgent", description="Convert analytics-agent",
prompt="Convert .opencode/agent/subagents/analytics-agent.md to new format...")
Time savings: 5 tasks × 10 min = 50 min sequential → ~10 min parallel (80% faster)
✅ GOOD (isolated files):
task(CoderAgent, "Create src/auth/service.ts")
task(CoderAgent, "Create src/user/service.ts")
task(CoderAgent, "Create src/payment/service.ts")
❌ BAD (same file):
task(CoderAgent, "Add auth function to src/utils/helpers.ts")
task(CoderAgent, "Add validation function to src/utils/helpers.ts")
This causes merge conflicts—run sequentially instead.
Load context ONCE before parallel execution:
# Load context BEFORE parallel tasks
Read: .opencode/context/core/standards/code-quality.md
Read: .opencode/context/core/standards/security-patterns.md
# Now all parallel tasks have same context
task(CoderAgent, "Implement auth service...")
task(CoderAgent, "Implement user service...")
DO NOT let each task discover context separately (slower).
Task fails during parallel execution:
Tasks completing out of order:
File conflicts:
parallel: falseKey Pattern: Multiple independent task() calls in SAME message = parallel execution.