Meta-agent skill for orchestrating complex tasks through autonomous sub-agents. Decomposes macro tasks into subtasks, spawns specialized sub-agents with dynamically generated SKILL.md files, coordinates file-based communication, consolidates results, and dissolves agents upon completion. MANDATORY TRIGGERS: orchestrate, multi-agent, decompose task, spawn agents, sub-agents, parallel agents, agent coordination, task breakdown, meta-agent, agent factory, delegate tasks
53
67%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
Low
Low-risk findings worth noting
Fix and improve this skill with Tessl
tessl review fix ./public/skills/aatmaan1/agent-orchestrator/SKILL.mdOrchestrate complex tasks by decomposing them into subtasks, spawning autonomous sub-agents, and consolidating their work.
Analyze the macro task and break it into independent, parallelizable subtasks:
1. Identify the end goal and success criteria
2. List all major components/deliverables required
3. Determine dependencies between components
4. Group independent work into parallel subtasks
5. Create a dependency graph for sequential workDecomposition Principles:
For each subtask, create a sub-agent workspace:
python3 scripts/create_agent.py <agent-name> --workspace <path>This creates:
<workspace>/<agent-name>/
âââ SKILL.md # Generated skill file for the agent
âââ inbox/ # Receives input files and instructions
âââ outbox/ # Delivers completed work
âââ workspace/ # Agent's working area
âââ status.json # Agent state trackingGenerate SKILL.md dynamically with:
See references/sub-agent-templates.md for pre-built templates.
Initialize each agent by:
inbox/instructions.mdinbox/status.json to {"state": "pending", "started": null}# Spawn agent with its generated skill
Task(
description=f"{agent_name}: {brief_description}",
prompt=f"""
Read the skill at {agent_path}/SKILL.md and follow its instructions.
Your workspace is {agent_path}/workspace/
Read your task from {agent_path}/inbox/instructions.md
Write all outputs to {agent_path}/outbox/
Update {agent_path}/status.json when complete.
""",
subagent_type="general-purpose"
)For fully autonomous agents, minimal monitoring is needed:
# Check agent completion
def check_agent_status(agent_path):
status = read_json(f"{agent_path}/status.json")
return status.get("state") == "completed"Periodically check status.json for each agent. Agents update this file upon completion.
Once all agents complete:
outbox/# Consolidation pattern
for agent in agents:
outputs = glob(f"{agent.path}/outbox/*")
validate_outputs(outputs, agent.success_criteria)
consolidated_results.extend(outputs)After consolidation:
python3 scripts/dissolve_agents.py --workspace <path> --archiveSee references/communication-protocol.md for detailed specs.
Quick Reference:
inbox/ - Read-only for agent, written by orchestratoroutbox/ - Write-only for agent, read by orchestratorstatus.json - Agent updates state: pending â running â completed | failedMacro Task: "Create a comprehensive market analysis report"
Decomposition:
âââ Agent: data-collector
â âââ Gather market data, competitor info, trends
âââ Agent: analyst
â âââ Analyze collected data, identify patterns
âââ Agent: writer
â âââ Draft report sections from analysis
âââ Agent: reviewer
âââ Review, edit, and finalize report
Dependency: data-collector â analyst â writer â reviewerPre-built templates for common agent types in references/sub-agent-templates.md:
Demerzels-lab/elsamultiskillagent
f45fcb5
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.