用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/botpress/skills --skill adk-debugger命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
基于 SOC 职业分类
正在显示 SKILL.md
| name | adk-debugger |
| description | Systematic debugging for ADK agents — trace reading, log analysis, common failure diagnosis, and the debug loop. |
| license | MIT |
Every ADK agent records its behavior as traces and logs — every conversation turn, tool call, LLM reasoning step, and error. These are the source of truth for understanding what your agent did and why.
The ADK CLI provides the tools you need to debug. Most diagnostic commands support --format json; use it for programmatic output. The exception is adk dev, which has no --format flag and uses adk dev --non-interactive for structured NDJSON output.
Use this skill when the developer asks about:
Trigger questions:
adk check found errors"| File | Contents |
|---|---|
references/traces-and-logs.md | CLI debugging tools, log querying, trace structure, span types, onTrace hooks, reproduction with adk chat |
references/common-failures.md | Runtime failure patterns — validation, bot not responding, tool errors, workflow stuck, integration failures, build errors, config confusion |
references/llm-debugging.md | LLM behavior issues — wrong tool, hallucinated params, refusals, token limits, looping, reading model reasoning |
references/debug-workflow.md | The systematic 8-step debug loop: validate → reproduce → logs → traces → classify → fix → verify → prevent |
references/trace-summarization.md | How to fetch, walk, and summarize traces as free-form natural-language narratives — adapting depth to context |
references/conversation-analysis.md | How to summarize and explain full conversations — listing conversations, timeline analysis, correlating with traces, common patterns |
traces-and-logs.md for CLI commands and trace structurecommon-failures.md for the matching failure patternllm-debugging.md for the matching behavior issuedebug-workflow.md and follow the 8-step looptrace-summarization.md for how to fetch, walk, and narrate tracesconversation-analysis.md for multi-turn conversation summaries and explanationsadk-evals skill for writing evalssymptom → validate (adk check) → reproduce (adk chat) → logs (adk logs) → traces (adk traces) → root cause → fix → verify
adk check --format json # offline validation
adk logs error --format json # recent errors
adk logs --follow --format json # stream live
adk traces --format json # recent traces
adk traces conversation=<id> --format json # specific conversation
adk chat --single "msg" --format json # test message
adk dev --non-interactive # structured NDJSON dev output (no TUI)
adk conversations --format json # list recent conversations
adk conversations show <id> --format json # conversation timeline
adk conversations show <id> --include-llm --format json # timeline with LLM reasoning
| Type | What It Shows |
|---|---|
think | LLM reasoning — why it chose an action |
tool_call | Tool invocation — name, input, output, success/error |
code_execution_exception | Runtime error — message and stack trace |
end | Conversation turn completed |
Before debugging, verify:
adk check --format json — fix any reported issues firstadk dev (or adk dev --non-interactive for structured NDJSON output)agent.json exists with botId and workspaceId (created by adk link)agent.local.json has devId (set automatically by the first adk dev run)✅ Run adk check before debugging runtime issues
# CORRECT — catch config/schema problems offline first
adk check --format json
# Then debug runtime issues
❌ Skipping offline validation
# WRONG — jumping straight to runtime debugging wastes time on config issues
adk traces --format json # might be chasing a config problem
✅ Use --format json on all CLI commands
# CORRECT — structured output for reliable parsing
adk logs error --format json
adk traces --format json
adk chat --single "test" --format json
❌ Parsing human-readable output
# WRONG — human-readable format is for display, not parsing
adk logs error
adk traces
✅ Use adk logs error to filter errors
# CORRECT — focused error scan
adk logs error --format json
adk logs warning since=1h --format json
❌ Scrolling through all output
# WRONG — too much noise, easy to miss the actual error
adk logs --format json # 50 entries of everything
✅ Use onTrace hooks for programmatic monitoring
// CORRECT — structured, automated trace analysis
hooks: {
onTrace: ({ trace }) => {
if (trace.type === 'tool_call' && !trace.success) {
console.error(`[TOOL ERROR] ${trace.tool_name}`, trace.error)
}
}
}
❌ Only checking console output
// WRONG — console.log in handlers misses the structured trace data
handler: async (input) => {
console.log('tool called') // not useful for debugging
}
✅ Write a regression eval after fixing
// CORRECT — prevents the bug from coming back
export default new Eval({
name: 'fix-order-lookup',
type: 'regression',
conversation: [{ user: 'Look up order 123', assert: { tools: [{ called: 'lookupOrder' }] } }],
})
❌ Fixing and moving on
// WRONG — the same bug will return and you'll debug it again
Basic:
Intermediate:
Advanced:
Match depth to the question.
Answer directly — one sentence + the CLI command or concept. Don't run the full debug loop for informational questions.
Follow the full loop:
adk check --format json — rule out offline issuesadk chat --single "msg" --format json to create a clean reproductionadk logs error --format json for quick scan, adk traces --format json for detailsadk-evals skill and generate the eval file automatically