Tutorialthe whole build, step by step

Claude Code Arena skill: install it, run /arena, read the winner

Install the free Arena skill, see what a run costs before you start, run a small test, then read the winner and every attack it survived.

By Eric Snyder, founder 9 min readChecked on Oct 31, 2026
Save this guidereceiptsgroup.com/guides/claude-arena-skill
SetupTwo commands to install, if Claude Code is already on your computer
Running costArena is free (MIT license); runs use your Claude plan's limits. Claude Pro is $20 a month billed monthly (checked 2026-10-31)
You needClaude Code on a paid Claude plan, Python 3.8 or newer, git
Sizes100 copies by default, 16 with --quick, or any number with --agents
Works onMac, Linux, or Windows with WSL (the copy commands below); the plugin route works anywhere Claude Code does
In this guide
Start here
  1. Start here: paste this into Claude Code
The manual way
  1. How the pieces connect
  2. Install Arena
  3. First test: the free cost check, then 8 copies
  4. Read the winner and the attacks it survived
  5. Real use: when it's worth the usage
  6. What it costs
  7. When it breaks
  8. Sources, checked Oct 31, 2026

Here's the goal: when one answer from Claude isn't good enough, you type /arena with the job, and a bunch of copies of Claude each take a different approach, attack each other's answers in pairs, and a judge knocks out the loser of every match until one is left. You get the winner and every attack it survived.

Arena is a free, open-source skill for Claude Code (a skill is a set of instructions Claude Code can load and follow). The skill costs nothing. The usage does: a full 100-copy run is 595 calls to Claude, so this guide shows you what a run costs before you start one, has you test it small, and tells you where I'd actually use it: the stuff you're about to put money behind, like an ad.

Checked on Oct 31, 2026

Start herepart 1

Start here: paste this into Claude Code

Open a terminal, make an empty folder for your arena runs and start Claude Code in it. Then paste the prompt below. It installs Arena, runs the free cost check, and helps you write a good task, then stops and hands the actual /arena command to you, because the moment you type it, the run starts and spends usage.

bashMake the folder and start Claude in it
mkdir -p ~/arena-runs
cd ~/arena-runs
claude
PromptThe setup prompt (copy all of it)
Hi Claude. Please be my patient setup helper. I run a home-service business and I'm not technical: one step at a time, tell me exactly what to type, and wait for me after each step.

