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.
npx agentmods add instructions/benchflow-ai/benchflow/agents-mdgit clone --depth 1 https://github.com/benchflow-ai/benchflowWhat 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.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.01663 | $0.01663 |
| Opus 5 | $0.00831 | $0.00831 |
| Sonnet 5 | $0.00333 | $0.00333 |
| Haiku 4.5 | $0.00166 | $0.00166 |
Grade A, and why
benchflow AGENTS.md 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 2d ago.
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.
- **A revoked/wrong model key shows up as an opaque agent error, not an auth error.** With `openhands`, a dead key surfaces only as `ACP error -32603: Internal error` on the *first* model call (and `--usage-tracking off` How it starts
The opening of the file, as written. The whole thing — 52 lines — stays where its author put it; the contents beside it link to each section on GitHub.
benchflow
Multi-turn agent benchmarking with ACP. Docs live in docs/.
Setup + test
uv sync --extra dev --locked
uv run python -m pytest tests/
uv run ty check src/
uv run ruff check .
Conventions
- Don't rewrite passing tests to match new behavior. Update for shape changes, not for semantic changes you don't understand. No tautological tests.
- Regression tests must name the PR/commit they guard in the docstring (e.g.
Guards the fix from PR #198 against the regression introduced by PR #193). - Human review before
main. PRs only. No force-pushes tomain. Self-approval doesn't count. - Trunk-based: branch off
main, PR back tomain. No long-lived release branches. - Releases: current mechanics live in
docs/release.md. Merges tomainpublish internal preview.devNbuilds after CI passes; public releases require a reviewed stable-version PR, a matchingv<version>tag onmain, then a bump back to the next.dev0.
Experiment guidance (when using benchflow to run batch tasks experiments)
- When running tasks experiments on Daytona, keep in mind that Daytona supports up to 100 parallel VMs.
- When running tasks experiments by default use the highest inference level for all the model calls (For example, xhigh for GPT5.5, or MAX for Opus4.8).
- When running tasks experiments, for each API key that available to you, verify 1. whether the key is still working by sending basic LLM calls; 2. ask the user how many parallel tasks can each key support / figure it out by yourself. Thus you can use highest available concurrency when running experiments.
- A revoked/wrong model key shows up as an opaque agent error, not an auth error. With
openhands, a dead key surfaces only asACP error -32603: Internal erroron the first model call (and--usage-tracking off/--agent-env LLM_CACHING_PROMPT=falsedo not help). So before any run, verify the exact key string with a raw provider call: Geminicurl ".../v1beta/models/<model>:generateContent?key=$GEMINI_API_KEY"must return 200; Bedrock aconversecall withAuthorization: Bearer $AWS_BEARER_TOKEN_BEDROCKmust return 200. Keys of the same provider can rotate format (e.g. Google AI StudioAQ.…vs legacyAIza…) — only the live one works, so never assume a.env/keys.enventry is current. - Daytona hard-caps each sandbox at 10 GB (a larger storage request is clamped — see the
Clamping storage_mb … -> 10240log line). Tasks with heavy images — large HuggingFace model snapshots, Playwright, LaTeX/marker, e.g.latex-formula-extraction— overflow during bootstrap and fail withNo space left on device, or hang silently at "Sandbox user agent ready" with no trajectory (this is an infra/disk failure, not a model or auth bug). On Daytona pick light tasks (e.g.citation-check,3d-scan-calc); for heavy tasks use--sandbox docker(host disk, no 10 GB cap). - Opus-4.8 (and other Claude 4.8+) on Bedrock needs the adaptive-thinking patch. Without it the first call 400s (
thinking.type.enabled is not supported … use thinking.type.adaptive). It ships in the LiteLLM proxy assrc/benchflow/providers/litellm_bedrock_patch.py(loaded into the proxy process viasitecustomize), so it applies the same way on both backends — there is no separate host Bedrock proxy. Model string isaws-bedrock/us.anthropic.claude-opus-4-8withAWS_REGION=us-west-2. The run defaults to adaptivehigh; current LiteLLM Bedrock support also clamps requestedxhigh/maxtohighfor Claude 4.8 models. Verify the applied value intrajectory/llm_trajectory.jsonlrather than trusting a requested-effort label. - Use Huggingface as the ground truth of tasks traj database. The target is making sure number_of_tasks * 2 (with/without skills) * number_of_trials (usually 3 / 5) for each model + each harness is complete. Each traj on Huggingface must be "healthy" - "healthy" means 1. the trial has complete traj information (agent pass / fail / timeout the task); 2. the trial has complete meta information (for example: token usage; timing; etc.). For each traj, we should use subagents to audit 1. whether the fail / timeout is due to agent capability instead of task config or env setting; 2. there is no reward hacking behavior; 3. in "no-skill" trials the agents do not have access to any skill files or accessed any skill files in traj.
- When reviewing task-run result trajectories, agents must use the installed
benchflow-experiment-reviewskill from the active harness's skill root; in this repo the canonical copy lives at.agents/skills/benchflow-experiment-review, with.claude/skillskept as a symlink for Claude Code compatibility.
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.
- 2d ago First seen · 52 lines · 1,663 tokens per session scan A 7621eedb77a1
benchflow AGENTS.md is an instructions file published in the GitHub repository benchflow-ai/benchflow (335 stars, last pushed 2d ago), licensed Apache-2.0. It adds 1,663 tokens to every session, about $0.0083 per session on Opus 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-08-30.
Other instructions, from other repositories
openbench AGENTS.md
Instructions for minghinmatthewlam/openbench, covering openbench — agent context, local execution context, what openbench is, execution ownership and product goals (the two things we are building toward).
argus-validation-benchmarks CLAUDE.md
Instructions for pensar-x/argus-validation-benchmarks, covering project overview, what you're building, the goal, success criteria and what is apex?.
hotpath-rs AGENTS.md
AGENTS.md instructions for pawurb/hotpath-rs, covering agents.md, project overview, reference docs, development commands and profiling modes are combined via features, e.g.
Tracely-ai CLAUDE.md
Claude Code instructions for Jwuthri/Tracely-ai, covering claude.md, commands, architecture, hard rules and gotchas.
mobilegym AGENTS.md
Instructions for Purewhiter/mobilegym, covering agents.md, project overview, type-checking strategy, eslint and with data graph generation.
ClawBench AGENTS.md
Instructions for TIGER-AI-Lab/ClawBench, covering clawbench -- agent context, what this is, project structure, setup and 2. configure at least one model.