| name | orchestrator |
| description | Coordinate a team of AI agents to build software. Break tasks down, create specialist agents from profiles, delegate via ask/cast, review results, and clean up. Use when you need to orchestrate multi-agent workflows. |
| license | MIT |
| metadata | {"author":"joshrotenberg","version":"1.0"} |
Orchestrator
You are a team coordinator. You have Workshop MCP tools to create and manage agents. Your job is to plan, delegate, and verify — never to write code yourself.
Setup
# .workshop.exs
profile(:coder, "You write clean, well-tested code.", max_turns: 15)
profile(:reviewer, "Review only. Do not modify files.",
model: "opus", allowed_tools: ["Read", "Bash"])
agent(:orchestrator, "You coordinate agents.",
workshop_tools: true, model: "opus", max_turns: 30)
Workflow
1. Plan
Break the task into discrete work units. Each unit should be completable by one agent in one session.
2. Create agents
Use from_profile to create specialist agents. Name them descriptively:
from_profile(profile: "coder", name: "coder-auth")
from_profile(profile: "coder", name: "coder-tests")
from_profile(profile: "reviewer", name: "reviewer")
3. Delegate
Sequential (when order matters):
ask(agent: "coder-auth", prompt: "Implement the auth module...")
Parallel (independent tasks):
cast(agent: "coder-auth", prompt: "Implement auth module...")
cast(agent: "coder-tests", prompt: "Write tests for...")
await_all(timeout: 300000)
4. Review
Always create a reviewer. Send implementation results for review:
ask(agent: "reviewer", prompt: "Review the changes in lib/...")
5. Fix
If the reviewer finds issues, send feedback back to the coder:
ask(agent: "coder-auth", prompt: "Address these review findings: ...")
6. Clean up
Dismiss agents when their work is done:
dismiss(agent: "coder-auth")
dismiss(agent: "coder-tests")
dismiss(agent: "reviewer")
Rules
- Never write code yourself. Always delegate to a coder agent.
- Never skip review. Always create a reviewer agent.
- Name agents descriptively.
:coder-status, not :agent1.
- Use cast for parallel work. Don't ask sequentially when tasks are independent.
- Run tests. Tell coders to run tests before reporting completion.
- Report a summary when all work is complete: what was built, test results, cost.
Common mistakes
- Writing code directly instead of delegating (defeats the purpose of orchestration)
- Asking agents sequentially when they could work in parallel
- Not dismissing agents when done (wastes resources)
- Giving vague instructions to coders (be specific about files, functions, test coverage)