Skip to content
Development
Skill

/benchmark

Run SWE-bench Lite benchmarks against agtx coding agent workflows. Guides setup, configuration, execution, evaluation, and reporting.

From plugin
agtx
1.7k8 skills1 command1 MCP

Claude Code

$ npx -y skills add fynnfluegge/agtx --skill benchmark --agent claude-code

SKILL.md

benchmark.SKILL.md
name: benchmark
description: "Run SWE-bench Lite benchmarks against agtx coding agent workflows. Guides setup, configuration, execution, evaluation, and reporting."
disable-model-invocation: true

Benchmark — SWE-bench Lite

You are a benchmark guide. Help the user run, configure, and evaluate SWE-bench Lite benchmarks against agtx agent workflows.

**Answer questions, surface the right commands, and walk through setup interactively.** All commands assume the user is in the `benchmark/` directory.

---

Prerequisites

| Tool | Install | |------|---------| | **Docker** | Required for sandbox mode. macOS: Docker Desktop. Ubuntu: `apt install docker.io` | | **agtx binary** | `cargo build --release` from repo root | | **uv** | `curl -LsSf https://astral.sh/uv/install.sh \| sh` | | **tmux** | macOS: `brew install tmux`. Ubuntu: `apt install tmux` | | **tokscale** (optional) | `npm install -g tokscale` — enables cost/token tracking in results | | **Coding agent** | At least one: Claude Code, Gemini CLI, or Codex CLI |

One-Time Setup

cd benchmark/swebench

# Initialize Python environment (once, or after pyproject.toml changes)
uv sync

# [Sandbox only] Build the tools image (tmux + Node.js + Claude Code)
python prebake_images.py --verbose

# [Sandbox only] Build the Linux agtx binary (Ubuntu 22.04 / glibc 2.35)
bash build_linux_binary.sh

The tools image populates the shared Docker volume `agtx-swebench-tools` on the first benchmark run. To force a refresh after updating Claude Code:

docker volume rm agtx-swebench-tools
python prebake_images.py --force --verbose

---

Configuration

Config files live in `swebench/configs/`. Each is a standard agtx `ProjectConfig` TOML written to `.agtx/config.toml` in every cloned repo.

**Minimal (no workflow):**

default_agent = "claude"
workflow_plugin = "void"

**Standard agtx workflow:**

default_agent = "claude"
workflow_plugin = "agtx"
worktree_dir = ".agtx/worktrees"

**Sandbox-optimised** (agent works directly in `/testbed`, no worktree):

default_agent = "claude"
workflow_plugin = "agtx"
worktree_dir = ".agtx/worktrees"
skip_worktree = true

**Mixed agents** (different agent per phase):

default_agent = "claude"
workflow_plugin = "agtx"

[agents]
planning = "gemini"
running  = "claude"
review   = "codex"

**With `sandbox_init`** (install extra tooling inside the container before the agent starts):

default_agent = "claude"
workflow_plugin = "agtx"
skip_worktree = true

sandbox_init = [
    "curl -fsSL https://raw.githubusercontent.com/rtk-ai/rtk/refs/heads/master/install.sh | sh",
    "export PATH=$HOME/.local/bin:$PATH && rtk init -g",
]

`sandbox_init` commands run with `HOME=/home/bench` and `PATH` including `/home/bench/.local/bin`. Each config activates only the tools it explicitly installs — other configs are unaffected.

Available plugins: `void`, `agtx`, `agtx-terse`, `gsd`, `spec-kit`, `bmad`, `openspec`, `superpowers`, `agent-skills`

Pre-built configs for common combinations are in `swebench/configs/`.

---

Running

> **Sandbox mode requires a Linux x86_64 binary.** Use `--agtx ../target/agtx-linux-x86_64` (not `../target/release/agtx`). > > **Always recommend sandbox mode.** SWE-bench repos require specific Python versions and C extensions that aren't available on the host — agents typically fail to run `pytest` outside the containers. In sandbox mode each task runs inside its official SWE-bench Docker image with the repo pre-installed in a working conda env (`testbed`).

**Single random task:**

uv run --project swebench \
  python swebench/benchmark.py \
  --config swebench/configs/claude-void.toml \
  --instances 1 --verbose \
  --agtx ../target/release/agtx

**Specific instance IDs:**

uv run --project swebench \
  python swebench/benchmark.py \
  --config swebench/configs/claude-void.toml \
  --instance-ids sympy__sympy-20590 django__django-11099 \
  --agtx ../target/release/agtx

