agentleFS
Yeachan-HeoYeachan-Heo/oh-my-claude-sisyphus/skills/arena/SKILL.md

arena

Skill41k starsChanged 4 days agoMITView on GitHub

Run N parallel candidates at one brief and synthesize: rubric-first framing, isolated fan-out, a cross-judge on a different model, criterion-by-criterion pick, hand grafting. When one attempt would lock in the wrong shape.

84 other projects use a version of this, 31 of them edited; 2 new projects in the last 4 weeks, against 0 the 4 before.

Adopted by

Surging: 2 new projects took it in the last 4 weeks, none the 4 weeks before.thin data

Week of Sep 13: 0 new projectsWeek of Sep 20: 0 new projectsWeek of Sep 27: 0 new projectsWeek of Oct 4: 0 new projectsWeek of Oct 11: 0 new projectsWeek of Oct 18: 0 new projectsWeek of Oct 25: 1 new projectWeek of Nov 1: 1 new project
Sep 2026Oct 2026Nov 2026
New projects taking a version of this file each week, over the 8 weeks our latest run read: only 2 in all, so this is a hint, not a trend.

Most recently taken up by

Used with

Projects with it also use addskill, apply-firmware and 10 more.

Other files people use alongside this one.

Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
  • ryanportfolioSkill

    addskill

    Create, import, update, or install repo or personal skills: runtime ownership, resources, discovery checks.

    Also in 6 projects that use this

  • ryanportfolioSkill

    apply-firmware

    Bring current folder (plain folder, existing repo, old or partial firmware copy) up to full Harness Firmware in place. Mirror external repo → adopt-repo.

    Also in 6 projects that use this

  • +10 more from ryanportfolio

The file

We split this skill into the rules it gives an agent

9 rules. 0 are common, 8 are distinctive, and 1 is very specific to this project.

  • 0

    Common

    Most of the 82 edited versions we read keep these.

  • 8

    Distinctive

    This author's own choices. Worth a look.

  • 1

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Every candidate gets the same brief, so the brief is the contract.

    line 40
  2. Distinctive:

    Use diverse models when the work is judgment-sensitive.

    line 60
  3. Distinctive:

    After starting a multi-provider team, wait for every worker to reach a terminal state and collect its artifact.

    line 65
  4. Distinctive:

    After all candidates finish, spawn one read-only judge on a model from a provider family none of the candidates ran on.

    line 82
  5. Distinctive:

    If you cannot tell which family the candidates ran on, try the models you would have picked and name in the verdict that the family check …

    line 86
  6. Distinctive:

    Read every candidate end to end.

    line 93
  7. Very specific:

    Verify the synthesized artifact under the verify skill protocol — real command output, fresh evidence.

    line 111
  8. Distinctive:

    Do not paper over it.

    line 114
  9. Distinctive:

    Never a default gate: arena runs only when explicitly invoked.

    line 118

“Common” is measured: kept by at least 6 in 10 of the 82 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Arena

N parallel candidates attack the same brief; the best artifact is picked criterion by criterion and strengthened by grafting. Diversity of candidates is the mechanism: agreement across independent attempts is high-signal, and divergence exposes what the brief under-specified.

When to use

  • a design or implementation has more than one defensible shape, and the first attempt would lock in the wrong one
  • judgment-sensitive work: a migration strategy, an API surface, a data structure choice, a subtle algorithm
  • the user asks for a bakeoff, a comparison of approaches, or "try a few ways and pick"

When not to use

  • mechanical edits, contained one-file changes, or work with an obvious single answer — run execute instead
  • research questions whose deliverable is an answer, not an artifact — run research

Phase A — Frame

Every candidate gets the same brief, so the brief is the contract.

  1. State the artifact each candidate produces.
  2. Derive the rubric: 3-6 concrete, gradeable criteria for this task. The rubric is the picker's tool in Phase D; candidates never see it.
  3. Pick the runtime:
    • In-session: parallel Task dispatches to oh-my-claudecode:executor, one per candidate, each given its own output location.
    • Multi-provider: seat candidates for model diversity — read team.roleRouting from the project config (.claude/omc.jsonc) or the user config (claude-omc/config.jsonc; omc config prints the effective values), collect up to three distinct provider families in canonical role order, and fill remaining seats from the default families — claude, codex, gemini — not already seated; with no routing config, use OMC_TEAM_WORKTREE_MODE=detached omc team --no-decompose 1:claude,1:codex,1:gemini "<brief>". Worktree isolation must be on — an unset mode resolves to disabled and all candidates would share one checkout — and --no-decompose keeps every candidate on the same brief instead of splitting a multi-point brief across workers (one writer per worktree). Use diverse models when the work is judgment-sensitive; the same model N times when it is generation-bound.
  4. Give each candidate an exclusive output location — a git worktree when possible, otherwise a scratch directory. Candidates must not share writable state. After starting a multi-provider team, wait for every worker to reach a terminal state and collect its artifact. Keep the worktrees alive through judging and grafting; run team shutdown/cleanup only in the final cleanup step after verification.

Phase B — Fan out

Spawn all candidates in one message, in the background, each with the brief, its output location, and instructions to return the artifact plus a short rationale naming the alternatives it considered and rejected. If a candidate produces nothing, proceed with N-1 and note the dropout. Keep at least two candidates: when dropouts leave fewer, spawn replacements — each on a remaining candidate's model, or on the parent's model when none remain — until two produce artifacts, and say so.

Phase C — Cross-judge

After all candidates finish, spawn one read-only judge on a model from a provider family none of the candidates ran on. If that dispatch is rejected, fall back down the remaining cross-family models; when no cross-family dispatch runs, skip the judge, pick the base alone in Phase D, and say so. If you cannot tell which family the candidates ran on, try the models you would have picked and name in the verdict that the family check did not run. The judge sees the rubric and the candidates by path label, scores each criterion, and recommends a base with rationale. It runs while you read.

Phase D — Pick

Read every candidate end to end. Score each against the rubric criterion by criterion, not on holistic feel, and compare with the cross-judge when Phase C ran one. Agreement on the base confirms the pick; disagreement means one of you is biased or the rubric is ambiguous — read both rationales before deciding. Tie-break toward the smaller API and the cleaner boundary (minimal-code-discipline).

Phase E — Graft

Walk each losing candidate once more for what is worth porting — usually one or two things, not most of it. Fold grafts in by hand so the result stays coherent under one mental model. Candidates that converge on one shape are strong agreement: note it and ship the consensus shape. Candidates that wildly diverge mean Phase A was under-specified: reframe and rerun rather than averaging the divergence.

Phase F — Verify

Verify the synthesized artifact under the verify skill protocol — real command output, fresh evidence. A problem the arena missed means either the rubric was wrong (reframe and rerun) or a graft was missed (back to Phase E). Do not paper over it.

Rules

  • Never a default gate: arena runs only when explicitly invoked.
  • The lead session owns the result; candidate and judge outputs are inputs, not verdicts.
  • A later review judges the synthesized artifact, not the candidates.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.