coliseum-dispatch
Dispatches a composed set of assignment envelopes to domain-expert subagents in parallel, in a single message with multiple Agent tool calls. Enforces the no-pingpong gate via the pingpong-detector agent before any dispatch fires. Use when invoked by the coliseum-orchestrator as Phase 3; when envelopes are already composed and the next step is parallel execution; or when the user asks to "fan out" or "dispatch in parallel." Produces a dispatch log capturing what was sent, when, and where returns land.
What this skill does
# Coliseum Dispatch You are firing the assignment envelopes at their target subagents — in parallel, in a single message, with one Agent tool call per envelope. This is where the force-multiplication happens. Sequential dispatch is a failure mode here. ## The hard rule of this phase **Parallel by default.** Use a single message with multiple Agent tool calls. If you find yourself making N sequential Agent calls across N messages, you have failed the force-multiplication contract. The only acceptable reason for sequential dispatch is a *real* dependency between envelopes — and if real dependency exists, that envelope should have been demoted to a Phase-4 follow-up during Phase 2, not dispatched here. ## Procedure ### Step 1: Run the no-pingpong gate Before any dispatch: 1. Invoke the `pingpong-detector` agent with `phase-2-assignments.md` as the input. 2. Wait for the verdict. Possible verdicts: - **PASS** → proceed to Step 2. - **PARTIAL** → fix the flagged envelopes (or surface to user and proceed only on explicit approval). - **FAIL** → return to Phase 2 to repair envelopes. Do not dispatch. The gate is non-optional. A dispatched ping-pong-prone envelope wastes both the subagent's tokens and the user's. Catching it here is cheap. ### Step 2: Pre-flight per envelope For each envelope, confirm: - The recommended subagent type exists in the agent roster available at runtime. - If the recommended type does not exist, substitute the closest available type and note the substitution in the dispatch log. - The return-file path's parent directory exists; create it if not (`returns/` under the working directory). ### Step 3: Compose the parallel dispatch In a SINGLE message, issue ONE Agent tool call per envelope. Each call: - `description`: short, e.g., `"Assignment-NNN-<dim-slug>"`. - `subagent_type`: from envelope's "Recommended subagent type" section (or substituted type). - `prompt`: the full envelope content, self-contained, including the handoff block. The recipient subagent must read **only** this prompt — no implicit reference to conversation context. The prompt must end with the explicit instruction: > Write your return artifact to `<absolute path from envelope>`. Use the structure required by the envelope's Return format section. If you reach an unresolvable blocker, write a `BLOCKED` block in the return artifact rather than coming back to ask. Continue with any remaining executable portion of the assignment. ### Step 4: Decide foreground vs background Two modes for the parallel dispatch: - **Foreground** (default): the orchestrator waits for all subagents to complete before proceeding to Phase 4. Right when reconciliation is the immediate next step. - **Background** (`run_in_background: true`): use when subagent work is long-running and the orchestrator has independent work to do meanwhile. The harness notifies on completion. For the standard grain-to-coliseum flow, foreground is correct — reconciliation can't begin until returns are in. ### Step 5: Write the dispatch log Immediately after the dispatch message goes out (not after returns arrive), write `phase-3-dispatch-log.md`: ```markdown # Phase 3 — Dispatch log ## Grain (verbatim) > <quoted grain> ## Dispatch summary - Total envelopes dispatched: <N> - Dispatch mode: foreground | background - Dispatch timestamp: <ISO 8601> - No-pingpong gate verdict: PASS | PARTIAL (notes…) | (would not be FAIL — we'd have returned to Phase 2) ## Dispatch table | Assignment ID | Dimension | Subagent type | Substitution? | Return path | |---|---|---|---|---| | assignment-001-… | … | … | none | returns/assignment-001-…-return.md | | assignment-002-… | … | … | (general-purpose substituted for absent specialist X) | returns/… | ## Returns expected - <list each return-path with checkbox for arrival status> ## Substitutions and rationale <for each substitution made in Step 2, one paragraph> ``` ### Step 6: Track return arrivals After the dispatch message, the orchestrator's next action is to wait for returns (foreground) or to be notified (background). When each return arrives, update the dispatch log's "Returns expected" checklist. If any return arrives with a `BLOCKED` block, that is a signal — not a failure. The reconciliation phase handles blockers explicitly. ### Step 7: Hand off to reconciliation When all returns are in (or all returns + recorded blockers), invoke the `coliseum-reconciliation` skill with the working directory as argument. ## Gate self-check before Step 3 Before composing the parallel dispatch message, verify: - [ ] All envelopes passed the no-pingpong gate (or PARTIAL was explicitly approved by user) - [ ] Each envelope's prompt is fully self-contained (you could send it to a stranger who has no conversation history) - [ ] All envelopes are dispatched in a single message (not split across messages) - [ ] The single message has exactly N Agent tool calls for N envelopes - [ ] Each subagent's return path is unique and parent-dir-existent ## Common failure to avoid **Sequential dispatch dressed up as parallel.** It is easy to write a single message containing multiple Agent calls but secretly intend them to run in sequence (e.g., one waits on another's return). The Agent tool does not enforce that — if you call N agents in one message, they all start at roughly the same time. If you've baked in a sequence by way of envelope content (e.g., assignment-002's prompt references assignment-001's return artifact), you've collapsed the coliseum into a series. Refactor before dispatch. ## Reference material - `references/handoff-envelope-spec.md` — what the dispatched prompt must contain - `references/parallel-dimensions.md` — what makes dimensions truly parallel
Related in AI Agents
skill-development
IncludedComprehensive meta-skill for creating, managing, validating, auditing, and distributing Claude Code skills and slash commands (unified in v2.1.3+). Provides skill templates, creation workflows, validation patterns, audit checklists, naming conventions, YAML frontmatter guidance, progressive disclosure examples, and best practices lookup. Use when creating new skills, validating existing skills, auditing skill quality, understanding skill architecture, needing skill templates, learning about YAML frontmatter requirements, progressive disclosure patterns, tool restrictions (allowed-tools), skill composition, skill naming conventions, troubleshooting skill activation issues, creating custom slash commands, configuring command frontmatter, using command arguments ($ARGUMENTS, $1, $2), bash execution in commands, file references in commands, command namespacing, plugin commands, MCP slash commands, Skill tool configuration, or deciding between skills vs slash commands. Delegates to docs-management skill for official documentation.
reprompter
IncludedTransform messy prompts into well-structured, effective prompts — single or multi-agent. Use when: "reprompt", "reprompt this", "clean up this prompt", "structure my prompt", rough text needing XML tags and best practices, "reprompter teams", "repromptception", "run with quality", "smart run", "smart agents", multi-agent tasks, audits, parallel work, anything going to agent teams. Don't use when: simple Q&A, pure chat, immediate execution-only tasks. See "Don't Use When" section for details. Outputs: Structured XML/Markdown prompt, quality score (before/after), optional team brief + per-agent sub-prompts, agent team output files. Success criteria: Single mode quality score ≥ 7/10; Repromptception per-agent prompt quality score 8+/10; all required sections present, actionable and specific.
adaptive-compaction
IncludedAdaptive add-on policy and recovery layer that decides WHEN to compact, prune, snapshot, or fork -- replacing fixed-percent auto-compaction across Claude Code, Codex, and MCP-capable hosts. Trigger on auto-compact timing or damage: "when should I compact", "is it safe to compact now or start a fresh session", "auto-compact fires too early/mid-task", "switching to an unrelated task but the window still has space", "context rot", "answers get worse the longer the session runs", "the agent forgot the plan or my decisions after it summarized", "add a layer on top that manages context without changing the agent", raising autoCompactWindow to give the policy room, or installing/tuning a cross-tool compaction policy or PreCompact hook -- even when "compaction" is never said but the problem is context-window pressure or post-summarization memory loss. Do NOT use to summarize a conversation, build RAG, write a summarization prompt (decides WHEN not HOW), or answer max-context-length trivia.
agent-skill-creator
IncludedCreate cross-platform agent skills from workflow descriptions. Activates when users ask to create an agent, automate a repetitive workflow, create a custom skill, or need advanced agent creation. Triggers on phrases like create agent for, automate workflow, create skill for, every day I have to, daily I need to, turn process into agent, need to automate, create a cross-platform skill, validate this skill, export this skill, migrate this skill. Supports single skills, multi-agent suites, transcript processing, template-based creation, interactive configuration, cross-platform export, and spec validation.
llm-wiki
IncludedUse when building or maintaining a persistent personal knowledge base (second brain) in Obsidian where an LLM incrementally ingests sources, updates entity/concept pages, maintains cross-references, and keeps a synthesis current. Triggers include "second brain", "Obsidian wiki", "personal knowledge management", "ingest this paper/article/book", "build a research wiki", "compound knowledge", "Memex", or whenever the user wants knowledge to accumulate across sessions instead of being re-derived by RAG on every query.
skill-master
IncludedAgent Skills authoring, evaluation, and optimization. Create, edit, validate, benchmark, and improve skills following the agentskills.io specification. Use when designing SKILL.md files, structuring skill folders (references, scripts, assets), ingesting external documentation into skills, running trigger evals, benchmarking skill quality, optimizing descriptions, or performing blind A/B comparisons. Keywords: agentskills.io, SKILL.md, skill authoring, eval, benchmark, trigger optimization.