**Sandbox mode (recommended):**

python swebench/benchmark.py \
  --config swebench/configs/claude-agtx.toml \
  --instance-ids astropy__astropy-12907 \
  --sandbox --verbose \
  --agtx ../target/agtx-linux-x86_64

**Parallel tasks:**

uv run --project swebench \
  python swebench/benchmark.py \
  --config swebench/configs/claude-agtx.toml \
  --concurrency 4 \
  --agtx ../target/release/agtx

**Full 300-task run:**

uv run --project swebench \
  python swebench/benchmark.py \
  --config swebench/configs/claude-agtx.toml \
  --agtx ../target/release/agtx

**Resume an interrupted run** (pass the same `--output-dir`):

uv run --project swebench \
  python swebench/benchmark.py \
  --config swebench/configs/claude-agtx.toml \
  --output-dir swebench_output/agtx_claude_20260427_120000 \
  --agtx ../target/release/agtx

**Hard mode** (prose only — no code blocks or stack traces in the problem statement):

uv run --project swebench \
  python swebench/benchmark.py \
  --config swebench/configs/claude-agtx.toml \
  --hard \
  --agtx ../target/release/agtx

All CLI Options

| Flag | Default | Description | |------|---------|-------------| | `--config PATH` | *(required)* | agtx config.toml for this run | | `--instances N` | all 300 | Run first N tasks | | `--instance-ids ID...` | — | Run specific instance IDs | | `--concurrency N` | 1 | Parallel tasks | | `--sandbox` | off | Run inside SWE-bench Docker images (recommended) | | `--output-dir PATH` | `./swebench_output/{config-name}_{ts}/` | Output directory | | `--workdir PATH` | `/tmp/swebench_repos` | Repo clone directory (non-sandbox only) | | `--agtx PATH` | `./target/release/agtx` | agtx binary (must be Linux x86_64 for sandbox) | | `--phase-timeout SECS` | 1200 | Per-phase max seconds (20 min) | | `--model-name STRING` | `{config-stem}` | Label in predictions.jsonl | | `--split STRING` | `test` | HuggingFace dataset split | | `-

Read more
@fynnfluegge
Ships withagtx

The terminal-native agentic development environment for 10x productivity. A blackboard for coding agents - One shared board. A fleet of agents.

1.7k8 skills1 MCP
Get the whole plugin

Stars on GitHub

Momentum

stars in total
1.7k
Star history of fynnfluegge/agtx on GitHub, a chart by star-history.com

Other skills on agtx.

agtx-execute

agtx-execute

Execute an approved implementation plan. Implement the changes, then write a summary to .agtx/execute.md and stop.

@fynnfluegge@fynnflueggeInstall Skill
agtx-plan

agtx-plan

Plan a task implementation. Analyze the codebase, create a detailed plan, write it to .agtx/plan.md, then stop and wait for user…

@fynnfluegge@fynnflueggeInstall Skill
agtx-research

agtx-research

Explore the codebase to understand a task before planning. Write findings to .agtx/research.md and stop. This is a read-only…

@fynnfluegge@fynnflueggeInstall Skill
agtx-review

agtx-review

Self-review completed work. Check for correctness, edge cases, and code quality. Write review to .agtx/review.md and stop.

@fynnfluegge@fynnflueggeInstall Skill
brainstorm

brainstorm

Enter brainstorm mode to explore a feature or enhancement idea. Stays in discussion mode only — no planning, no implementation.…

@fynnfluegge@fynnflueggeInstall Skill
oneshot

oneshot

One-shot a whole project on an agtx board: decompose the goal, run every task unattended, unblock the workers, and merge each…

@fynnfluegge@fynnflueggeInstall Skill

More skills from other plugins.

brainstorming
Auto-invoked

brainstorming

You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…

@obra@obraInstall Skill
ask-matt

ask-matt

Ask which skill or flow fits your situation. A router over the skills in this repo.

skills11d309k
@mattpocock@mattpocockInstall Skill
accessibility
Auto-invoked

accessibility

Design, implement, and audit accessible UI to WCAG 2.2 Level AA across Web, iOS, and Android — semantic ARIA roles and labels,…

ecc13d293k
@affaan-m@affaan-mInstall Skill
compiler-commit

compiler-commit

Use when you want to verify compiler changes and commit with the correct convention. Runs tests, lint, and format, then commits…

react2d252k
@facebook@facebookInstall Skill

Questions about benchmark.

Which coding agents can use benchmark?
benchmark installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.