Help us improve
Share bugs, ideas, or general feedback.
From oac
Executes independent subtasks in parallel via multiple task() calls in one message. Use for multi-component features with no shared files or dependencies to cut implementation time.
npx claudepluginhub darrenhinde/openagentscontrol --plugin oacHow this skill is triggered — by the user, by Claude, or both
Slash command
/oac:parallel-executionThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Execute multiple independent tasks simultaneously using multiple subagent invocations in a single message. Reduces implementation time by 50-80% for multi-component features.
Launches parallel subagents via the Task tool with run_in_background: true to concurrently implement features, analyze directories, or run independent tasks.
Dispatches parallel subagents for 2+ independent tasks with no shared state. Use when tasks are well-defined and have no sequential dependency.
Dispatches parallel subagents for 2+ independent tasks without file or state conflicts or dependencies. Triggers on 'run these in parallel', plans with separate domains, includes prompt templates and verification.
Share bugs, ideas, or general feedback.
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.