Skip to content
Agentmart
Submit a tool

arena

Run N parallel attempts at one task under distinct constraints, pick a base, graft the best of the others.

Skill by luizhcrocha

IndexedMIT
Write a review

Chalk Labs

Need help deploying arena?

Chalk Labs sets up agents like this inside real teams: connected to your tools, tested on your data, with a human in the loop where it matters.

Book a call

Install

Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.

npx agentmarket install skill/luizhcrocha-arena

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Run N parallel attempts at one task under distinct constraints, pick a base, graft the best of the others. Use for "arena this" or competing designs of one contested shape.

Use cases: productivity

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.

Tools
No tools found
Secrets
None asked for
Install scripts
None found

Network hosts it talks to 1

  • codeload.github.com · found in install command

Files it touches

  • ~/.claude/skills/arena

What's inside

Skill name
arena
Description
Run N parallel attempts at one task under distinct constraints, pick a base, graft the best of the others. Use for "arena this" or competing designs of one contested shape.
License
MIT
Instructions
55 lines in SKILL.md · view on GitHub

Files (1)

  • SKILL.md

SKILL.md (first lines)

# Arena

Fan out N parallel attempts at the same task, each under a different constraint. Read every candidate end to end. Pick the strongest as the base, graft the best ideas from the others into it, verify the result. Adapted from poteto's pstack (MIT).

Open a todo list with the six phases before launching anything: Frame, Fan out, Cross-judge, Pick, Graft, Verify.

## 1. Frame

Every runner gets the same task, so the brief is the contract.

1. **The artifact.** State what each candidate produces: a design sketch, a module, a document, a script.
2. **The rubric.** State what success looks like for *this* task, then turn it into 3 to 6 concrete, gradeable criteria. The rubric is for the judge and the picker; runners see only the task.
3. **The constraints.** N runners, default 3. Diversity comes from a distinct constraint per runner, all on the same model:
   - A design task (an interface, a module, a seam) takes the constraints from `tstack:codebase-design`'s [DESIGN-IT-TWICE.md](../codebase-design/DESIGN-IT-TWICE.md): minimize the interface, maximize flexibility, optimize for the common caller, and ports & adapters when a dependency crosses the seam.
   - Any other task: write N distinct approaches, each a different whole shape (a different data structure, a different decomposition, a different owner of the hard part), not flavors of one.
4. **The output paths.** Each runner writes to its own place, per Separate Before Serializing Shared State (`tstack:principles`). In a jj repo: `jj workspace add ../<repo>-arena-<n> -r <base> --name arena-<n>`, one per runner, from the same base. Outside a repo: `<scratchpad>/arena-<slug>/candidate-<n>/`.

Done when the artifact, the rubric, N constraints and N output paths are written down.

## 2. Fan out

Spawn all N runners in one message: fresh agents playing the Implementer role ([MODELS.md](../../productivity/coordinator/MODELS.md)), `run_in_background: true`. Each brief carries the task, pointers to the shared grounding (files, not pasted content), its one constraint, its output path, and an order to produce the artifact and a short rationale naming the alternatives it considered and what it rejected. Tell each runner it is one of several: build the best candidate its constraint allows, and skip hedging toward a safe middle, since the differences between candidates are the signal.

A runner that produces nothing drops out: continue with N-1 and note the dropout. Done when every runner has returned or dropped out.

## 3. Cross-judge

Once every candidate is written, spawn one judge: a fresh agent that ran nothing in this arena, playing the Decider role, read-only, in the background (if the Decider's model is unavailable, take its fallback from MODELS.md and say so in the reply). It gets the rubric and the candidates by neutral labels (A, B, C), without the constraint each ran under, scores each criterion per candidate, and recommends a base with its reason. It runs while you read in step 4.

## 4. Pick a base

Read every candidate end to end before picking. Score each against the rubric criterion by criterion, not on holistic feel, then compare with the judge. Agreement on the base confirms the pick. Disagreement means one of you is biased or the rubric was ambiguous: read both rationales before deciding.

Pick the candidate a future maintainer can extend most easily without breaking its invariants. When two feel tied, take the cleaner seam or the smaller interface, per the Laziness Protocol.

Done when the pick and its reason, with the judge's verdict, are in the synthesis note.

## 5. Graft

Walk each losing candidate once more for what is worth porting into the base: usually one or two things per candidate, not most of it. Fold each graft in by hand, per Redesign from First Principles, so the result stays coherent under one mental model; pasting whole blocks from a loser breaks that. Record each graft with its source candidate, and each rejection with its reason.

- **Convergence**: the candidates landed on the same shape. That is a strong agreement signal: note it and ship the consensus shape; no graft is needed.
- **Divergence**: the candidates share almost nothing. Step 1 was under-specified: reframe and re-run rather than averaging the divergence.

In a jj repo the grafted result lands in the caller's workspace (the base candidate's change squashed or rebased in, grafts on top), and every `arena-<n>` workspace goes: `jj workspace forget arena-<n>`, then remove its directory, and abandon the candidate changes not kept. Done when the grafts are in and no arena workspace is left.

## 6. Verify

The synthesized artifact holds up under the same scrutiny as any other output, per Prove It Works: run it, test it, read the real output. A problem the arena missed means step 1 was wrong (reframe and re-run) or one candidate caught it and the graft was missed (back to step 5); fix the cause rather than patching over it.

## Output

One synthesized artifact, and beside it a short **synthesis note**: the base and why, the judge's verdict, each graft with its source candidate, the rejections with reasons, convergence or divergence, dropouts, and the verification result.

From luizhcrocha/skills, MIT.

More from luizhcrocha/skills

Signals

Stars
0
Forks
0
Open issues
0
Last commit (this folder)
Oct 8, 2026 (22 days ago)

From GitHub (fetched Oct 24, 2026).

Details

License
MIT
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from luizhcrocha

Done for you

Rather not set it up yourself?

Chalk Labs scopes, builds and runs agents for your team: the task audit, the eval harness, the integrations and the weekly ops report. Fixed scope, priced before we start.

See how we build AI agents →Read the case studies

Chalk Labs is a two-founder AI and growth studio. We build AI agents, CRMs and MVPs for Web3 and AI companies, and have shipped 50+ product and token launches.

launches shipped
50+
launches shipped
media placements
500+
media placements
founders on every account
2
founders on every account

Press we've placed: Forbes · CoinDesk · Decrypt · Cointelegraph · The Block

Rahil Jain, Co-founder, Chalk Labs. Ex-Goldman Sachs engineer. You talk to the person who builds it.

Get arena running in your business

Tell us what you want to automate. A founder replies within one working day with a plan, not a pitch deck.

Goes to the Chalk Labs founders, not the newsletter. Privacy

Need help deploying arena?

CallGet help
Cite this page

arena skill. Agent Mart. https://agentmart.dev/skills/luizhcrocha-arena (last updated 2026-10-24)