arena

arena is a command for Claude Code from fmflurry/settings-opencode. It costs 14 tokens per session (5,278 once invoked), scanned A, original, MIT.

A command for running an LLM arena benchmark, which evaluates language models by testing them on prompts and comparing their results against criteria such as output quality, schema validity, and latency.

In plain words
What is it for?
Use it to benchmark classify or draft prompts, compare model configurations, inspect failures, rerank saved results, or refine the settings of top-ranked candidates.
Why use it?
It replaces ad hoc model comparisons with repeated benchmark runs, rankings, detailed results, and optional cost limits. It also supports a dry run before live execution.

Command for Claude Code

Written for Claude Code: $ARGUMENTS substitution. Also seen: names the AskUserQuestion tool; positional $N argument.

Good fit Use it to benchmark classify or draft prompts, compare model configurations, inspect failures, rerank saved results, or refine the settings of top-ranked candidates.

Compare 6 commands from other repositories ↓
Install with agentmods
npx agentmods add commands/fmflurry/settings-opencode/arena
Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Clone the repo
git clone --depth 1 https://github.com/fmflurry/settings-opencode

Made for: Claude Code.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for arena

README.md
[![agentmods](https://agentmods.dev/badge/commands/fmflurry/settings-opencode/arena/github.svg)](https://agentmods.dev/commands/fmflurry/settings-opencode/arena)
Your own site
<a href="https://agentmods.dev/commands/fmflurry/settings-opencode/arena"><img src="https://agentmods.dev/badge/commands/fmflurry/settings-opencode/arena/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for arena

Your own site · 80×15
<a href="https://agentmods.dev/commands/fmflurry/settings-opencode/arena"><img src="https://agentmods.dev/badge/commands/fmflurry/settings-opencode/arena.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 14 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 5,278 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 1 finding. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00014 $0.05278
Opus 5.5 $0.00006 $0.02111
Sonnet 5.5 $0.00003 $0.01056
Haiku 4.5 $0.00001 $0.00528

Measured today against content hash a1c4ddd92f9c, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade A, and why

arena scanned grade A with 1 finding against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured today.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Makes network callslowCapability

Not a fault in itself. Listed so you know the mod talks to something, and to what.

curl -s http://localhost:4000/health || echo "Gateway unreachable"
.claude/commands/arena.md · 465 lines

How it starts

The opening of the file, as written. The whole thing — 465 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Arena Command

CC: Execute this as a direct CLI wrapper. Run pre-flight checks, execute dry-run first, ask for confirmation, then run live. Read and present results.

Run LLM arena benchmark: $ARGUMENTS

Your Task

Run the LLM arena benchmark to evaluate candidate models on classify/draft prompts. The arena benchmarks each model with multiple criteria (schema_valid, output_quality, latency, etc.) and aggregates results per config.

1. Parse Arguments

From $ARGUMENTS, extract:

  • prompt: classify | draft | all (default: all)
  • Optional flags:
    • --dry-run (automatic in step 2, you run this always first)
    • --confirm (automatic in step 4, only after user approval)
    • --failures (include failures in detail JSON)
    • --max-cost <eur> (budget cap in EUR; exit non-zero if exceeded)
    • --reps <n> (repetitions per case, default: as configured)
    • --top <n> (Stage 1 only: keep top N configs by ranking; default 3)
    • --refine + --from <rankingFile> (Stage 2: dense settings sweep on top-N winners; requires prior ranking.json)
    • --rerank + --from <detailFile> (Offline re-ranking: reload stored detail.json results, re-apply current thresholds (env vars), zero LLM calls, outputs updated ranking.json with provenance via rerankOf metadata)
    • --suggest + --eu (Shortlist generator: no LLM calls, writes candidates proposal; --eu uses eu.openrouter.ai host)

2. Pre-Flight Checks

Stop and report failure if ANY check fails.

Environment Variables:

LITELLM_MASTER_KEY            # LiteLLM gateway authentication
OPENROUTER_API_KEY            # OpenRouter fallback models
AZURE_AI_API_KEY              # Azure models
AZURE_AI_API_BASE             # Azure endpoint
ARENA_MAX_COST_EUR            # Budget cap in EUR (default: 10)
ARENA_USD_TO_EUR_RATE         # Static conversion rate (default: 0.86)
BENCH_FORCE_FALLBACK_CASES    # Force rich 25-case fallback datasets (default: 0; set to 1 for baseline runs)
ARENA_CALL_TIMEOUT_MS         # Per-call LLM abort timeout in ms (default: 120000; clamp: 10s–5min)
ARENA_TIME_BUDGET_MIN         # Global wall-clock budget in minutes (default: 60; hard stop if exceeded)
ARENA_CONCURRENCY             # Max concurrent API calls (default: 6; clamp: 1–16)
ARENA_CONCURRENCY_PER_MODEL   # Concurrency per model; AIMD throttle on 429 (default: 3; clamp: 1–8)
ARENA_GATE_SCHEMA_VALID_MIN   # Schema validation pass-rate minimum (default: 0.98; configurable 0.0–1.0)
ARENA_GATE_VERBATIM_MIN       # Verbatim exactness global minimum (default: 0.95; applies to draft montant/numFacture/echeance unless overridden)
ARENA_GATE_VERBATIM_AMOUNT_MIN # Override for montant field (default: ARENA_GATE_VERBATIM_MIN)
ARENA_GATE_VERBATIM_INVOICE_NUMBER_MIN # Override for numeroFacture field (default: ARENA_GATE_VERBATIM_MIN)
ARENA_GATE_VERBATIM_DUE_DATE_MIN # Override for echeance field (default: ARENA_GATE_VERBATIM_MIN)
ARENA_GATE_INTENT_MATCH_MIN # Classify quality gate threshold (default: 0.8; configurable 0.0–1.0)
ARTIFICIALANALYSIS_API_KEY    # Optional: enriches --suggest candidate priors
LITELLM_BASE_URL              # LiteLLM proxy base URL (default: http://localhost:4000/v1; must use port 4000 with docker-compose.override.yml)

Read the full file on GitHub · 465 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. today Changed a1c4ddd92f9c
  2. 26d ago First seen · 465 lines · 14 tokens per session scan A 9fa430c2294e

Subscribe to this mod's changes

arena is a command published in the GitHub repository fmflurry/settings-opencode (171 stars, last pushed yesterday), licensed MIT. It adds 14 tokens to every session and 5,278 once invoked, about $0.0001 per session on Opus 5.5. A static security scan graded it A with 1 finding (makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-20.