google-agents-cli-adk-…
This skill should be used when the user wants to "write agent code", "build an agent with ADK", "add a tool", "create a…
This skill should be used when the user wants to "run an evaluation", "evaluate my agent", "evaluate my ADK agent", "write an eval dataset", "analyze eval failures", "compare eval results", "optimize agent", or needs guidance on the Gemini platform eval methodology and the
Claude Code
$ npx -y skills add google/agents-cli --skill google-agents-cli-eval --agent claude-code
Codex
$ npx skills add google/agents-cli --skill google-agents-cli-eval -a codex -y
Cursor
$ npx skills add google/agents-cli --skill google-agents-cli-eval -a cursor -y
Gemini CLI
$ npx skills add google/agents-cli --skill google-agents-cli-eval -a gemini-cli -y
GitHub Copilot
$ npx skills add google/agents-cli --skill google-agents-cli-eval -a github-copilot -y
OpenCode
$ npx skills add google/agents-cli --skill google-agents-cli-eval -a opencode -y
Windsurf
$ npx skills add google/agents-cli --skill google-agents-cli-eval -a windsurf -y
name: google-agents-cli-eval
description: >
This skill should be used when the user wants to "run an evaluation",
"evaluate my agent", "evaluate my ADK agent", "write an eval dataset",
"analyze eval failures", "compare eval results", "optimize agent", or needs
guidance on the Gemini platform eval methodology and the Quality Flywheel.
Covers eval metrics, dataset schema, LLM-as-judge scoring, and common failure causes.
Applies to any agents-cli project, whatever framework the agent is written in.
Do NOT use for agent API code patterns (ADK: use google-agents-cli-adk-code), deployment
(use google-agents-cli-deploy), or project scaffolding (use google-agents-cli-scaffold).
metadata:
author: Google
license: Apache-2.0
version: 1.13.0
requires:
bins:
- agents-cli
install: "uv tool install google-agents-cli"> **Requires:** `agents-cli` (`uv tool install google-agents-cli`) — [install uv](https://docs.astral.sh/uv/getting-started/installation/index.md) first if needed.
> **Scaffolded project?** If you used `/google-agents-cli-scaffold`, dataset and a custom metric are already scaffolded in `tests/eval/` (Python projects) or `eval/` (Go projects). For simplicity, this skill and its references use the Python directory layout; adjust accordingly if you've scaffolded a Go agent. > You already have `agents-cli eval run` (chains `generate` + `grade`), `tests/eval/datasets/`, and `tests/eval/eval_config.yaml`. Start with executing `eval run` and iterate from there.
| File | Contents | |------|----------| | `references/dataset_schema.md` | Canonical EvaluationDataset schema — all field types, JSON examples for single-turn / multi-turn / multi-agent, common mistakes | | `references/metrics-guide.md` | Complete metrics reference — all built-in metrics, match types, custom metrics, judge model config | | `references/user-simulation.md` | Dynamic conversation testing — `eval dataset synthesize` flags, what scenarios are, compatible metrics | | `references/builtin-tools-eval.md` | google_search and model-internal tools — trajectory behavior, metric compatibility | | `references/advanced-commands.md` | Opt-in commands: `eval analyze`, `eval optimize`, `eval submit` / `eval results` | | `references/multimodal-eval.md` | Multimodal inputs — eval dataset schema, built-in metric limitations, custom evaluator pattern | | `references/live-eval.md` | Live and voice agents — `--mode adk_live`, what gets graded, user-only turn authoring, the Live-model and region traps |
---
Improving agent quality is iterative. The 4 stages below describe the loop. Each stage has a Default path (you, the coding agent, do the work directly) and an Opt-in CLI command that delegates to the Eval Service in Gemini platform for better quality and scale.
**Default:** Use or edit the scaffolded `tests/eval/datasets/basic-dataset.json` to define single-turn eval inputs. Start with 1–2 cases.
**Opt-in (ADK projects):** `agents-cli eval dataset synthesize`: user-simulate multi-turn datasets when you lack data; its output already includes traces, so Stage 2 collapses to `agents-cli eval grade` alone. See *Eval Commands* and `references/user-simulation.md`.
**Default:** `agents-cli eval run` runs the agent over the dataset and grades the traces, writing `results_<ts>.{json,html}` to `artifacts/grade_results/`. Its last line is the verdict, e.g. `RESULT: FAIL (custom_response_quality 3.20 < 4.00; custom_response_quality: 1 case errored)`, and it exits 1 when a metric misses its threshold or a case errored. Agree the thresholds with the user and record them in the eval config (see *Evaluation Configuration Schema*).
**Decoupled form:** `eval generate` then `eval grade`, for a custom traces location, re-grading without re-running the agent, or traces from `synthesize` (`eval grade` alone).
**Default:** Start from the `Failures:` list above the `RESULT:` line, which names each metric that missed its threshold, the cases below it, and the cases that errored. Then open the latest `artifacts/grade_results/results_<ts>.html` (or `.json`) for those cases' scores and judge rationales — see *What to fix when scores fail* below for the fix table.
**Opt-in:** `agents-cli eval analyze`, LLM-based failure clustering; prefer when you have 10+ failing cases and want categorized failure modes. See `references/advanced-commands.md`.
**Default:** Edit the agent — adjust prompts, tool descriptions, instructions, or eval dataset based on the failure analysis. See *What to fix when scores fail* below for the failure → fix mapping.
**Opt-in (ADK projects):** `agents-cli eval optimize` runs ADK GEPA prompt optimization against a target metric (see `references/advanced-commands.md`). Suitable for prompt-only failures. The optimized prompt appears in the command output; capture it and apply it to the agent. For the full per-iteration trace, set `print_detailed_results: true` in your optimization config file.
> **Long-running and expensive.** GEPA optimization makes many LLM calls and can take a long time. Do not run it unless the user explicitly asks for prompt optimization. When you do run it, iterate as far as possible with manual fixes first, then run a **single** final `eval optimize` — never loop on this command.
Iterate stages 2 → 3 → 4 → 2 (with `synthesize`, re-run Stage 1 each pass, then `eval grade`). After each fix, run `agents-cli eval compare <prev_results>.json <new_results>.json` to confirm the target metric improved without regressing others. Expect 5–10+ iterations per case before it passes, which is normal. Only after a case passes should you expand coverage with more eval cases.
When doing 5+ iterations, maintain a task list of which cases are fixed, which are still failing, and what fixes you'
The CLI and skills that turn any coding assistant into an expert at creating, evaluating, and deploying AI agents on Google Cloud.
This skill should be used when the user wants to "write agent code", "build an agent with ADK", "add a tool", "create a…
This skill should be used when the user wants to "deploy an agent", "deploy my ADK agent", "set up CI/CD", "configure secrets",…
This skill should be used when the user wants to "set up tracing", "monitor my agent", "configure logging", "add observability",…
This skill should be used when the user wants to "publish an agent", "publish my ADK agent", "register an agent with Gemini",…
This skill should be used when the user wants to "create an agent project", "start a new ADK project", "build me a new agent",…
This skill should be used when the user wants to "develop an agent", "build an agent using ADK", "run the agent locally", "debug…
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…
Ask which skill or flow fits your situation. A router over the skills in this repo.