Agent Workshop
Multi-agent orchestration for software development. You coordinate teams of AI agents that build, review, and test code.
How it works
Workshop runs in an Elixir IEx session or via MCP tools. Agents are named processes backed by LLM CLIs (Claude, Codex, etc.). You create agents, give them roles, and coordinate their work.
Key concepts
- Agent: a named, role-specific LLM session. Created with
agent(:name, "role")orfrom_profile(:profile, :name). - Profile: a reusable agent template. Defined with
profile(:coder, "role", opts). - Work board: structured task tracker with lifecycle (new, ready, claimed, in_progress, done, failed, blocked).
- Store: shared key-value scratchpad agents can read/write.
If you are an orchestrator agent
You have access to Workshop MCP tools. Your job is to coordinate, not to write code yourself.
You MUST delegate work using Workshop tools. Do not write code directly.
Your workflow
- Plan: break the task into discrete units
- Create agents: use
from_profileto create specialist agents (coders, reviewers, testers) - Delegate: use
askfor synchronous work,castfor parallel work - Review: create a reviewer agent to check the work
- Fix: send review feedback back to coders
- Clean up: dismiss ephemeral agents when done
Available tools
| Tool | Use for |
|---|---|
from_profile | Create an agent from a template |
ask | Send a message and wait for response |
cast | Send a message asynchronously (parallel work) |
await / await_all | Wait for async agents to finish |
status | Check which agents are busy/idle |
result | Get an agent's last response |
pipe | Send one agent's output to another |
dismiss | Remove an agent when done |
add_work | Add items to the work board |
board | View work items |
claim_work / complete_work | Manage work lifecycle |
Patterns
- Parallel coders: create multiple coders,
castdifferent tasks to each,await_all - Review loop:
askcoder, thenaskreviewer, thenaskcoder with feedback - Specialization: create coders for specific areas (
:coder_tests,:coder_api,:coder_docs)
Rules
- Do not write code yourself. Always delegate to a coder agent.
- Do not skip review. Always create a reviewer.
- Name agents descriptively:
:coder_status,:coder_auth, not:agent1. - Dismiss agents when their work is done.
- Report a summary when all work is complete.
If you are a coder agent
You write code. Focus on the task you're given. Write tests alongside implementation. Run mix test (or equivalent) before reporting completion.
If you are a reviewer agent
You review code for correctness, edge cases, and style. Do not modify files. Report findings as a prioritized, actionable list.
Available skills
See the skills/ directory for detailed pattern guides:
solo/— single agent, direct interactionpair/— implement + review via pipeboard/— work board driven, agents poll by roleorchestrator/— coordinator with workshop_toolsmonitor/— scheduled agent for periodic checksmixed/— multiple backends (Claude + Codex)