Score any AI model on the DeepSWE coding-agent benchmark via the OpenRouter API. Use when the user wants an independent, reproducible coding-agent eval — "run DeepSWE", "benchmark this model on DeepSWE", "score model X on the coding benchmark", "test a model via OpenRouter on DeepSWE", or to verify vendor-reported coding scores. Covers setup, the OpenRouter wiring for mini-swe-agent, single-task / subset / full 113-task runs, and leaderboard submission.
80
100%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
Low
Low-risk findings worth noting
The canonical home for this skill is run-deep-swe in davidondrej/skills
DeepSWE (deepswe.datacurve.ai) is a 113-task Harbor-compatible coding-agent benchmark. It runs via Pier (Harbor fork) driving mini-swe-agent (model-agnostic). Any model reachable through OpenRouter can be scored.
which uv git docker || echo "MISSING: install uv, git, docker"
docker info >/dev/null 2>&1 || echo "MISSING: Docker daemon not running (Pier's default sandbox)"
echo "OPENROUTER_API_KEY set? ${OPENROUTER_API_KEY:+YES}"Docker must be running — Pier sandboxes each task in Docker by default (--env modal for cloud instead).
The user has a dedicated OpenRouter key for this benchmark exported globally in ~/.zshrc (weekly hard spend limit set as a safeguard). A fresh shell already has OPENROUTER_API_KEY available. If it's somehow not set, re-source the shell:
source ~/.zshrc && echo "key loaded? ${OPENROUTER_API_KEY:+YES}"If still unset, ask the user — never invent a key.
git clone https://github.com/datacurve-ai/deep-swe && cd deep-swe
uv tool install datacurve-pier # PyPI (preferred)
# or: uv tool install git+https://github.com/datacurve-ai/pier
# pier bundles mini-swe-agent as the --agent driverRun all pier commands from inside deep-swe/, using relative -p tasks/....
mini-swe-agent has a native OpenRouter model class. Both routes below use OPENROUTER_API_KEY and the OpenRouter slug (vendor/model, e.g. minimax/minimax-m3):
Route A — native OpenRouter class (preferred, hits openrouter.ai/api/v1 directly):
pier run -p deep-swe/tasks --agent mini-swe-agent \
--model minimax/minimax-m3 --model-class openrouterRoute B — LiteLLM provider prefix (fallback; same key):
pier run -p deep-swe/tasks --agent mini-swe-agent \
--model openrouter/minimax/minimax-m3Notes:
export MSWEA_COST_TRACKING=ignore_errors.pier run --help and mini --help.Always validate end-to-end wiring on a single task before spending tokens on the corpus:
pier run -p deep-swe/tasks/<task-id> --agent mini-swe-agent \
--model minimax/minimax-m3 --model-class openrouter
# list available task ids:
ls deep-swe/tasksPass criteria: run completes, model returns actions (not auth/format errors), a score/trajectory is emitted. If it 401s → key wrong. If "provider not provided"/"model not mapped" → fix slug or switch route.
pier run -p deep-swe/tasks --agent mini-swe-agent \
--model minimax/minimax-m3 --model-class openrouter \
--n-tasks 10 --sample-seed 0pier run -p deep-swe/tasks --agent mini-swe-agent \
--model minimax/minimax-m3 --model-class openrouter
# add `--env modal` to run in parallel Modal sandboxes (needs Modal configured)jobs/<run>/<trial_id>/. Inspect with pier view jobs/<run>, pier analyze jobs/<run>, or pier critique run jobs/<run>.| Symptom | Cause | Fix |
|---|---|---|
| HTTP 401 | bad/missing key | re-export OPENROUTER_API_KEY |
| "LLM Provider NOT provided" | missing slug prefix | use Route B openrouter/... or Route A with --model-class openrouter |
| "model isn't mapped"/cost error | unknown cost for model | export MSWEA_COST_TRACKING=ignore_errors |
| unknown flag | version drift | check pier run --help |
66860fb
Canonical home
since Jul 27, 2026
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.