All skills
google avatar

/adk-debug

@29933ce
by googlegoogle/adk-python22k stars
4,084

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`).

Use this Skill: https://skilld.dev/gh/google/adk-python/adk-debug

This session only. Nothing lands on disk.

SKILL.md

β‰ˆ196 tokens always: the name and description. β‰ˆ632 when used: this file. β‰ˆ5.6k more on demand in 5 files.

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

  1. Reproduce headlessly: adk run --jsonl {agent_dir} "{query}". Without --jsonl, adk run prints only text parts β€” tool calls and tool errors are invisible.
  2. Read the log file. adk run writes to /tmp/agents_log/agent.latest.log and nothing to the terminal; adk web does the opposite. See logs-and-traces.md.
  3. Match the symptom in failure-modes.md before reading source β€” most reports are one of a handful of known shapes.
  4. If the text is fine but the routing is not, dump the events and read author, branch, nodeInfo.path, and actions β€” event-flow.md.
  5. If the model itself misbehaved, read what it actually received from the call_llm span rather than guessing from the agent definition β€” logs-and-traces.md.

References

  • cli-run.md β€” adk run flags, the JSONL event shape, multi-turn and human-in-the-loop resume, exit codes, driving a Runner from 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 web has 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 under contributing/samples/ (see adk-sample-creator) when it only reproduces with runner, agent, and workflow wired together.

Source: SKILL.md on GitHub

No alerts17d3 checks Β· Risk SAFE
  • Gen Agent Trust Hub17d

    This skill provides comprehensive instructions and reference material for debugging agents built with the Agent Development Kit (ADK). It includes security-conscious guidance, such as restricting development servers to the local loopback interface and managing telemetry data capture.

  • Socket17d

    No alerts

  • Snyk17d

    Risk: LOW Β· No issues

Signed by skilld at 29933ce. This ties the file your Agent reads to that commit on GitHub. It does not review the instructions.

Last checked against GitHub yesterday.

Activeupdated 2 months ago

README badge

README badge for google/adk-python/adk-debug