O2 Review Loop
openobserve/openobserve
Splits a change into planner, coder and independent reviewer roles: you confirm a spec, a subagent implements it, and a separate reviewer checks each round's local WIP commit.
A skill your agent uses whenever work can be split across multiple AI agents running in parallel, or when orchestrating leader/worker patterns in WrongStack.
$ npx skills add WrongStack/WrongStack --skill multi-agent -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install WrongStack/WrongStack multi-agent --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/WrongStack/WrongStack.git skills-src && mkdir -p .claude/skills && cp -r skills-src/packages/core/skills/multi-agent .claude/skills/multi-agent && 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 "multi-agent" agent skill from https://github.com/WrongStack/WrongStack/tree/main/packages/core/skills/multi-agent into .claude/skills/multi-agent/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "multi-agent", 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/WrongStack/WrongStack/tree/main/packages/core/skills/multi-agentType 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 WrongStack/WrongStack --skill multi-agent -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install WrongStack/WrongStack multi-agent --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/WrongStack/WrongStack.git skills-src && mkdir -p .agents/skills && cp -r skills-src/packages/core/skills/multi-agent .agents/skills/multi-agent && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "multi-agent" agent skill from https://github.com/WrongStack/WrongStack/tree/main/packages/core/skills/multi-agent into .agents/skills/multi-agent/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "multi-agent", 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 WrongStack/WrongStack --skill multi-agent -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install WrongStack/WrongStack multi-agent --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/WrongStack/WrongStack.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/packages/core/skills/multi-agent .cursor/skills/multi-agent && 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 "multi-agent" agent skill from https://github.com/WrongStack/WrongStack/tree/main/packages/core/skills/multi-agent into .cursor/skills/multi-agent/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "multi-agent", 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/WrongStack/WrongStack.git --path packages/core/skills/multi-agent--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 WrongStack/WrongStack --skill multi-agent -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install WrongStack/WrongStack multi-agent --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/WrongStack/WrongStack.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/packages/core/skills/multi-agent .gemini/skills/multi-agent && 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 "multi-agent" agent skill from https://github.com/WrongStack/WrongStack/tree/main/packages/core/skills/multi-agent into .gemini/skills/multi-agent/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "multi-agent", 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 WrongStack/WrongStack multi-agentInstalls 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 WrongStack/WrongStack --skill multi-agent -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/WrongStack/WrongStack.git skills-src && mkdir -p .github/skills && cp -r skills-src/packages/core/skills/multi-agent .github/skills/multi-agent && 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 "multi-agent" agent skill from https://github.com/WrongStack/WrongStack/tree/main/packages/core/skills/multi-agent into .github/skills/multi-agent/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "multi-agent", 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 WrongStack/WrongStack --skill multi-agent -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install WrongStack/WrongStack multi-agent --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/WrongStack/WrongStack.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/packages/core/skills/multi-agent .opencode/skills/multi-agent && 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 "multi-agent" agent skill from https://github.com/WrongStack/WrongStack/tree/main/packages/core/skills/multi-agent into .opencode/skills/multi-agent/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "multi-agent", 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.
multi-agentA skill your agent uses whenever work can be split across multiple AI agents running in parallel, or when orchestrating leader/worker patterns in WrongStack.
Multi Agent is an agent skill from WrongStack/WrongStack. Use this skill whenever work can be split across multiple AI agents running in parallel, or when orchestrating leader/worker patterns in WrongStack. Trigger on the explicit vocabulary — "fan out", "parallel", "delegate", "subagent", "fleet", "coordinator", "collabdebug", "swarm", "workers" — but more importantly trigger on the SHAPE of the task, because users rarely name the pattern: "audit these 40 files", "check every package for X", "run the tests across the monorepo", "review this PR and the tests and the…
Its SKILL.md is about 3.6k tokens, which your agent loads only when the skill is triggered. The skill folder holds 3 other files, including reference files (for example `SKILL.save.md` and `references/collab-debug.md`).
It sits in Agent Workflows, covering Monorepo tooling, Multi-agent orchestration and Subagents. The repository describes itself as: An AI coding agent that reads your code, edits files, runs commands, and reasons through bugs — across a terminal REPL, a full-screen TUI, and a browser UI, while you keep your… The licence is MIT.
5 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit ec76a20. 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.
Shell commands in SKILL.md call:
pnpmFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use pnpm, which can reach the network depending on how they are called.
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.
Multi Agent loads about 3.6k tokens when it runs, and up to ~4.5k if it reads all its reference files. Until then it costs about 248 tokens; SKILL.md has 1,705 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 WrongStack/WrongStack at commit ec76a20, republished under its MIT licence (© WrongStack). 1,705 words, ~3,612 tokens.
.claude/skills/multi-agent/SKILL.md (or your agent's skills folder). This skill also uses 2 other files; get the full folder from GitHub.A leader delegates narrow subtasks to workers, collects structured results, and synthesizes one unified output. Parallelism buys wall-clock time on work that is genuinely independent. It costs a multiple of the tokens and it costs coherence — every worker starts blind, and anything the leader forgets to put in the brief simply does not exist for that worker.
So the bar is not "could this run in parallel". The bar is "will this finish meaningfully faster or better in parallel, given that I have to write N briefs and reconcile N results".
"It won't fit in one context" is no longer a reason to fan out. With windows running from 200K to 1M, work that used to require splitting now loads comfortably into a single agent — and a single agent that sees everything produces better cross-cutting analysis than five that each see a fifth. Fan out for wall-clock time and for genuinely independent attention. Do not fan out because of a size limit you last measured on a smaller model; check whether the whole thing simply fits first.
Walk these in order. A single no means do the work in one agent.
✅ Good fits
pnpm test per package❌ Avoid
This is where fan-outs succeed or fail. The worker sees the brief and nothing else — not the conversation, not the leader's plan, not what sibling workers are doing. Assume total amnesia.
Every brief carries five things:
// ✅ Good — narrow, focused, self-contained
batch_tool_use([
{ tool: "delegate", input: { task: "Audit auth/session.ts for null-deref bugs. Report each as file:line + severity (critical/high/medium/low) + one-line fix. Do not edit files.", role: "bug-hunter" }},
{ tool: "delegate", input: { task: "Audit auth/token.ts for null-deref bugs. Report each as file:line + severity + one-line fix. Do not edit files.", role: "bug-hunter" }},
{ tool: "delegate", input: { task: "Audit auth/refresh.ts for null-deref bugs. Report each as file:line + severity + one-line fix. Do not edit files.", role: "bug-hunter" }},
])
// ❌ Too broad — will exhaust budget
{ task: "Audit all packages for bugs" }
// ❌ No scope, no format — results won't aggregate
{ task: "Look at the auth stuff and tell me if it's ok", role: "bug-hunter" }
// ❌ Role mismatch
{ task: "Write documentation for the API", role: "bug-hunter" }Asking every worker for the same result shape is what makes deduplication and prioritization possible later. Decide the shape before dispatching.
Subagents share nothing, so if worker B needs worker A's output the leader must move it: either inline it in B's task description, or have A write to a file and give B the path. There is no third option — no implicit inheritance, no shared scope.
| Role | Responsibility | Tools |
|---|---|---|
| Leader | Coordinates, delegates, synthesizes | delegate, plan, read |
| Worker | Executes a narrow subtask | Any needed tools |
| Reviewer | Validates worker output, approves/rejects | grep, test, read |
| Architect | Makes design decisions when workers hit ambiguity | read, glob, grep |
Match the role to the task. A bug-hunter writing docs, or a refactor-planner
running a security audit, produces confident output shaped by the wrong
priorities — which is worse than no output, because it reads as authoritative.
Use when subtasks are fully independent.
batch_tool_use([
{ tool: "delegate", input: { task: "...", role: "bug-hunter" }},
{ tool: "delegate", input: { task: "...", role: "bug-hunter" }},
{ tool: "delegate", input: { task: "...", role: "bug-hunter" }},
])Dispatch the whole batch in a single turn. Firing them one at a time serializes the fleet and throws away the only thing parallelism was for.
Each delegate call returns at once with a delegation id; the workers run in
the background and every result is delivered to the leader automatically as a
[DELEGATION RESULT] block as its worker finishes. Do not poll or re-await
them — keep working, or end the turn; on hosts that support it a new turn
starts when results arrive. Leave wait unset for fan-out: wait: true is
for a single short task whose verdict gates the very next step.
Use when there are dependencies (worker 2 needs worker 1's artifact), or when you want to reuse workers and decide yourself when results are collected.
spawn N subagents → assign_task per subagent → await_tasksKeep the dependency chain shallow. A four-deep chain of workers is a sequential program with extra failure modes; write it as one agent instead.
Check stopReason on every result — never assume a worker finished.
stopReason | Meaning | Leader's move |
|---|---|---|
end_turn | Clean finish | Read result, fold into synthesis |
budget_exhausted | Task too broad | Keep partial output, re-split, retry |
error | Infrastructure issue | Surface to the user — don't silently absorb |
aborted | User cancelled | Do not retry |
budget_exhaustedRe-running the identical task produces the identical exhaustion. Split it:
Workers report their own success. Before folding a result into the synthesis,
sanity-check it: does a claimed file:line exist, did the test command actually
run, does a "no issues found" on a 400-line file look plausible? Spot-check a
sample rather than every claim — but never zero.
Raw worker output pasted end-to-end is not a report; it is a pile. The leader's whole value is what happens next:
For each worker result:
- Extract key findings (don't just paste raw output)
- Deduplicate (multiple workers may find the same issue)
- Prioritize: critical > high > medium > low
- Present as unified reportThen two things the pile can't tell you:
## Synthesis Report — <task>
### Coverage
<N>/<M> targets completed. Failed/skipped: <list with reason, or "none">
### Summary
[Unified summary of all findings]
### Unified Next Steps
[Deduplicated and prioritized action items]
<nextsteps>
1. Fix critical issue in <file:line>
2. Fix high-priority issue in <file:line>
3. Fix remaining issue in <file:line>
</nextsteps>Omit the Coverage block only when every worker returned end_turn.
bug-hunter writing docs, refactor-planner doing securityresultbudget_exhausted output ignored; partial results are still resultsThe collab_debug workflow performs parallel code review. Before using it, read the complete instructions.
Load with skill({ name: "multi-agent", resource: "references/collab-debug.md" }), or resolve the reference relative to this skill directory in another client.
budget_exhausted. Partial results are still results. Re-split and retry; never silently absorb a failure into a clean-looking report.bug-hunter writing docs or a refactor-planner running a security audit produces confident output shaped by the wrong priorities — worse than no output.bug-hunter — parallel file auditssecurity-scanner — parallel security scansrefactor-planner — parallel module analysisaudit-log — aggregating multiple session analysesoutput-standards — standardized <nextsteps> formattingstopReason checked, none assumed© WrongStack, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 2 other files (references) in packages/core/skills/multi-agent of WrongStack/WrongStack.
Open the folder on GitHubat commit ec76a20
Multi Agent 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 |
|---|---|---|---|---|---|---|
| Multi Agent this skillWrongStack/WrongStack | 368 | — | ~3.6k | Automated safety check: Pass | MIT | |
| O2 Review Loopopenobserve/openobserve | 22k | — | ~3.7k | Automated safety check: Pass | AGPL-3.0 | |
| Kimi Code DelegationCherryHQ/cherry-studio | 52k | — | ~504 | Automated safety check: Pass | AGPL-3.0 | |
| Swarm Orchestrationruvnet/ruflo | 74k | 2 repos | ~779 | Automated safety check: Pass | MIT | |
| Sub-Agent DelegationTokenRhythm/opensquilla | 7.1k | — | ~3k | Automated safety check: Pass | Apache-2.0 | |
| Subagent-Driven DevelopmentHoangNguyen0403/agent-skills-standard | 570 | — | ~852 | Automated safety check: Pass | MIT |
openobserve/openobserve
Splits a change into planner, coder and independent reviewer roles: you confirm a spec, a subagent implements it, and a separate reviewer checks each round's local WIP commit.
CherryHQ/cherry-studio
Delegates one bounded repository task to Kimi Code in non-interactive prompt mode and reads back the final result from its JSON event stream.
ruvnet/ruflo
Coordinates a hierarchical swarm of specialized agents through the claude-flow CLI for work that spans several files or modules at once.
TokenRhythm/opensquilla
Hands a self-contained coding task to Codex, Claude Code, OpenCode or Pi as a non-interactive background process, using OpenSquilla's exec_command and process tools.
HoangNguyen0403/agent-skills-standard
Runs a multi-task implementation plan by sending each task to a fresh implementer subagent, reviewing it independently, then reviewing the whole branch.
bbartling/open-fdd
A skill your agent uses for rigorous pull request, branch, patch, or diff review.
WrongStack/WrongStack
Design or substantially improve user-facing interfaces with a product-specific visual direction, content hierarchy, and rendered critique.
WrongStack/WrongStack
A skill your agent uses to audit an interface that already exists and say precisely why it looks generated, templated, or unfinished — a scored rubric across composition, typography, color, states…
WrongStack/WrongStack
A skill your agent uses when external coding agents (Claude Code, Aider, custom scripts) need to participate in the project's shared WrongStack mailbox, or when a user asks to "expose the mailbox"…
WrongStack/WrongStack
Use this skill before asserting that a CSS, HTML or accessibility capability is available, unavailable, or the right tool — it carries dated, refreshable platform facts and refuses to let stale…
WrongStack/WrongStack
A skill your agent uses when the user wants to communicate with WrongStack's shared project mailbox from outside WrongStack — read messages sent by WrongStack agents, send replies, broadcast to all…
WrongStack/WrongStack
A skill your agent uses when designing, implementing, or reviewing an HTTP API — endpoints, request and response shapes, errors, pagination, versioning, and authorization.
Categories
A skill your agent uses whenever work can be split across multiple AI agents running in parallel, or when orchestrating leader/worker patterns in WrongStack. Multi Agent is an agent skill from WrongStack/WrongStack. Use this skill whenever work can be split across multiple AI agents running in parallel, or when orchestrating leader/worker patterns in WrongStack.
Multi Agent fits situations like: work can be split across multiple AI agents running in parallel; orchestrating leader/worker patterns in WrongStack; the explicit vocabulary — fan out; workers — but more importantly trigger on the SHAPE of the task.
Run `npx skills add WrongStack/WrongStack --skill multi-agent -a claude-code`. Or copy the skill folder (packages/core/skills/multi-agent in WrongStack/WrongStack) into .claude/skills/multi-agent in your project. Claude Code loads it when a task matches its description.
Run `npx skills add WrongStack/WrongStack --skill multi-agent -a codex`. Or copy the skill folder (packages/core/skills/multi-agent in WrongStack/WrongStack) into .agents/skills/multi-agent 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 WrongStack/WrongStack --skill multi-agent -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/multi-agent, .gemini/skills/multi-agent, .github/skills/multi-agent and .opencode/skills/multi-agent in your project.
Going by SKILL.md and its folder, Multi Agent needs the command-line tools its instructions call (pnpm).
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.
Multi Agent is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 3.6k tokens (SKILL.md is roughly 14k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 902 tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Multi Agent: O2 Review Loop (openobserve/openobserve, 22k stars), Kimi Code Delegation (CherryHQ/cherry-studio, 52k stars), Swarm Orchestration (ruvnet/ruflo, 74k stars) and Sub-Agent Delegation (TokenRhythm/opensquilla, 7.1k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
WrongStack (a GitHub organization) maintains it in WrongStack/WrongStack, which has 368 GitHub stars. The repository holds 38 skills in this directory. The repository was last updated on October 6, 2026.
Source: WrongStack/WrongStack on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.