Official agent skill

Adk Verify Snippets

by google in google/adk-python

Checks that every Python code block in a Markdown file actually compiles and runs, by extracting each block to a temporary file, executing it in an isolated subprocess, and writing a pass/fail…

OfficialApache-2.0Auto-check passedTesting & QA

Install Adk Verify Snippets

skills CLI
$ npx skills add google/adk-python --skill adk-verify-snippets -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install google/adk-python adk-verify-snippets --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/google/adk-python.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/adk-verify-snippets .claude/skills/adk-verify-snippets && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
adk-verify-snippets
GitHub stars
22k
Token cost
~1.4k tokens
SKILL.md length
654 words
Files
3 (incl. scripts)
Skills in repo
13
Repo updated
First seen
Licence
Apache-2.0

At a glance

Checks that every Python code block in a Markdown file actually compiles and runs, by extracting each block to a temporary file, executing it in an isolated subprocess, and writing a pass/fail…

  • Works in 3 steps: An ADK development environment — run… → coverage, optional. It is not a declared… → A Gemini API key, needed only for…
  • The user asks to verify
  • SKILL.md covers Read-only contract, Prerequisites, Usage and How each snippet is classified, plus 2 more sections
  • Runs Python scripts from its folder; calls uv; needs GOOGLE_API_KEY and GEMINI_API_KEY

What it does

Adk Verify Snippets is an agent skill from google/adk-python, published by the product's own GitHub organization. Checks that every Python code block in a Markdown file actually compiles and runs, by extracting each block to a temporary file, executing it in an isolated subprocess, and writing a pass/fail report with per-snippet coverage. Use when the user asks to verify, test, or validate the code samples in a README, a guide, or a documentation page; wants to know which snippets in a Markdown file are broken or out of date; or asks for a snippet verification report. Don't use for running the project's test suite (run…

Its SKILL.md is about 1.4k tokens, which your agent loads only when the skill is triggered. The skill folder holds 3 other files, including scripts (for example `scripts/run.py` and `scripts/verify_md.py`).

It sits in Testing & QA, covering Unit testing, Test generation and Markdown. It works with Python, pytest and Google Gemini. The repository describes itself as: An open-source, code-first Python toolkit for building, evaluating, and deploying sophisticated AI agents with flexibility and control. The licence is Apache-2.0.

When your agent uses it

  • The user asks to verify
  • Validate the code samples in a README
  • A documentation page
  • Wants to know which snippets in a Markdown file are broken

Example prompts

  • “t use for running the project”
  • “Use the adk-verify-snippets skill to check that every Python code block in a Markdown file actually compiles and runs, by extracting each block to a…”
  • “/adk-verify-snippets”

Requirements

  • Python 3
  • A credential in GEMINI_API_KEY
  • A credential in GOOGLE_API_KEY

Workflow steps

3 steps, taken from the first numbered list in SKILL.md.

  1. An ADK development environment — run from the repository root with the uv
  2. coverage, optional. It is not a declared project dependency, so install it
  3. A Gemini API key, needed only for snippets that build an Agent, App, or

What it can do on your machine

Read from SKILL.md and the folder at commit 097ae1e. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships 2 files in scripts/ (Python), which the agent can run.

    Shell commands in SKILL.md call:

    • uv

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use uv, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names these keys or tokens, usually read from environment variables:

    • GOOGLE_API_KEY
    • GEMINI_API_KEY

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Adk Verify Snippets loads about 1.4k tokens when it runs. Until then it costs about 170 tokens; SKILL.md has 654 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~170
When it runs · the whole SKILL.md, loaded when a task matches
~1.4k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.

SKILL.md

The full file from google/adk-python at commit 097ae1e, republished under its Apache-2.0 licence (© google). 654 words, ~1,411 tokens.

