.agents/skills/adk-review/SKILL.md
This skill guides AI assistants in performing a comprehensive, rigorous review of local repository changes before they are committed or submitted. It evaluates code correctness, style guidelines, architectural impact, and checks if associated tests, samples, and documentation need updates. It generates a detailed report and, upon explicit user request, assists in automatically fixing the identified issues.
[!NOTE] Always read this skill and follow its steps when asked to review local changes or before finalizing a PR/commit.
Any, and prefer specific/abstract types. Use X | None instead of Optional[X].except:. Always catch specific exceptions and log them properly with context._) per ADK rules.isinstance) before checking type-specific or custom attributes (e.g., checking if a node is an LlmAgent before inspecting its mode), avoiding errors on unexpected types.None, empty collections, zero, or empty strings) using validation or fallback defaults.adk-style skill (including Pydantic v2 patterns, lazy logging evaluation, and file structure).pre-commit run --files <files> if hooks like isort, pyink, addlicense, or mdformat are not configured automatically.src/google/adk/). Breaking changes are unacceptable without a formal deprecation cycle under Semantic Versioning.docs/design and docs/guides)docs/design/ require updates or new documents need to be written.docs/guides/ need updates.contributing/samples/ are affected by the change.adk-sample-creator conventions).tests/.adk-style testing reference (e.g., using deterministic IDs, event normalization, and clean up utilities).When the adk-review skill is triggered, you MUST execute the following steps:
Run git status and git diff to identify exactly which files have been modified, added, or deleted.
Analyze the retrieved diffs file-by-file against the six dimensions in the Checklist. Identify any errors, deviations, or missing files (such as docs, tests, or samples).
Generate a clear, beautifully formatted Markdown report categorized by priority:
Include the specific filename and line number/context for each finding.
Stop execution here. Do NOT call any code editing tools or modify the codebase automatically. Present the generated review report clearly to the user, highlighting key takeaways, and stop.
Do NOT ask the user if they want you to fix the issues, and do NOT offer interactive fixing options by default. Simply stop and wait for the user to explicitly command or ask you to fix the changes.
If, and only if, the user explicitly instructs or requests you to apply a fix for some or all of the identified findings:
adk-style and adk-architecture rules.pytest or pre-commit hooks) before concluding.