tool-evals
Skill3 starsChanged 38 days agoMITView on GitHub
Measure whether an LLM agent can discover, select, compose and recover with a tool surface. Use when testing model-facing tool usability, argument accuracy, response interpretation, multi-step tool chains, unnecessary calls or tool failure handling. Do not use for backend API contract tests alone, MCP server scaffolding, or whole-agent answer-quality benchmarking without a tool-use question.
In this repository18 other files it gives its agents.
- agent-architectureSkill
- agent-cost-and-latencySkill
- agent-development-workflowSkill
- agent-evalsSkill
- agent-failure-recoverySkill
- agent-guardrailsSkill
- agent-observabilitySkill
- agent-orchestrationSkill
- agent-securitySkill
- agent-state-and-memorySkill
- agent-testingSkill
- deterministic-authoritySkill
- evidence-provenanceSkill
- human-in-the-loopSkill
- prompt-engineeringSkill
- rag-engineeringSkill
- structured-output-designSkill
- tool-designSkill
The file
We split this skill into the rules it gives an agent
3 rules. About 0 are common, 2 are distinctive, and 1 is very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈2
Distinctive · estimate
This author's own choices. Worth a look.
1
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 17
Write cases covering discovery, choosing the correct capability, filling types/units/IDs, interpreting empty/partial results, chaining …
- Distinctive: line 19
Add pagination, stale version, authorization denial, malformed result, rate-limit, unknown side-effect outcome, cancellation and budget …
- Distinctive: line 25
Use deterministic assertions for schema validation, identifier provenance, call dependencies, permissions, retry ceilings, duplicate …
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill 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
Tool Evals
Evaluate the model/tool interaction, not merely whether the endpoint returns 200. Keep server contract tests deterministic and separate; use agent-evals for end-to-end outcome scoring.
Build realistic cases
- Freeze the tool catalogue, descriptions, schemas, model/prompt version, permissions, fixtures and initial state. Include similar tool names and plausible distractors. Compare the current surface with a baseline under the same task distribution.
- Write cases covering discovery, choosing the correct capability, filling types/units/IDs, interpreting empty/partial results, chaining dependent calls, and deciding that no tool is needed. Include ambiguous user intents and insufficient evidence; correct abstention can be success.
- Include a realistic multi-step case: search → select a supported identifier → read current version → propose a permitted change → satisfy authority/approval → commit → verify observed state. Assert data dependency and forbidden effects rather than one exact safe call sequence.
- Add pagination, stale version, authorization denial, malformed result, rate-limit, unknown side-effect outcome, cancellation and budget exhaustion. Keep side-effect tests in resettable sandboxes or fakes; an eval is not authorization to touch live accounts.
Capture and score observable behavior
- Record visible tool catalogue/discovery evidence, calls with normalized arguments, principal, response classification, timestamps, policy decisions, and final state. Preserve rejected calls in the trajectory. Do not score a correct final sentence as successful mutation unless committed evidence agrees.
- Score each dimension independently: discovery recall; selection correctness; argument correctness; response interpretation; chain dependencies; unnecessary calls; failure recovery; termination; final state and forbidden effects. Define denominators and severity. Safe redundant calls cost efficiency; unauthorized writes fail the safety gate regardless of other scores.
- Use deterministic assertions for schema validation, identifier provenance, call dependencies, permissions, retry ceilings, duplicate effects and state. Grade genuinely ambiguous semantic choices against a rubric and source evidence. A trace mentioning a tool name is not evidence that it selected it correctly.
- Repeat stochastic cases, report per-slice variation and false selections, and inspect earliest failures. Separate model misuse from server bugs and catalogue/discovery omission. Do not punish valid alternative tool sequences simply because they differ from a sample transcript.
Refine one cause at a time
- Change one description, schema, result shape or granularity choice; rerun matched cases and held-out tasks. Retain changes only when benefit outweighs added complexity and latency. Test removal of distractor tools before adding routing machinery.
Deliver task fixtures, allowable/forbidden effects, dependency assertions, traces, dimension scores and a contract improvement justified by failures. MCP-style XML QA evals, where present, are useful for read-only answers; add safety, ambiguity and recovery cases without replacing that tooling.
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.

