Dispatching Parallel Agents
jnMetaCode/superpowers-zh
当面对 2 个以上可以独立进行、无共享状态或顺序依赖的任务时使用
Parallel execution engine for dispatching worker agents. An agent skill from Ibrahim-3d/orchestrator-supaconductor.
$ npx skills add Ibrahim-3d/orchestrator-supaconductor --skill parallel-dispatch -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install Ibrahim-3d/orchestrator-supaconductor parallel-dispatch --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/Ibrahim-3d/orchestrator-supaconductor.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/parallel-dispatch .claude/skills/parallel-dispatch && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "parallel-dispatch" agent skill from https://github.com/Ibrahim-3d/orchestrator-supaconductor/tree/master/skills/parallel-dispatch into .claude/skills/parallel-dispatch/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "parallel-dispatch", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/Ibrahim-3d/orchestrator-supaconductor/tree/master/skills/parallel-dispatchType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add Ibrahim-3d/orchestrator-supaconductor --skill parallel-dispatch -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install Ibrahim-3d/orchestrator-supaconductor parallel-dispatch --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Ibrahim-3d/orchestrator-supaconductor.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/parallel-dispatch .agents/skills/parallel-dispatch && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "parallel-dispatch" agent skill from https://github.com/Ibrahim-3d/orchestrator-supaconductor/tree/master/skills/parallel-dispatch into .agents/skills/parallel-dispatch/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "parallel-dispatch", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add Ibrahim-3d/orchestrator-supaconductor --skill parallel-dispatch -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install Ibrahim-3d/orchestrator-supaconductor parallel-dispatch --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Ibrahim-3d/orchestrator-supaconductor.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/parallel-dispatch .cursor/skills/parallel-dispatch && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "parallel-dispatch" agent skill from https://github.com/Ibrahim-3d/orchestrator-supaconductor/tree/master/skills/parallel-dispatch into .cursor/skills/parallel-dispatch/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "parallel-dispatch", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/Ibrahim-3d/orchestrator-supaconductor.git --path skills/parallel-dispatch--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add Ibrahim-3d/orchestrator-supaconductor --skill parallel-dispatch -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install Ibrahim-3d/orchestrator-supaconductor parallel-dispatch --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Ibrahim-3d/orchestrator-supaconductor.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/parallel-dispatch .gemini/skills/parallel-dispatch && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "parallel-dispatch" agent skill from https://github.com/Ibrahim-3d/orchestrator-supaconductor/tree/master/skills/parallel-dispatch into .gemini/skills/parallel-dispatch/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "parallel-dispatch", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install Ibrahim-3d/orchestrator-supaconductor parallel-dispatchInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add Ibrahim-3d/orchestrator-supaconductor --skill parallel-dispatch -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/Ibrahim-3d/orchestrator-supaconductor.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/parallel-dispatch .github/skills/parallel-dispatch && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "parallel-dispatch" agent skill from https://github.com/Ibrahim-3d/orchestrator-supaconductor/tree/master/skills/parallel-dispatch into .github/skills/parallel-dispatch/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "parallel-dispatch", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add Ibrahim-3d/orchestrator-supaconductor --skill parallel-dispatch -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install Ibrahim-3d/orchestrator-supaconductor parallel-dispatch --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Ibrahim-3d/orchestrator-supaconductor.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/parallel-dispatch .opencode/skills/parallel-dispatch && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "parallel-dispatch" agent skill from https://github.com/Ibrahim-3d/orchestrator-supaconductor/tree/master/skills/parallel-dispatch into .opencode/skills/parallel-dispatch/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "parallel-dispatch", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
parallel-dispatchParallel execution engine for dispatching worker agents. An agent skill from Ibrahim-3d/orchestrator-supaconductor.
Parallel Dispatch is an agent skill from Ibrahim-3d/orchestrator-supaconductor. Parallel execution engine for dispatching worker agents. Used by conductor-orchestrator to spawn multiple workers simultaneously from DAG parallel groups. Handles dispatch, monitoring, aggregation, and failure recovery.
Its SKILL.md is about 4k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
The repository describes itself as: Multi-agent orchestration system for Claude Code with parallel execution, automated quality gates, Board of Directors, and bundled Superpowers skills. The licence is AGPL-3.0.
3 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 76c9b10. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md (its code samples are python).
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Parallel Dispatch loads about 4k tokens when it runs. Until then it costs about 59 tokens; SKILL.md has 132 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from Ibrahim-3d/orchestrator-supaconductor at commit 76c9b10, republished under its AGPL-3.0 licence (© Ibrahim-3d). 132 words, ~4,035 tokens.
.claude/skills/parallel-dispatch/SKILL.md (or your agent's skills folder).Engine for executing DAG tasks in parallel using worker agents.
Tasks from the DAG that can execute simultaneously:
Maximum 5 concurrent workers to prevent context overflow:
def get_executable_parallel_groups(dag: dict, completed: set) -> list:
"""
Get parallel groups that are ready to execute.
A group is ready if all dependencies are completed.
"""
ready_groups = []
for pg in dag.get("parallel_groups", []):
# Check if all tasks in group have met dependencies
all_ready = True
for task_id in pg["tasks"]:
task = next((n for n in dag["nodes"] if n["id"] == task_id), None)
if not task:
continue
# Check if all dependencies completed
for dep in task.get("depends_on", []):
if dep not in completed:
all_ready = False
break
if not all_ready:
break
if all_ready:
# Check no tasks in group are already completed
if not any(t in completed for t in pg["tasks"]):
ready_groups.append(pg)
return ready_groupsdef dispatch_parallel_group(
parallel_group: dict,
dag: dict,
track_id: str,
bus_path: str
) -> list:
"""
Dispatch all workers for a parallel group.
Returns list of dispatched worker handles.
"""
from agent_factory import create_workers_for_parallel_group, dispatch_workers
# 1. Create worker agents
workers = create_workers_for_parallel_group(
parallel_group, dag, track_id, bus_path
)
# 2. Check pool capacity
active_workers = count_active_workers(bus_path)
if active_workers + len(workers) > 5:
# Split into batches
batch_size = 5 - active_workers
workers = workers[:batch_size]
# 3. Dispatch workers via parallel Task calls
handles = dispatch_workers(workers)
# 4. Log dispatch
for worker in workers:
post_message(bus_path, "WORKER_DISPATCHED", "orchestrator", {
"worker_id": worker["worker_id"],
"task_id": worker["task_id"],
"parallel_group": parallel_group["id"]
})
return handlesasync def monitor_parallel_group(
parallel_group: dict,
workers: list,
bus_path: str,
timeout_minutes: int = 60
) -> dict:
"""
Monitor workers until all complete or fail.
Returns aggregated results.
"""
import asyncio
from datetime import datetime, timedelta
start_time = datetime.utcnow()
timeout = timedelta(minutes=timeout_minutes)
pending_tasks = set(pg["tasks"] for pg in [parallel_group])
completed_tasks = set()
failed_tasks = {}
while pending_tasks and (datetime.utcnow() - start_time) < timeout:
# Check for completions
for task_id in list(pending_tasks):
event_file = f"{bus_path}/events/TASK_COMPLETE_{task_id}.event"
if os.path.exists(event_file):
pending_tasks.remove(task_id)
completed_tasks.add(task_id)
# Get completion details
msgs = read_messages(bus_path, msg_type="TASK_COMPLETE")
for msg in msgs:
if msg["payload"]["task_id"] == task_id:
# Log success
break
# Check for failures
for task_id in list(pending_tasks):
event_file = f"{bus_path}/events/TASK_FAILED_{task_id}.event"
if os.path.exists(event_file):
pending_tasks.remove(task_id)
# Get failure details
msgs = read_messages(bus_path, msg_type="TASK_FAILED")
for msg in msgs:
if msg["payload"]["task_id"] == task_id:
failed_tasks[task_id] = msg["payload"]["error"]
break
# Check for stale workers (no heartbeat)
stale = check_stale_workers(bus_path, threshold_minutes=10)
for stale_worker in stale:
task_id = stale_worker["task_id"]
if task_id in pending_tasks:
failed_tasks[task_id] = f"Worker stale: no heartbeat for {stale_worker['minutes_stale']} min"
pending_tasks.remove(task_id)
# Check for deadlocks
deadlock_cycle = detect_deadlock(bus_path)
if deadlock_cycle:
for worker_id in deadlock_cycle:
# Find task for this worker
status = get_worker_status(bus_path, worker_id)
if status and status["task_id"] in pending_tasks:
failed_tasks[status["task_id"]] = f"Deadlock detected in cycle: {deadlock_cycle}"
pending_tasks.remove(status["task_id"])
await asyncio.sleep(5)
# Handle timeout
for task_id in pending_tasks:
failed_tasks[task_id] = "Timeout: task did not complete within time limit"
return {
"completed": list(completed_tasks),
"failed": failed_tasks,
"success": len(failed_tasks) == 0
}When one worker fails, isolate the failure:
def handle_worker_failure(
failed_task_id: str,
dag: dict,
bus_path: str
) -> dict:
"""
Handle a failed worker. Isolate failure and continue with independent tasks.
Returns impact analysis.
"""
# 1. Find tasks that depend on the failed task
blocked_tasks = []
for node in dag["nodes"]:
if failed_task_id in node.get("depends_on", []):
blocked_tasks.append(node["id"])
# 2. Recursively find all downstream tasks
def find_all_downstream(task_id, visited=None):
if visited is None:
visited = set()
if task_id in visited:
return []
visited.add(task_id)
downstream = []
for node in dag["nodes"]:
if task_id in node.get("depends_on", []):
downstream.append(node["id"])
downstream.extend(find_all_downstream(node["id"], visited))
return downstream
all_blocked = set(blocked_tasks)
for task in blocked_tasks:
all_blocked.update(find_all_downstream(task))
# 3. Mark blocked tasks
for task_id in all_blocked:
post_message(bus_path, "TASK_BLOCKED", "orchestrator", {
"task_id": task_id,
"blocked_by": failed_task_id,
"reason": "Upstream task failed"
})
# 4. Find tasks that can still proceed
all_tasks = set(n["id"] for n in dag["nodes"])
can_proceed = all_tasks - all_blocked - {failed_task_id}
return {
"failed_task": failed_task_id,
"blocked_tasks": list(all_blocked),
"can_proceed": list(can_proceed),
"needs_fix": True
}def attempt_recovery(
failure_result: dict,
dag: dict,
track_id: str,
bus_path: str,
max_retries: int = 2
) -> dict:
"""
Attempt to recover from failure.
"""
failed_task = failure_result["failed_task"]
# 1. Check retry count
retry_key = f"retry_{failed_task}"
retries = get_coordination_log_count(bus_path, retry_key)
if retries >= max_retries:
return {
"action": "ESCALATE",
"reason": f"Task {failed_task} failed {retries} times, needs manual intervention"
}
# 2. Log retry attempt
log_coordination(bus_path, {
"type": retry_key,
"attempt": retries + 1,
"timestamp": datetime.utcnow().isoformat() + "Z"
})
# 3. Re-dispatch failed task
task = next((n for n in dag["nodes"] if n["id"] == failed_task), None)
if task:
worker = create_worker_agent(task, track_id, bus_path)
dispatch_workers([worker])
return {
"action": "RETRY",
"task": failed_task,
"attempt": retries + 1
}
return {"action": "SKIP", "reason": "Task not found in DAG"}def resolve_deadlock(
deadlock_cycle: list,
bus_path: str
) -> dict:
"""
Resolve a detected deadlock by releasing locks from oldest worker.
"""
if not deadlock_cycle:
return {"resolved": True, "action": "none"}
# Find oldest worker in cycle (longest waiting)
oldest_worker = None
oldest_time = None
for worker_id in deadlock_cycle:
status = get_worker_status(bus_path, worker_id)
if status:
started = datetime.fromisoformat(status.get("started_at", "").replace("Z", ""))
if oldest_time is None or started < oldest_time:
oldest_time = started
oldest_worker = worker_id
if oldest_worker:
# Release all locks held by this worker
release_all_locks_for_worker(bus_path, oldest_worker)
# Post resolution message
post_message(bus_path, "DEADLOCK_RESOLVED", "orchestrator", {
"cycle": deadlock_cycle,
"victim": oldest_worker,
"action": "released_locks"
})
return {
"resolved": True,
"action": "released_locks",
"victim": oldest_worker
}
return {"resolved": False, "action": "manual_intervention_needed"}def aggregate_parallel_group_results(
parallel_group: dict,
bus_path: str
) -> dict:
"""
Aggregate results from completed parallel group.
"""
results = {
"parallel_group_id": parallel_group["id"],
"tasks": {},
"files_modified": [],
"commits": []
}
for task_id in parallel_group["tasks"]:
# Get completion message
msgs = read_messages(bus_path, msg_type="TASK_COMPLETE")
for msg in msgs:
if msg["payload"]["task_id"] == task_id:
results["tasks"][task_id] = {
"status": "completed",
"commit_sha": msg["payload"].get("commit_sha"),
"files": msg["payload"].get("files_modified", [])
}
results["files_modified"].extend(msg["payload"].get("files_modified", []))
if msg["payload"].get("commit_sha"):
results["commits"].append(msg["payload"]["commit_sha"])
break
else:
# Check for failure
fail_msgs = read_messages(bus_path, msg_type="TASK_FAILED")
for msg in fail_msgs:
if msg["payload"]["task_id"] == task_id:
results["tasks"][task_id] = {
"status": "failed",
"error": msg["payload"].get("error")
}
break
results["all_succeeded"] = all(
t.get("status") == "completed"
for t in results["tasks"].values()
)
return resultsasync def execute_parallel_phase(
dag: dict,
track_id: str,
bus_path: str,
metadata: dict
) -> dict:
"""
Execute all parallel groups from a DAG phase.
Main entry point for parallel execution.
"""
completed_tasks = set(metadata.get("completed_tasks", []))
phase_results = {
"parallel_groups_executed": [],
"all_tasks_completed": [],
"failed_tasks": {},
"success": True
}
while True:
# Get next ready parallel groups
ready_groups = get_executable_parallel_groups(dag, completed_tasks)
if not ready_groups:
# No more groups to execute
break
for pg in ready_groups:
# Skip if all tasks already completed
if all(t in completed_tasks for t in pg["tasks"]):
continue
# Dispatch workers
workers = dispatch_parallel_group(pg, dag, track_id, bus_path)
# Monitor until completion
result = await monitor_parallel_group(pg, workers, bus_path)
# Update completed set
completed_tasks.update(result["completed"])
phase_results["all_tasks_completed"].extend(result["completed"])
# Handle failures
if result["failed"]:
phase_results["failed_tasks"].update(result["failed"])
phase_results["success"] = False
# Attempt recovery or continue with independent tasks
for failed_task, error in result["failed"].items():
impact = handle_worker_failure(failed_task, dag, bus_path)
recovery = attempt_recovery(impact, dag, track_id, bus_path)
if recovery["action"] == "ESCALATE":
phase_results["escalate"] = True
phase_results["escalate_reason"] = recovery["reason"]
phase_results["parallel_groups_executed"].append(pg["id"])
# Cleanup workers
for worker in workers:
cleanup_worker(worker["worker_id"])
# Update metadata
metadata["parallel_state"]["parallel_groups_completed"].extend(
[pg["id"] for pg in ready_groups]
)
save_metadata(track_id, metadata)
return phase_results# In conductor-orchestrator PARALLEL_EXECUTE step:
async def step_parallel_execute(track_id: str, metadata: dict):
# 1. Parse DAG from plan.md
dag = parse_dag_from_plan(track_id)
# 2. Initialize message bus
bus_path = init_message_bus(f"conductor/tracks/{track_id}")
# 3. Execute all parallel groups
result = await execute_parallel_phase(dag, track_id, bus_path, metadata)
# 4. Update metadata
metadata["loop_state"]["parallel_state"]["total_workers_spawned"] = ...
metadata["loop_state"]["parallel_state"]["completed_workers"] = len(result["all_tasks_completed"])
metadata["loop_state"]["parallel_state"]["failed_workers"] = len(result["failed_tasks"])
# 5. Determine next step
if result["success"]:
return "EVALUATE_EXECUTION"
elif result.get("escalate"):
return "COMPLETE_WITH_WARNINGS"
else:
return "FIX"For parallel groups with shared files:
# Worker before modifying shared file:
if not acquire_lock(bus_path, "src/shared/file.ts", worker_id):
# Post blocked message and wait
post_message(bus_path, "BLOCKED", worker_id, {
"task_id": task_id,
"waiting_for": "FILE_UNLOCK_src/shared/file.ts",
"resource": "src/shared/file.ts"
})
# Poll for unlock
if wait_for_event(bus_path, "FILE_UNLOCK_*.event", timeout=300):
# Retry lock
acquire_lock(bus_path, "src/shared/file.ts", worker_id)Workers notify dependents when complete:
# Worker on completion:
unblocked_tasks = find_tasks_unblocked_by(task_id, dag)
post_message(bus_path, "TASK_COMPLETE", worker_id, {
"task_id": task_id,
"commit_sha": commit_sha,
"files_modified": files,
"unblocks": unblocked_tasks
})
# Create event files for each unblocked task
for unblocked in unblocked_tasks:
Path(f"{bus_path}/events/DEP_READY_{unblocked}.event").touch()© Ibrahim-3d, AGPL-3.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in skills/parallel-dispatch of Ibrahim-3d/orchestrator-supaconductor.
Open the folder on GitHubat commit 76c9b10
Parallel Dispatch next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Parallel Dispatch this skillIbrahim-3d/orchestrator-supaconductor | 380 | — | ~4k | Automated safety check: Pass | AGPL-3.0 | |
| Dispatching Parallel AgentsjnMetaCode/superpowers-zh | 8.3k | — | ~778 | Automated safety check: Pass | MIT | |
| Dispatchsickn33/agentic-awesome-skills | 47k | 1 repos | ~2.1k | Automated safety check: Pass | MIT | |
| Conductor Setupsickn33/agentic-awesome-skills | 47k | 2 repos | ~1k | Automated safety check: Notes | MIT | |
| Dispatching Parallel AgentsGanyuanRan/Aegis | 1.3k | 1 repos | ~972 | Automated safety check: Pass | MIT | |
| Golem Parallel Workers Moonbitgolemcloud/golem | 1.5k | — | ~1.7k | Automated safety check: Pass | Custom licence |
jnMetaCode/superpowers-zh
当面对 2 个以上可以独立进行、无共享状态或顺序依赖的任务时使用
sickn33/agentic-awesome-skills
Delegate tasks to OpenAI Codex CLI and Google Antigravity CLI from Claude Code with topic-aware sessions
sickn33/agentic-awesome-skills
Configure a Rails project to work with Conductor (parallel coding agents)
GanyuanRan/Aegis
A skill your agent uses when facing 2+ independent tasks without a written plan, with no conflicting shared mutable state or sequential dependencies, where parallel delegation beats inline cost…
golemcloud/golem
Fan out work to multiple parallel agents and collect results in a MoonBit Golem project.
golemcloud/golem
Fan out work to multiple parallel agents and collect results in a Rust Golem project.
Ibrahim-3d/orchestrator-supaconductor
Technical leadership guidance for engineering teams, architecture decisions, and technology strategy.
Ibrahim-3d/orchestrator-supaconductor
A skill your agent uses when working with Conductor's context-driven development methodology, managing project context artifacts, or understanding the relationship between product.md, tech-stack.md…
Ibrahim-3d/orchestrator-supaconductor
Creates specialized worker agents dynamically from templates.
Ibrahim-3d/orchestrator-supaconductor
Simulate a 5-member expert board deliberation for major decisions.
Ibrahim-3d/orchestrator-supaconductor
A skill your agent uses when completing a track that changes pricing, AI models, product features, or asset pipelines — syncs business context documents across all tiers.
Ibrahim-3d/orchestrator-supaconductor
Load project context efficiently for Conductor workflows. An agent skill from Ibrahim-3d/orchestrator-supaconductor.
Parallel execution engine for dispatching worker agents. An agent skill from Ibrahim-3d/orchestrator-supaconductor. Parallel Dispatch is an agent skill from Ibrahim-3d/orchestrator-supaconductor. Parallel execution engine for dispatching worker agents.
Run `npx skills add Ibrahim-3d/orchestrator-supaconductor --skill parallel-dispatch -a claude-code`. Or copy the skill folder (skills/parallel-dispatch in Ibrahim-3d/orchestrator-supaconductor) into .claude/skills/parallel-dispatch in your project. Claude Code loads it when a task matches its description.
Run `npx skills add Ibrahim-3d/orchestrator-supaconductor --skill parallel-dispatch -a codex`. Or copy the skill folder (skills/parallel-dispatch in Ibrahim-3d/orchestrator-supaconductor) into .agents/skills/parallel-dispatch in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add Ibrahim-3d/orchestrator-supaconductor --skill parallel-dispatch -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/parallel-dispatch, .gemini/skills/parallel-dispatch, .github/skills/parallel-dispatch and .opencode/skills/parallel-dispatch in your project.
SKILL.md names no scripts, command-line tools or credentials: Parallel Dispatch is instructions for the agent only. Our summary lists: Python 3.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Parallel Dispatch is published under the AGPL-3.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 4k tokens (SKILL.md is roughly 16k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Parallel Dispatch: Dispatching Parallel Agents (jnMetaCode/superpowers-zh, 8.3k stars), Dispatch (sickn33/agentic-awesome-skills, 47k stars), Conductor Setup (sickn33/agentic-awesome-skills, 47k stars) and Dispatching Parallel Agents (GanyuanRan/Aegis, 1.3k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
Ibrahim-3d (a GitHub user) maintains it in Ibrahim-3d/orchestrator-supaconductor, which has 380 GitHub stars. The repository holds 27 skills in this directory. The repository was last updated on September 27, 2026.
Source: Ibrahim-3d/orchestrator-supaconductor on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.