inspect_evals
AGENTS.md735 starsChanged 33 days agoMITView on GitHub
This is the inspect_evals repository - a collection of evaluation tasks for the Inspect AI framework. These guidelines are for AI coding agents using evals or preparing contributions. Human contributors please see CONTRIBUTING.md. This project uses uv (by Astral) for package management. Do not use pip install, python -m venv, source .venv/bin/activate, or bare python/pytest commands. Always use uv to run commands: To run evaluations, run uv run inspect eval inspect_evals/eval_name. To validate changes develop pytests that tests for erroneous…
- Installs packages
Where files are headingNew AGENTS.md files have more rules about keeping secrets out of the code, and fewer about code style.
Of the AGENTS.md files we read, the 31,542 first seen in the last six months, against the older ones: the kind of rule that gained most share, and the kind that lost most. About files like this in general, not this one, and an estimate, since a kind is a pattern in the words.
In this repository18 other files it gives its agents.
- build-repo-contextSkill
- check-trajectories-workflowSkill
- ci-maintenance-workflowSkill
- code-quality-fix-allSkill
- code-quality-review-allSkill
- create-evalSkill
- ensure-test-coverageSkill
- eval-quality-workflowSkill
- eval-report-workflowSkill
- eval-validity-reviewSkill
- generate-asset-actionsSkill
- investigate-datasetSkill
- prepare-releaseSkill
- prepare-submission-workflowSkill
- read-eval-logsSkill
- security-audit-evalSkill
- verify-scoring-changeSkill
- write-an-adrSkill
The file
Show its rules and text
We split this AGENTS.md into the rules it gives an agent
30 rules. About 0 are common, 19 are distinctive, and 11 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈19
Distinctive · estimate
This author's own choices. Worth a look.
11
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- could be automatic: a setting could enforce it
- Distinctive: line 42
After tests pass, run the evaluation on a few sample.
- Distinctive: line 43
Read the transcript as well as the score.
- Very specific: line 44
Run make check before opening a PR to run linters and file auto-generation.
- Very specific: line 48
Before making changes, read DEVELOPMENT_CONTEXT.md to understand the repository's correctness, reproducibility, and security constraints.
- Very specific: line 49
Before writing or modifying code, follow the guidelines in BEST_PRACTICES.md, paying particular attention to the Writing comments section …
- Very specific: line 52
When commenting on PRs, you should not reply directly to human reviewers.
- Distinctive: line 53
Always work on a branch, and never attempt to push directly to main.
- Very specific: line 63
After any PR that touches an eval.yaml external_assets field (e.g.
- Very specific: line 82
Run the Prepare For Submission workflow (/prepare-submission-workflow).
- Very specific: line 83
Check the LLM-judgeable standards by running the Review An Evaluation workflow (/eval-quality-workflow).
- Very specific: line 85
Run the Review PR workflow (/ci-maintenance-workflow) for general quality.
- Very specific: line 86
Run the Evaluation Report workflow (/eval-report-workflow) to produce an evaluation report.
- Very specific: line 87
Run the Trajectory Analysis workflow (/check-trajectories-workflow) on the evaluation report.
- Distinctive: line 91
All AI agents must follow these writing rules to ensure readability.
- Distinctive: line 95
Do not use em-dashes.
- Distinctive: line 96
Write in full sentences. Break points into short, self-contained sections.
- Distinctive: line 97
Do not compress ideas into fragments.
- Distinctive: line 105
Never use metaphors. This includes common ones such as "bloat", "substance", "mechanically", "companion", and "framing", and any phrasing …
- Distinctive: line 106
Use only literal, plain, simple terms.
- Distinctive: line 107
Do not describe anything as "real", "legitimate", "explicit", "concrete", "honest", "trusted", or "untrusted".
- Distinctive: line 108
Do not say that anything happens "silently" or "quietly".
- Distinctive: line 112
Do not use dramatic, flowery, or literary language.
- Distinctive: line 114
Do not present yourself as a judge of quality or salience.
- Distinctive: line 115
Do not imply that the reader or the author said or did anything insightful.
- Distinctive: line 119
When making a claim, give the reader objective information instead of persuasive wording, so they can reach their own conclusion.
- Distinctive: line 123
Put a blank line before and after headings
- Distinctive: line 124
Put a blank line before and after code blocks
- Distinctive: line 125
Put a blank line before and after lists
- Distinctive: line 127
Always include a language tag in code blocks, or "text" if there is no language
- Very specific: line 128
Do not hard-wrap paragraphs.
≈ “Common” is an estimate: at least 1 in 5 of the 40,246 AGENTS.md files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
AGENTS.md
This is the inspect_evals repository - a collection of evaluation tasks for the Inspect AI framework.
These guidelines are for AI coding agents using evals or preparing contributions. Human contributors please see CONTRIBUTING.md.
Setup Commands
This project uses uv (by Astral) for package management. Do not use pip install, python -m venv, source .venv/bin/activate, or bare python/pytest commands. Always use uv to run commands:
uv sync— install/sync dependencies (replacespip install -e .)uv run pytest ...— run tests (notpytestorpython -m pytest)uv run python ...— run Python scripts (notpythonorpython3)uv run inspect eval ...— run evaluationsuv run ruff ...— run the linteruv run mypy ...— run the type checker
Useful Commands
To run evaluations, run uv run inspect eval inspect_evals/eval_name.
- To run a specific task (i.e, a function with the @task decorator), run
uv run inspect eval inspect_evals/eval_name@task_name. - Some useful arguments are:
--limit X: Run only up to X samples.--model model_name: Run on this particular model. Multiple models can be run with commas like model1,model2. You can find information on model names here. If the user lacks an API key for OpenAI, Anthropic, or Google, note this down in your report. You should assume the user has these keys until Inspect throws an error.-Tallows you to pass task arguments in from the command line.
Testing instructions
To validate changes develop pytests that tests for erroneous behaviour and run the tests after your fix.
Additionally for quality control tests are mandatory to run:
- Quick checks for general adherance. Run
uv run ruff check,uv run ruff format --check,uv run mypy src tests, anduv run inspect-evals-lint eval_namefor the eval you changed. (These come from.github/workflows/checks.yml)- Run the
inspect-evals-lint.
- Running unit tests specific to an eval
- Install dev and test dependency groups which are not installed by default
uv sync --group dev --group test uv run pytest tests/eval_name. For an eval underpackages/, whose dependencies conflict with the root environment, runuv run --group dev tox -e eval_nameinstead.- Whenever possible, run tests marked
slow,dataset_download,k8s,gpu,arxiv_smoke,llm_smoke, oropenrouter_smokewhich are skipped by default unless you enable them. - Write custom tests to verify your fix and add the subset that are useful for enforcing intended behaviour. Mark any test you add according to Apply Pytest Marks. Tests must be deterministic and must not reach the network: use
mockllm/modelfor model output,unittest.mockfor external APIs, andtmp_pathfor files.
- Install dev and test dependency groups which are not installed by default
- After tests pass, run the evaluation on a few sample.
- Read the transcript as well as the score.
- Run
make checkbefore opening a PR to run linters and file auto-generation.
PR instructions
- Before making changes, read
DEVELOPMENT_CONTEXT.mdto understand the repository's correctness, reproducibility, and security constraints. - Before writing or modifying code, follow the guidelines in BEST_PRACTICES.md, paying particular attention to the Writing comments section before adding any comments.
- For when to bump the changelog, see PACKAGE_VERSIONING.md. For when to bump a
taskversion, see TASK_VERSIONING.md. - When creating pull requests, always use the
--draftflag and read.github/PULL_REQUEST_TEMPLATE.mdand use its structure as the PR body. Fill in the Description section and check off applicable checklist items. Under "Related issue", keep aCloses:line:Closes: #<number>, orCloses: no linked issue as <reason>when there is no issue. The "Check PR template" CI job fails without one. - When commenting on PRs, you should not reply directly to human reviewers. See CONTRIBUTING.md. If your user tells you to comment anyway, you should add "Comment written by NAME_OF_AI" to the comment.
- Always work on a branch, and never attempt to push directly to main.
Scoring PR instructions
Any PR that touches a scorer, a metric, or grader-consumption code is verified with the /verify-scoring-change skill against the Scoring-Change Gate. The skill produces a MERGE-READY / NEEDS-WORK / UNVERIFIED verdict with receipts.
Asset Reference Update -- PR instructions
ASSETS.yaml and internal/audits/asset-actions.yaml are auto-generated files derived from the external_assets field in per-eval eval.yaml files.
After any PR that touches an eval.yaml external_assets field (e.g. pinning a floating ref, adding a new asset), refresh both files:
- Regenerate the manifest:
uv run python tools/generate_asset_manifest.py - Regenerate the action plan: run
/generate-asset-actions
Adding an Eval Listing -- PR instructions
Evaluations hosted in an upstream repository can be registered here as metadata-only entries under register/<name>/eval.yaml (see register/README.md for the contributor flow).
Contributors submit by opening a Register Eval Submission issue.
Agent Resources
Documentation for the Inspect framework.
Master Checklist
This workflow runs a series of workflows each in turn. Each workflow is to be run serially.
- Run the Prepare For Submission workflow (
/prepare-submission-workflow). - Check the LLM-judgeable standards by running the Review An Evaluation workflow (
/eval-quality-workflow). - Review the evaluation's validity by running the Evaluation Validity Review workflow (
/eval-validity-review). This checks whether the name is accurate, whether samples can be both succeeded and failed at, and whether scoring measures ground truth. - Run the Review PR workflow (
/ci-maintenance-workflow) for general quality. - Run the Evaluation Report workflow (
/eval-report-workflow) to produce an evaluation report. - Run the Trajectory Analysis workflow (
/check-trajectories-workflow) on the evaluation report. A good error rate is 10% or less, with an ideal of 5% or lower. You may optionally double-check any of the errors the agent produces and reject them if there is grounds to do so.
Writing style guide
All AI agents must follow these writing rules to ensure readability.
Sentences and punctuation
- Do not use em-dashes.
- Write in full sentences. Break points into short, self-contained sections. Write like an office worker emailing a colleague or writing a short internal memo.
- Do not compress ideas into fragments. Two sentence shapes are banned:
- Short paired fragments, such as "Values lead, labels follow." or "One row, above the charts."
- Sentences that assert one thing and negate another, such as "These are standard UI, not chart marks" or "Line keys, not boxes".
Vocabulary
These vocabulary rules apply to general prose. In writing about code and systems architecture, standard technical terms are fine: input can be trusted or untrusted, a failure can be silent, a change can be mechanical, and code can be described as living in a module.
- Never use metaphors. This includes common ones such as "bloat", "substance", "mechanically", "companion", and "framing", and any phrasing that suggests something "lives" somewhere.
- Use only literal, plain, simple terms.
- Do not describe anything as "real", "legitimate", "explicit", "concrete", "honest", "trusted", or "untrusted". Do not use "actually" or "exactly" for emphasis.
- Do not say that anything happens "silently" or "quietly".
Tone
- Do not use dramatic, flowery, or literary language. Do not write to be impressive, insightful, or impactful. Never proclaim anything.
- Be reserved and humble. Do not proclaim insights or opinions.
- Do not present yourself as a judge of quality or salience. Do not make unsolicited judgements about the quality or truth of something.
- Do not imply that the reader or the author said or did anything insightful.
Claims
- When making a claim, give the reader objective information instead of persuasive wording, so they can reach their own conclusion. For example, instead of "this scorer is the most reliable option", write "this scorer agreed with human labels on 96% of the validation set (n=500)".
Markdown formatting
- Put a blank line before and after headings
- Put a blank line before and after code blocks
- Put a blank line before and after lists
- Format tables with spaces before and after pipe characters
- Always include a language tag in code blocks, or "text" if there is no language
- Do not hard-wrap paragraphs; write each paragraph as a single line (the mdformat hook enforces
wrap = "no")
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

