adk-debug
Diagnoses misbehaving ADK agents by inspecting sessions, events, tool calls, and the exact request that reached the model. Covers the `adk run` CLI and the `adk web` dev server with its session, trace, and debug HTTP endpoints. Use when an agent returns the wrong answer, ignores a tool or swallows a tool error, hangs, loops, emits raw JSON instead of calling tools, is not discovered by `adk web`, when a sub-agent cannot see the parent conversation, or when you need the LLM request/response, token counts, or logs for a run. Don't use for how ADK is designed internally (use `adk-architecture`), for building a new agent or workflow (use `adk-agent-builder`), for environment or dependency setup failures (use `adk-setup`), or for lint and style nits (use `adk-style`).
How do I install this agent skill?
npx skills add https://github.com/google/adk-python --skill adk-debugIs this agent skill safe to install?
- Gen Agent Trust Hubpass
This skill provides a technical guide for debugging agents using the ADK suite. It covers the use of CLI tools and web-based trace endpoints to inspect agent behavior and performance metrics. These activities are within the standard scope of a development environment.
- Socketpass
No alerts
- Snykpass
Risk: LOW · No issues
What does this agent skill do?
Debugging ADK agents
Two entry points. Default to adk run: one process, no server, and --jsonl
output that pipes straight into grep or python3. Switch to adk web when
you need the browser UI, a persisted session you can click through, or the
trace endpoints that expose the exact LLM request.
First moves
- Reproduce headlessly:
adk run --jsonl {agent_dir} "{query}". Without--jsonl,adk runprints only text parts — tool calls and tool errors are invisible. - Read the log file.
adk runwrites to/tmp/agents_log/agent.latest.logand nothing to the terminal;adk webdoes the opposite. See logs-and-traces.md. - Match the symptom in failure-modes.md before reading source — most reports are one of a handful of known shapes.
- If the text is fine but the routing is not, dump the events and read
author,branch,nodeInfo.path, andactions— event-flow.md. - If the model itself misbehaved, read what it actually received from the
call_llmspan rather than guessing from the agent definition — logs-and-traces.md.
References
- cli-run.md —
adk runflags, the JSONL event shape, multi-turn and human-in-the-loop resume, exit codes, driving aRunnerfrom Python. - web-api.md — starting
adk web, listing and reading sessions over HTTP, posting test messages to/run_sse. - logs-and-traces.md — log levels and where each command writes them, the trace endpoints, span attributes, and the env vars that control whether prompts appear in spans.
- failure-modes.md — ADK-specific symptoms with the cause and a concrete check for each.
- event-flow.md — how an invocation becomes events, callback order, the event fields that matter, and where each stage lives in the source.
Ground rules
- Leave sessions in place when you finish. The user may still want to open them
in the web UI, and
adk webhas no undelete. - Delete any throwaway agent you created for a repro, unless the user asked to keep it.
- Reach for a unit test in
tests/unittests/when the bug is inside one component, and for a sample undercontributing/samples/(seeadk-sample-creator) when it only reproduces with runner, agent, and workflow wired together.
How can the creator link this skill?
Add the canonical catalog link to the repository README so users can inspect current installs and available audits. The publishing guide covers the complete discovery path.
<a href="https://skillzs.dev/skills/google/adk-python/adk-debug">View adk-debug on skillZs</a>