Goal: install the free Arena skill for Claude Code (https://github.com/Jakeschincariol/arena-skill) as a personal skill, check what a run costs before anything runs, and help me write one good task so I can run a small test myself.

Steps:
1. Check that git and python3 are installed (git --version, python3 --version). Arena needs Python 3.8 or newer. If one is missing, tell me where to get it and stop.
2. Install Arena: git clone https://github.com/Jakeschincariol/arena-skill.git, then cp -r arena-skill/skills/arena ~/.claude/skills/ . Before the copy, check whether ~/.claude/skills/arena already exists. If it does, stop and ask me; don't overwrite it.
3. Free cost check: run python3 ~/.claude/skills/arena/bracket.py plan --agents 8 and then the same with --quick and with no flag (that's 100). This only does math and writes nothing. Show me the sub-agent calls and rounds for each in a small table.
4. Help me write the task. Ask me what I want the best version of (an ad headline, the first lines of an ad, a follow-up text). Then write it as one self-contained paragraph: what it's for, who reads it, the facts it can use, the length, and what a great answer looks like. The copies only see that text, not our chat. No customer names, phone numbers or private data in it, because it gets saved to a file.
5. Stop. Don't run /arena and don't start the tournament yourself. Show me the exact line to type for the smallest test: /arena --agents 8 followed by my task, and tell me how many sub-agent calls that is from step 3. Remind me that typing it starts the run right away and uses my Claude plan's limits, and that I can check my usage with /usage first.

House rules for this setup:
- If you use a technical word, explain it in plain English the first time.
- Ask me before you assume anything about my business, my accounts or my setup.
- Stop and check with me before anything that costs money or uses a lot of my plan's usage. Never start an arena run for me.
- Stop and check with me before anything that sends, posts or publishes to real people. Arena only writes text; nothing it makes goes out unless I send it.
- Stop and check with me before you delete or overwrite anything.
- Never ask me for, print or save a password, key or token.
The manual wayparts 2 to 8

How the pieces connect

This is the manual way: every step and every command, the same ones the prompt above uses. Here's what happens inside one run, in the order the skill does it.

  1. 1
    Your taskYou type /arena with the job (or just /arena after an answer you didn't like)→ the task, plus the old answer to beat if there was one
  2. 2
    The task fileThe skill writes your task as one self-contained brief in .arena/→ the only thing the copies ever see (they can't see your chat)
  3. 3
    SpawnEach copy gets the same task and a different strategy card (a way of reasoning, a workflow and a strategy)→ one answer per copy, saved in .arena/
  4. 4
    Attack and defendCopies pair off; each attacks the other's answer (FATAL, MAJOR or MINOR), then answers the attacks and fixes its own→ two revised answers per match
  5. 5
    JudgeA separate judge scores both on the rubric, without seeing the cards→ the higher score moves on
  6. 6
    WinnerRounds repeat: 100, 50, 25, 13, 7, 4, 2, 1→ the winning answer, why it won and the attacks it survived
Attack, defend and judge repeat every round until one answer is left. If you started from an answer you rejected, a final blind comparison scores your old answer against the winner, and it tells you if the old one scored higher.

Words you'll see

  • Skill: a folder with instructions (a SKILL.md file) that Claude Code loads when you type its name after a slash.
  • Sub-agent: a separate copy of Claude that Claude Code starts to do one piece of the job. Every copy in the arena is a sub-agent of the same model you're running.
  • Strategy card: the different way of thinking each copy is told to use. It's the only thing that makes the copies different from each other.
  • Wave: a batch of sub-agents running at the same time. Claude Code runs about 10 at once by default, so 100 copies don't all go at the same moment.
  • Rubric: the judge's scorecard: correctness 30, completeness 25, robustness (how well it held up to attacks) 20, specificity 15, clarity 10, out of 100.

Install Arena

  1. Have Claude Code on a paid plan

    Skip this if claude --version already prints a version. Claude Code needs a Pro, Max, Ultra, Team, Enterprise or Console account; the free plan doesn't include it.

    bashInstall Claude Code (macOS, Linux, WSL)
    curl -fsSL https://claude.ai/install.sh | bash
    # open a NEW terminal window, then:
    claude --version
  2. Check git and Python

    Arena's bookkeeping runs on Python 3.8 or newer, using only what comes with Python, so there's nothing else to install. Git is how you download it.

    bashBoth should print a version
    git --version
    python3 --version
  3. Copy the skill into your personal skills folder

    A skill in ~/.claude/skills/ works in every project on your computer, and you call it with /arena. Claude Code watches that folder, so it shows up without a restart. If you never had a ~/.claude/skills folder before this session, type /reload-skills once.

    bashDownload and copy
    git clone https://github.com/Jakeschincariol/arena-skill.git
    mkdir -p ~/.claude/skills
    cp -r arena-skill/skills/arena ~/.claude/skills/
    PermissionsThis copies a folder of text instructions and one Python file (bracket.py) onto your computer. It asks for no account, key or login.
  4. Or: install it as a plugin instead

    Same skill, installed from inside Claude Code. The difference is the name: plugin skills get the plugin's name in front, so you'd type /arena-skill:arena instead of /arena. Pick one way, not both.

    Type these inside Claude Code
    /plugin marketplace add Jakeschincariol/arena-skill
    /plugin install arena-skill@arena-skill
  5. Check it's there

    Start claude and type /ar. The command menu should list /arena. Don't press Enter on it yet: /arena on its own uses your last request as the task and starts a full 100-copy run.

First test: the free cost check, then 8 copies

Free first. The skill comes with a planner that only does math. It doesn't call Claude and writes nothing, so it costs nothing. Run it for the sizes you're thinking about:

bashWhat a run costs, before you run it
python3 ~/.claude/skills/arena/bracket.py plan --agents 8
python3 ~/.claude/skills/arena/bracket.py plan --quick
python3 ~/.claude/skills/arena/bracket.py plan
From the Arena README (checked 2026-10-31). Each call gets bigger with a longer task, so the same count can cost more on a big job.
CopiesRoundsCalls to ClaudeWaves of 10
100 (the default)759570
64637949
32518728
16 (--quick)49116
834310

Then the smallest real run. Check where you stand with /usage first. Then pick something short where you can tell a good answer from a bad one, and run it with 8 copies. That's the size I'd learn on, before I ever try 100.

PromptExample (made up): type this inside Claude Code
/arena --agents 8 Write the headline for a Facebook ad for a roofing company that does free roof inspections after storms. The reader is a homeowner scrolling on their phone. Under 10 words, no prices, no promises we can't back up, no "best in town". A great answer makes a homeowner with a leak stop scrolling.

Before it starts, the skill tells you the size in one line, and it'll suggest accept-edits mode (press Shift+Tab until the bottom of the screen says accept edits on). Without it, Claude Code asks your permission for every file the copies write, which on a big run is hundreds of yes clicks. Accept-edits only covers files inside the folder you started in, and the skill keeps everything in .arena/.

Good: you get one progress line per round, then the winning headline, why it won, how many rounds it went, and the attacks it beat. Bad: a vague task gives you a vague winner. That's the task's fault, not the arena's: tighten the task and run it again.

Read the winner and the attacks it survived

The attacks are the part I love. They're a list of everything another copy tried to break, and how the winner held up. Read them like a checklist of what could go wrong with your ad before a customer finds it.

bashThe full report for the last run
cd ~/arena-runs
python3 ~/.claude/skills/arena/bracket.py winner
python3 ~/.claude/skills/arena/bracket.py status

winner prints the champion, its strategy card, where its answer is saved, and every match it won: the opponent, both scores, the judge's reason and the attacks it survived. status shows each round: how many were alive, how many got knocked out. Every run gets its own folder under .arena/, so older runs stay there.

Real use: when it's worth the usage

I'd save this for the stuff you're about to spend money on or send to a lot of people, where a better version is worth an hour of waiting. For an everyday question, one answer is fine. Start with --quick (16 copies) and only go to the full 100 when it really matters.

Prompt1. The opening lines of a video ad
/arena --quick Write the first two sentences a roofing company owner says to camera in a 30-second Facebook video ad for storm inspections. Spoken, casual, no prices, no guarantees, no claims about other companies. The viewer is a homeowner who just had a storm. A great answer gets them to keep watching past three seconds.
Prompt2. A follow-up text to a lead that went quiet
/arena --quick Write a text message from a home-service company to a homeowner who asked for a quote a week ago and stopped answering. Under 300 characters, friendly, one clear question they can answer yes or no, no pressure, no discounts, includes how to stop getting texts. A great answer gets a reply.
Prompt3. Beat an answer you already got
/arena --quick

The third one is for right after Claude gives you an answer you don't like. With no task text, Arena uses your last request as the task and your rejected answer as the one to beat, and at the end it scores your old answer against the winner, blind. Leave off --quick and it's the full 100.

Want the same cards and the same bracket again? Add --seed and a number (for example --seed 7). Leave --wave at 10 unless you've raised Claude Code's limit on how many tools run at once.

What it costs

Checked 2026-10-31 on claude.com/pricing. Prices change: check before you buy.
PartPlanPrice, as of 2026-10-31
Arena skillOpen source, MIT licenseFree
Python 3.8+, gitOpen sourceFree
Claude CodeClaude Pro$20 a month billed monthly, or $17 a month billed yearly ($200 up front)
Claude CodeClaude Max (5x Pro's usage)$100 a month
Claude CodeClaude Ultra (no 5-hour limit, 10x Pro's weekly usage)$200 a month

Where the real cost is: Arena itself is free, but every copy, every attack and every judge is a call to Claude, and on a subscription those calls come out of your plan's usage limits (a 5-hour limit and a weekly one, shared between Claude and Claude Code). Anthropic doesn't publish a fixed number of calls per plan; it depends on the model, how long the conversation is and how big the files are. So I can't promise you a 100-copy run fits in Pro. Run /usage in Claude Code before and after your 8-copy test, and you'll see what a run costs you.

If you hit a limit, Anthropic's options are: wait for the reset, turn on usage credits, or buy API credits at API rates. Saying no to the API credit prompt keeps you on your plan.

When it breaks

/arena isn't in the command menu
Check the folder landed at ~/.claude/skills/arena/SKILL.md. If the skills folder didn't exist when your session started, type /reload-skills. If you installed the plugin, the command is /arena-skill:arena.
python3: command not found, or a version under 3.8
Install a current Python from python.org, open a new terminal, and run python3 --version again. The skill can't keep score without it.
It started a full 100-copy run when you only typed /arena
With no flags it's 100, and with no task it uses your last request. Say stop: the run halts and can pick up later. Next time, type the size and the task: /arena --agents 8 ... or /arena --quick ....
Hundreds of permission prompts
Every copy writes a file, and the default mode asks about each one. Press Shift+Tab until it says accept edits on before you start. It only covers the folder you started Claude in.
You hit your usage limit in the middle of a run
The bracket is saved as it goes, in .arena/. When your limit resets, start claude in the same folder (the one the run started in) and paste: Resume the arena run: run bracket.py status, then next, and keep going.
It's slow
That's normal. Claude Code runs about 10 calls at once by default, so 100 copies is 70 waves one after another. Use --quick for everyday stuff.
The winner is generic or misses something you know
The copies only know what's in the task: they can't see your chat. Put the facts, the reader, the length and what great looks like into the task text, then run it again.
Your old answer scored higher than the winner
It happens, and the skill tells you when it does. Keep the old one. That's still a useful answer: it held up against the best of the bracket.

That's the arena

Instead of Claude's first answer, you get the one that survived every attack, with the attacks right there to read, and you know what the run costs before you start it.

Checked on Oct 31, 2026 against

Every claim about a third-party tool in this guide (plans, prices, menu paths, commands, limits) was checked against these official pages on Oct 31, 2026. These screens change often: if something looks different, trust the page over this guide.

Rather skip the setup?

Want help setting this up?

Receipts Group builds these systems. Thirty minutes with Eric tells you which piece is worth building first, or that none of them are. The guides stay free either way.

Keep going

more free guides