Download SKILL.mdSave it as .claude/skills/adk-verify-snippets/SKILL.md (or your agent's skills folder). This skill also uses 2 other files; get the full folder from GitHub.
name
adk-verify-snippets
description
Checks that every Python code block in a Markdown file actually compiles and runs, by extracting each block to a temporary file, executing it in an isolated subprocess, and writing a pass/fail report with per-snippet coverage. Use when the user asks to verify, test, or validate the code samples in a README, a guide, or a documentation page; wants to know which snippets in a Markdown file are broken or out of date; or asks for a snippet verification report. Don't use for running the project's test suite (run pytest directly), for checking code style or formatting (use `adk-style`), or for authoring a new runnable sample agent (use `adk-sample-creator`).

Verify Markdown Snippets

Extracts every ```python block from a Markdown file, runs each one in its own subprocess via the bundled run.py harness, and writes a report covering load status, run status, and line coverage per snippet.

Read-only contract

Verifying a doc must never change the doc. Do not create, modify, or delete any file in the repository — including the Markdown being verified, its code blocks, and this SKILL.md. Report the failures; do not fix them and do not offer patches.

The script performs the only two writes that happen: temporary .py files in a system temp directory outside the repository (removed when it exits), and the report beside the source Markdown file.

Prerequisites

  1. An ADK development environment — run from the repository root with the uv virtual environment active (see the adk-setup skill).

  2. coverage, optional. It is not a declared project dependency, so install it explicitly; without it the Coverage column shows —.

    bash
    uv pip install coverage
  3. A Gemini API key, needed only for snippets that build an Agent, App, or Workflow — those are executed against the live API.

    bash
    export GEMINI_API_KEY="{your_key}"
    # or
    export GOOGLE_API_KEY="{your_key}"

    If both are set the harness drops GOOGLE_API_KEY, so GEMINI_API_KEY wins.

Usage

bash
uv run --no-sync python .agents/skills/adk-verify-snippets/scripts/verify_md.py {path_to_markdown_file}

The script prints per-snippet progress, then writes the report beside the source file and prints its full path.

The report filename is the source file's stem lowercased with everything except [a-z0-9_] stripped, plus _REPORT.md. Workflow-Guide.md therefore produces workflowguide_REPORT.md, not Workflow-Guide_REPORT.md — read the path the script prints rather than reconstructing it.

The report contains an Executive Summary table with one row per snippet, then a detailed section per snippet holding the code block, the execution logs (stdout plus stderr/traceback), and the coverage output.

How each snippet is classified

Runnable — has a module-level ADK component

If the snippet assigns a Workflow, Agent, or App to a module-level variable, the harness executes it against the Gemini API.

  • The variable name does not matter; the harness scans vars(module).
  • Precedence is Workflow, then root Agent, then App. A Workflow anywhere in the snippet wins over any agent in it.
  • The root agent is the first agent that appears in no other agent's sub_agents, so multi-agent snippets resolve correctly whatever order the agents are defined in.
  • An App must have been constructed with a root_agent or the run fails.
  • The prompt sent is "Test input topic". Override it by defining a module-level test_input string in the snippet.
Show full SKILL.md (268 more words)Show less
Load-only — no ADK component

The harness confirms the snippet compiles and imports, and makes no API call. The report shows ➖ NO ADK COMPONENT.

Skipped — annotated with ignore

Put <!-- verify-snippets: ignore --> alone on a line immediately before the opening ```python fence to exclude a block. Use it for pseudo-code, illustrative fragments, and snippets that need external setup. The report shows ⏭️ SKIPPED.

markdown
<!-- verify-snippets: ignore -->
```python
# pseudo-code — not runnable as-is
my_agent = Agent(model="gemini-ultra-hypothetical", ...)
```

Limitations that make correct snippets report as broken

Annotate with <!-- verify-snippets: ignore --> instead of editing the doc to work around any of these.

  • No shared state between snippets. Each snippet runs in a fresh subprocess, so one that relies on an import or variable from an earlier block fails with NameError or ImportError.
  • 120-second timeout per snippet, after which the process is killed and the snippet reports as a run failure.
  • Annotation placement. The annotation applies to the next ```python fence. Blank lines between the two are fine; any prose line or heading between them cancels it.
  • **A bare ``` closes the block.** The parser closes a Python block at the first fence carrying no language tag, so a bare fence used as content inside a snippet truncates it. A tagged fence (for example ```bash) is kept as literal content and is safe.
  • Module-level asyncio.run() collides with the harness's own event loop and reports as a run failure. Snippets should keep top-level async calls behind if __name__ == "__main__":.

Reporting back to the user

Read the generated report and copy the Executive Summary table across exactly as written — same six columns, same order, nothing renamed or dropped: Snippet | Preceding Heading | Load Phase | Run Phase | Coverage | Details. Present it and stop.

© google, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 2 other files (scripts) in .agents/skills/adk-verify-snippets of google/adk-python.

  • SKILL.md
  • scripts/run.py
  • scripts/verify_md.py

Open the folder on GitHubat commit 097ae1e

Compare with similar skills

Adk Verify Snippets next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Adk Verify Snippets compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Adk Verify Snippets this skillgoogle/adk-python22k—~1.4kAutomated safety check: PassApache-2.0
Hermetic Python Unit TestsdimensionalOS/dimos4.6k—~1.4kAutomated safety check: PassCustom licence
Test Coverage Reviewareed1192/finance-news-aggregator149—~2.6kAutomated safety check: PassMIT
Py Package Checkipea/geobr959—~1.4kAutomated safety check: NotesNone
Testing Livekit Agentslivekit-examples/agent-starter-python2641 repos~1.9kAutomated safety check: PassMIT
Mutation Test Strength Auditbuildfastwithai/gen-ai-experiments785—~641Automated safety check: PassMIT

Similar skills

  • Hermetic Python Unit Tests

    dimensionalOS/dimos

    Rules for writing, fixing and reviewing pytest unit tests that are hermetic: behavior-focused, deterministic, isolated and cheap to run.

    4.6k GitHub stars~1.4k tokensUpdated today
    Testing & QAAuto-check passed
  • Test Coverage Review

    areed1192/finance-news-aggregator

    Audit, plan, write, and verify unit tests for Python projects using pytest.

    149 GitHub stars~2.6k tokensUpdated 5 mo ago
    Testing & QAAuto-check passed
  • Run the Python package release gate for geobr — sync the locked environment, run the offline and network test suites, build the distribution, and review the source against the Python conventions.

    959 GitHub stars~1.4k tokensUpdated 11 days ago
    Testing & QAAuto-check: notes
  • Testing Livekit Agents

    livekit-examples/agent-starter-python

    Writes turn-level tests for a LiveKit agent in the user's normal test suite: pytest (Python) or Vitest (Node.js).

    264 GitHub starsUsed in 1 repo~1.9k tokens
    Testing & QAAuto-check passed
  • Mutation Test Strength Audit

    buildfastwithai/gen-ai-experiments

    Measures how well a Python pytest suite catches behavior changes through diff-scoped mutation testing, then proposes and verifies tests for surviving mutants.

    785 GitHub stars~641 tokensUpdated 16 days ago
    Testing & QAAuto-check passed
  • TDD Guide

    alirezarezvani/claude-skills

    Test-driven development skill for writing unit tests, generating test fixtures and mocks, analyzing coverage gaps, and guiding red-green-refactor workflows across Jest, Pytest, JUnit, Vitest, and…

    28k GitHub stars~3.4k tokensUpdated 1 mo ago
    Testing & QAAuto-check passed

More from google/adk-python

All 13 skills in this repo
  • Adk Sample Creator

    google/adk-python

    Official

    Creates a new sample agent in the ADK Python repository — the sample directory, its agent.py, and its README.md — following the conventions the existing samples already use.

    22k GitHub stars~1.3k tokensUpdated today
    Auto-check passed
  • Adk Unit Guide

    google/adk-python

    Official

    Writes a hands-on developer guide for one ADK code unit — a minimal runnable example, how it works, a configuration-option table, advanced uses, limitations, and links to related samples — to…

    22k GitHub stars~2.6k tokensUpdated today
    Auto-check passed
  • Adk Git

    google/adk-python

    Official

    Writes commit messages and pull request descriptions for the adk-python repository: Conventional Commits types and scopes, subject lines that say why a change was made, and the linked-issue and…

    22k GitHub stars~1.3k tokensUpdated today
    Auto-check passed
  • Adk Setup

    google/adk-python

    Official

    Sets up a local ADK Python development environment in a git clone of the open-source adk-python repository: a uv virtual environment, all dependency extras, pre-commit hooks, and a first unit-test…

    22k GitHub stars~993 tokensUpdated today
    Auto-check: notes
  • Adk Agent Builder

    google/adk-python

    Official

    Builds ADK (Agent Development Kit) Python agents: LLM agents with tools, graph workflows of function and agent nodes, conditional routing, fan-out and join, schema-validated delegation between…

    22k GitHub stars~879 tokensUpdated today
    Auto-check passed
  • Adk Architecture

    google/adk-python

    Official

    Explains how the ADK runtime fits together: the node and graph execution model, Context and Event flow, checkpoint and resume, tracing, and the rules governing the public API surface.

    22k GitHub stars~1.2k tokensUpdated today
    Auto-check passed

Categories

Questions about Adk Verify Snippets

What does Adk Verify Snippets do?

Checks that every Python code block in a Markdown file actually compiles and runs, by extracting each block to a temporary file, executing it in an isolated subprocess, and writing a pass/fail…. Adk Verify Snippets is an agent skill from google/adk-python, published by the product's own GitHub organization. Checks that every Python code block in a Markdown file actually compiles and runs, by extracting each block to a temporary file, executing it in an isolated subprocess, and writing a pass/fail report with per-snippet coverage.

When should I use Adk Verify Snippets?

Adk Verify Snippets fits situations like: the user asks to verify; validate the code samples in a README; A documentation page; wants to know which snippets in a Markdown file are broken.

How do I install Adk Verify Snippets in Claude Code?

Run `npx skills add google/adk-python --skill adk-verify-snippets -a claude-code`. Or copy the skill folder (.agents/skills/adk-verify-snippets in google/adk-python) into .claude/skills/adk-verify-snippets in your project. Claude Code loads it when a task matches its description.

How do I install Adk Verify Snippets in Codex?

Run `npx skills add google/adk-python --skill adk-verify-snippets -a codex`. Or copy the skill folder (.agents/skills/adk-verify-snippets in google/adk-python) into .agents/skills/adk-verify-snippets in your project. Codex loads it when a task matches its description.

Can I use Adk Verify Snippets in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add google/adk-python --skill adk-verify-snippets -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/adk-verify-snippets, .gemini/skills/adk-verify-snippets, .github/skills/adk-verify-snippets and .opencode/skills/adk-verify-snippets in your project.

What does Adk Verify Snippets need to run?

Going by SKILL.md and its folder, Adk Verify Snippets needs Python for the scripts in its folder, the command-line tools its instructions call (uv) and credentials named GOOGLE_API_KEY and GEMINI_API_KEY. Our summary lists: Python 3; A credential in GEMINI_API_KEY; A credential in GOOGLE_API_KEY.

Does Adk Verify Snippets access the network?

SKILL.md contains no URLs. Its commands use uv, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Adk Verify Snippets safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Adk Verify Snippets use?

Adk Verify Snippets is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Adk Verify Snippets use?

About 1.4k tokens (SKILL.md is roughly 5.6k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Adk Verify Snippets?

Skills that share tags, products or a category with Adk Verify Snippets: Hermetic Python Unit Tests (dimensionalOS/dimos, 4.6k stars), Test Coverage Review (areed1192/finance-news-aggregator, 149 stars), Py Package Check (ipea/geobr, 959 stars) and Testing Livekit Agents (livekit-examples/agent-starter-python, 264 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Adk Verify Snippets?

google (a GitHub organization, an official publisher) maintains it in google/adk-python, which has 21,736 GitHub stars. The repository holds 13 skills in this directory. The repository was last updated on October 8, 2026.

Source: google/adk-python on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.