
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).
- Installs
- 118
- Last 24h
- —
- Trending rank
- —
- Security
- Not audited
Install
Works with every agent the skills CLI supports.
npx skills add https://github.com/google/adk-python --skill adk-debug- 01
Install
Run the command in your project. The CLI asks which agents to install for.
- 02
Describe the task
Ask your agent for something this skill covers. It loads adk-debug automatically when relevant.
- 03
Review the result
The agent follows the SKILL.md steps, scripts and references bundled with the skill.
SKILL.md
The instructions your agent reads when the skill is triggered.
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.
FAQ
What does the adk-debug skill do?
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 adk-debug?
Run npx skills add https://github.com/google/adk-python --skill adk-debug in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/adk-debug/ (personal) or .claude/skills/adk-debug/ (project).
Which AI agents can use adk-debug?
Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.
Is adk-debug safe to install?
No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.
Who maintains adk-debug?
It is published by google in google/adk-python. It has 118 recorded installs.
More from google/adk-python
adk-architecture
google/adk-python
Open the skill to read its SKILL.md instructions.
adk-git
google/adk-python
Open the skill to read its SKILL.md instructions.
Popular code quality & workflow skills
grill-me
mattpocock/skills
A relentless interview to sharpen a plan or design.
improve-codebase-architecture
mattpocock/skills
Scan a codebase for deepening opportunities, present them as a visual HTML report, then grill through whichever one you pick.
handoff
mattpocock/skills
Compact the current conversation into a handoff document for another agent to pick up.
domain-modeling
mattpocock/skills
Build and sharpen a project's domain model. Use when discussing codebase terminology, writing or editing a GLOSSARY.md, or recording or editing an ADR.
codebase-design
mattpocock/skills
Shared vocabulary for designing deep modules. Use when the user wants to design or improve a module's interface, find deepening opportunities, decide where a seam goes, make code more testable or AI-navigable, or when another skill needs the deep-module vocabulary.
diagnosing-bugs
mattpocock/skills
Diagnosis loop for hard bugs and performance regressions. Use when the user says "diagnose"/"debug this", or reports something broken/throwing/failing/slow.