adk-agent-evaluation
Skill9 starsChanged 17 days agoMITView on GitHub
Build, adapt or audit a Python ADK agent's test strategy: deterministic tool and Runner tests, live eval sets, simulated conversations, conformance replay, strict result checks and quote or citation support. Use for agent behaviour, regression coverage, eval reliability, fixing a failed stage without re-running paid earlier ones, holdout budgets, error analysis on a labelled dev set to fix wrong decisions, measuring each prompt, exemplar or model change, and subject-matter expert labelling: failure taxonomy, inter-rater agreement and judge calibration. Do not activate for non-agent unit tests, standalone model benchmarks, deployment or cleanup alone, prompt wording or exemplar design (adk-agent-instructions), model settings (adk-model-and-output-contracts), wiring eval gates into CI (adk-release-engineering), production telemetry (adk-agent-observability), adversarial suites (adk-agent-security) or presenting results (adk-presenter).
- Reads credentials
In this repository25 other files it gives its agents.
- adk-agent-instructionsSkill
- adk-agent-interoperabilitySkill
- adk-agent-observabilitySkill
- adk-agent-securitySkill
- adk-discoverySkill
- adk-engineerSkill
- adk-fastapi-backendSkill
- adk-frontend-integrationSkill
- adk-governance-packSkill
- adk-memory-architectureSkill
- adk-model-and-output-contractsSkill
- adk-operational-guardrailsSkill
- adk-portability-planningSkill
- adk-presenterSkill
- adk-release-engineeringSkill
- adk-sql-agent-engineeringSkill
- adk-system-designerSkill
- adk-tool-auth-and-secretsSkill
- adk-tool-interface-designSkill
- adk-workflow-designSkill
- deploy-adk-on-google-cloudSkill
- optimise-adk-on-google-cloudSkill
- practice-profileSkill
- protect-adk-sensitive-dataSkill
- safe-api-tool-callsSkill
The file
We split this skill into the rules it gives an agent
2 rules. About 0 are common, 2 are distinctive, and 0 are 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.
0
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 98
Run the project's meaningful offline checks with external access prevented where hermeticity is claimed.
- Distinctive: line 100
Check a second invocation for duplicate writes, duplicate test registration and needless configuration churn.
≈ “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
ADK agent evaluation
Produce evidence about an agent's decisions, executed effects and final account of those effects. Adapt the target project; keep its business domain, architecture, dependency pins and test conventions. This skill works without the book or its companion repository.
Inspect and define the job
- Read repository instructions, manifests/lockfiles, test configuration and existing agent factories, tools, callbacks, session services and evaluation assets. Use the project's existing interpreter to inspect installed package metadata before importing application code. Imports and test collection can have side effects; inspect their entrypoints first. Check the pinned Python,
google-adk,google-genaiand any managed-evaluation SDK versions against compatibility.md. Preserve pins; a version mismatch requires interface verification or a clearly reported blocked live path, not an automatic dependency change. - Locate trusted identity, authorised mutations, idempotency keys, business-store lifetime, conversation-state lifetime and the model-injection seam. Read credential variable names and presence, never print secrets or dump
.env. Identify existing offline/live markers and which commands could reach remote services. Finish inspection with a concise map of these boundaries and missing prerequisites. - Translate the user's requirement into observable success and forbidden actions: correct tool/arguments, allowed order, resulting effect, truthful response and bounded work. Distinguish deterministic assertions from model-dependent decisions. For an audit or recommendation, report each gap with its evidence and the concrete change that would close it, and leave implementation for a separate request. For implementation, present a short plan before broad changes and make the smallest coherent change.
- Before model tuning or a quality cohort, pass an honest reference for each important outcome class through the actual response schema, validators and relevant Runner/served boundary. Include nondecisive issues, required controls and unresolved or contradictory evidence. A pass obtained by inventing associations or dropping obligations is not a solvable contract. Diagnose a failed reference first; evaluation design gives the checkpoint.
Select the mode
Combine modes only when the requested outcome needs them. Read the linked reference when entering that mode, rather than loading every file.
| Request or evidence needed | Mode and resource | Completion criterion |
| Enforce business rules, reproduce a bad decision, test callbacks/state or HTTP integration without model variance | Deterministic tests | Actual effects and state boundaries asserted through the relevant real runtime layer |
| Measure the real model, build fixed cases, add simulated dialogue or calibrate a judge | Live evaluations | Version-valid assets and offline checks first; approved live work retains complete results and provenance |
| Record or compare provider exchanges after an integration change | Conformance | Reviewed baseline, nonzero executed case count, isolated tool effects and explicit replay limits |
| Grade an outcome that many call orders reach (a booking moved, a record updated), or a suite that passes one night and fails the next | Evaluation design, then Result auditing for the reliability figure | Reference trajectory replayed on a fresh backend; whole fixture diffed and effective mutations compared; a do-nothing control every action case fails; for live runs, repeated trials with an unbiased pass^k and NOT RUN on short cohorts (a deterministic scripted suite runs each case once) |
| No labels yet: subject-matter experts must decide what passes, or two experts' labels and a judge's need checking | Expert review | One decision-maker named; failure taxonomy stopped at saturation; versioned criteria with older labels re-reviewed; gold set with provenance; kappa per criterion and adjudicated disagreements; judge TPR and TNR on a held-out split, or NOT REPORTED below the per-class minimum |
| Two judges disagree, or a judge must be checked against human labels | Evaluation design, "Calibrate the judge on fixed evidence" | Krippendorff's α at the rubric's level with the level recorded, false accepts and rejects at a stated threshold, an under-filled label set reported as incomplete |
| Run the agent under an external harness (Inspect, Promptfoo) without rewriting it | Provider compatibility | The bridge or provider shape, its limits, and ADK's own evaluators kept as the primary evidence |
| Explain a misleading pass, check a CSV, design reliability/holdout gates | Result auditing | Expected coverage checked, failed/incomplete rows retained, conclusions limited to identifiable observations |
Planning a production suite can stop at a reviewable design with cases, budgets and acceptance criteria. Recommendations about holdouts, remote-write reconciliation or production telemetry are not claims those features exist or passed testing.
Load additional implementation detail only for the relevant branch:
- Wrong decisions or answers, or measuring a prompt, exemplar, output-schema or model change: quality iteration runs the labelled-set, error-analysis, one-change loop and measures decision quality before further controls are added. The wording and exemplar design themselves are adk-agent-instructions' work; this loop measures them. Run and categorise errors before editing code; the first change targets the largest category among defects that change a downstream decision, ranked by cost when the brief prices each error type. For example, two outputs that miss an applicable policy and one condition that contradicts its own reason put retrieval first and a consistency check second. Whether a score change is beyond noise, and how many cases a holdout or CI set needs, is its tell a change from noise section with paired_difference.py; whether one version's rate is shown to meet a fixed target, such as an acceptance threshold, is its score one version against a fixed target section, with the same helper.
- Labels that do not exist yet, expert time to plan, or criteria that keep changing: expert review runs the session with the session plan and labelling guide, writes the gold set and checks it with label_agreement.py (Cohen's kappa, disagreements to adjudicate, criteria drift, judge TPR and TNR). Read it before quality iteration when the development set has no reviewed labels.
- Setup, project/provider changes or access failures: environment and troubleshooting gives configuration tracing, API-state reconciliation and scoped cleanup checks.
- Grading with a third-party scorer or store (MLflow, deepeval, Opik): provider compatibility for what their ADK scorers record and how to keep results honest;
adk-agent-observability's export paths for keeping traces and telemetry in-house. - An incident to turn into a regression: deterministic tests for the
fail_to_passandpass_to_passlists and their grading rule, then step 2 of evaluation design for the base-commit and reference-fix runs and the do-nothing control. - Runtime wiring, fault injection, observers, deadlines or browser timing: execution evidence gives concrete recipes and the checks that make their results trustworthy. For a flaky or failing tool, its fault matrix pairs with the resilience scoring at the end of evaluation design.
- Dataset curation, judge calibration, work budgets, ambiguous writes or release gates: evaluation design gives production implementation procedures and acceptance criteria, explicitly separate from historical companion coverage.
- A rubric for a multi-stage pipeline, or one an optimiser or iteration loop will climb: shape the rubric before writing it. It sets code checks first, scores each stage separately on the input that stage received, judges the work on the outcome measure rather than a rubric score, and, when the brief prices each error type, gates on the priced total against today's process. A judge whose verdict stops the run is re-checked on its costly side (expert review). The behaviour a change targets gets its own fixed, categorical metric with a not-applicable class, beside the adaptive managed metrics (evaluation design), and whoever proposed the change never grades it (quality iteration, step 4). A managed trajectory verdict that flags a declared tool as not permitted makes that score incomplete (live evaluations).
- Document-grounded claims or citation judges: source-support calibration provides synthetic contrasts and an offline scorer that separates valid citations from supported conclusions.
- Dynamic output schemas or provider rejection: provider compatibility checks the actual serialized contract and plans a representative canary. Recurring structural failures: experiment re-entry records the reproducer, honest reference and new hypothesis before another broad paid cohort.
- Staged paid failures, saved-stage recovery or repeated full-suite runs: progressive validation schedules focused checks, qualified continuation and fresh end-to-end evidence before the frozen release suite.
- Agents CLI project (
agents-cli-manifest.yaml,tests/eval/): its dataset, trace and result files areagentplatformEvaluationDatasetandEvaluationResultJSON, not ADKEvalSetor CSV; live evaluations maps the assets and result auditing the completeness checks. Consult the installedgoogle-agents-cli-evalskill for the commands; if it is not installed, adk-engineer explains how to get it. This skill decides the cases and the evidence; Google's skill operates the commands. - Mandatory labels, document representations or prompt/schema/validator disagreement: contract qualification establishes source-reviewed solvability and the normal-route gate before paid inference.
Apply the pattern
- Put business permission and validation in tools/backends. Use the real runner with a scripted model to force invalid decisions. When a workflow needs fresh verification, bind it to the intended invocation or validity window; an earlier conversational lookup is not automatically permission for a later write.
- For transactional confirmations, consider rendering from trusted tool receipts. Keep facts dynamic, receipt authority separate from conversation text, and successful effects intact after later failures. Compose existing callbacks. Reserve fixed response templates for transactional confirmations; give open-ended synthesis a schema sized to the judgment it owns.
- Preserve the distinction between a new session and a fresh backend. Reset or namespace business fixtures at the experimental unit being claimed. Assert attempted calls and stored effects separately.
- Choose trajectory matching for meaningful invariants. ADK 2.8.0's relaxed order modes still compare arguments and allow extra calls; a prohibited extra mutation needs its own assertion. ROUGE checks wording overlap, not truthful completion or authorisation.
- Capture the whole invocation and close its streams/runners. Bound synchronous grading in a worker controlled by an external deadline. Timeouts can leave partial evidence and cannot recall accepted provider requests. Model, simulator, judge, retry, tool and time limits are distinct.
Authorisation and data boundaries
<!-- shared:consequential-operations-brief -->Inspection is read-only, and code generation authorises no deployment, paid call or live test. Before any consequential operation (an API, billing or quota change, a billable resource, a secret, IAM, a data migration, a deployment, a deletion, or a paid or destructive test), read consequential operations, present the exact scope and limits, obtain explicit approval and end the turn to wait for it. Cleanup is a separate confirmed operation on resources this workflow created.
<!-- /shared:consequential-operations-brief -->Permission to implement tests is not permission to make paid calls or deploy them; name the isolated test target and work limits in every request. Never delete shared project resources to obtain a clean test.
Validate and report
- Run the project's meaningful offline checks with external access prevented where hermeticity is claimed. Validate eval/config schemas with its pinned ADK models. Check guards and effects, not just expected strings. Keep failing regressions when diagnosing a real defect.
- For approved live work, follow the planned preflight/canary and cohort protocol within its bounds; include a paid preflight only when covered by that plan. Preserve a fixed cohort's cases, attempts and stop rules. Retain case/trial/metric counts and versioned criteria. Count a skipped paid test, a missing score, a zero-case conformance run and a bare successful process exit as
not run. The result-auditing reference documents the bundled read-only CSV checker. - Check a second invocation for duplicate writes, duplicate test registration and needless configuration churn. Run only newly justified checks after a passing validation; retain failed observations instead of rerunning to green.
- Report files changed, commands and exit/results, actual versions, what used real providers, what used doubles, what remains unverified, and any precise manual action or approval needed. Distinguish implementing a test from executing it successfully. The target project's results come from its own runs.
<!-- shared:evidence-labels-brief -->Label each result with its tier (offline, local, live or release) and
outcome (pass, fail, blocked or not run) as
evidence labels defines them;
earlier, vendor and documentation-only results are historical,
vendor-measured or guidance, never this session's evidence.
<!-- /shared:evidence-labels-brief -->The skill's own checks and limitations are recorded in validation.md. Independent community project; not affiliated with or endorsed by Google.
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.

