mcpbeat Sign in

Adk Verify Snippets Agent Skill

> Extracts and verifies the runnability and code coverage of all Python code blocks inside a Markdown file. Generates a detailed compilation and execution report.

9k tokens
context cost
the whole folder, loaded on every use
3
files
ships runnable scripts
0
copies elsewhere
how many repositories repackaged it
20998
stars on the repo
on the repository, not the skill itself

Install

one command, takes just this skill from the repository
npx skills add https://github.com/google/adk-python --skill adk-verify-snippets

What comes with it

29 945 bytes besides the instruction
scripts/run.py
scripts/verify_md.py

The instruction itself

10 sections, as written by the author

Verify Markdown Snippets Skill

This skill extracts all python ` blocks from a Markdown file, executes each

one in a process-isolated environment using the bundled run.py harness, and

generates a structured report covering load status, run status, and line

coverage.

> [!CAUTION] **STRICT READ-ONLY CONSTRAINT — READ THIS BEFORE DOING ANYTHING

> ELSE**

>

> This skill is read-only. The agent MUST NOT: - Modify any file in

> the repository (source, test, config, docs, or skill files — including this

> SKILL.md). - Delete any file in the repository. - Create any new file

> in the repository.

>

> The only two write operations permitted are: 1. Writing temporary .py

> snippet files to a system temp directory outside the repository. 2.

> Writing the final <filename>_REPORT.md into the **same directory as the

> source Markdown file**.

>

> If in doubt, do not write. Any other mutation is a violation of this skill's

> contract.

--------------------------------------------------------------------------------

🔧 Prerequisites

  • ADK Python environment: Run from the repository root with the uv

virtual environment active.

  • coverage package *(optional)*: Enables per-snippet coverage reporting.

Without it, coverage columns show .

    uv pip install coverage
  • Gemini API key: Required only for snippets that instantiate an Agent,

App, or Workflow (which make live Gemini API calls). Set one of:

    export GEMINI_API_KEY="your-key-here"
    # or
    export GOOGLE_API_KEY="your-key-here"

If both are set, GEMINI_API_KEY takes precedence.

--------------------------------------------------------------------------------

🛠️ Usage

uv run --no-sync python .agents/skills/adk-verify-snippets/scripts/verify_md.py <path_to_markdown_file.md>

The script prints progress for each snippet, then writes a report to

<filename>_REPORT.md in the same directory as the source file and prints

the full path on completion.

Report contents: :- Executive Summary table — one row per snippet:

preceding heading, Load phase status, Run phase status, coverage %, and error

detail.

  • Detailed section — for each snippet: the extracted code block, full

execution logs (stdout + stderr/traceback), and the coverage report.

--------------------------------------------------------------------------------

📝 How Snippets Are Classified

Each python ` block falls into one of these categories:

1. Runnability Test (has a module-level ADK component)

If the snippet assigns a Workflow, Agent, or App to a **module-level

variable**, the runner executes it against the Gemini API.

  • The variable name does not matter — the runner finds it automatically via

vars(module).

  • For multi-agent snippets, the runner identifies the root agent by excluding

any agent that appears in another agent's sub_agents list.

  • To use a custom test prompt instead of the default "Test input topic",

define a module-level test_input string in the snippet.

If no module-level ADK component is found, the run phase is skipped and the

report shows ➖ NO ADK COMPONENT.

2. Loadability-Only (no ADK component)

The runner verifies the snippet compiles and imports without error. No API call

is made.

3. Skipped (annotated with ignore)

Place <!-- verify-snippets: ignore --> immediately before the opening

python ` fence to exclude a block entirely. Use this for pseudo-code,

illustrative examples, or snippets that require external setup.

<!-- verify-snippets: ignore -->

pseudo-code — not runnable as-is

my_agent = Agent(model="gemini-ultra-hypothetical", ...)

The report shows these as ⏭️ SKIPPED.

--------------------------------------------------------------------------------

⚠️ Known Limitations

  • No shared state between snippets: Each snippet runs in a fresh

subprocess with no imports or variables carried over from previous snippets.

A snippet that depends on code from an earlier block will fail with

NameError or ImportError. Make each snippet self-contained, or annotate

it with <!-- verify-snippets: ignore -->.

  • 120-second timeout: Each snippet is killed after 120 seconds. Annotate

long-running or blocking snippets with <!-- verify-snippets: ignore -->.

  • Ignore annotation placement: The <!-- verify-snippets: ignore -->

annotation applies to the next python ` fence encountered. Blank lines

between the annotation and the fence are tolerated, but any non-blank line

(prose or a heading) cancels the annotation.

  • Bare ` closes the block: The parser closes a Python block on the

first bare line (no language tag). A bare appearing as

content inside a snippet (e.g. to demonstrate Markdown syntax) will

prematurely close the block. Annotate such snippets with

<!-- verify-snippets: ignore -->.

--------------------------------------------------------------------------------

⚠️ Behavioral Constraints (For AI Agents)

  • Read-only: See the caution block at the top. The constraint is absolute.
  • Report only, do not fix: The agent MUST NOT rewrite the source Markdown,

modify code blocks, or generate patches. Present the summary table to the

user and stop.

  • Present the summary table verbatim: After the script completes, read the

generated _REPORT.md and copy the Executive Summary table to the user

exactly as written — same six columns, same order, no renaming or

dropping: `Snippet | Preceding Heading | Load Phase | Run Phase | Coverage |

Details`

Other skills for the same job

different authors, same section of the catalogue
Obsidian CLI
by kepano
×2

Interact with Obsidian vaults using the Obsidian CLI to read, create, search, and manage notes, tasks, properties, and more. Also supports plugin and theme development with commands to reload plugins, run JavaScript, capture errors, take screenshots, and inspect the DOM. Use when the user asks to interact with their Obsidian vault, manage notes, search vault content, perform vault operations from the command line, or develop and debug Obsidian plugins and themes.

795 tokens
Architecture Blueprint Generator
by github
vendor ×1

Comprehensive project architecture blueprint generator that analyzes codebases to create detailed architectural documentation. Automatically detects technology stacks and architectural patterns, generates visual diagrams, documents implementation patterns, and provides extensible blueprints for maintaining architectural consistency and guiding new development.

3k tokens
Omero Integration
by K-Dense-AI
×1

Securely inspect and automate microscopy data workflows against OMERO.server with omero-py, BlitzGateway, OMERO CLI, tables, annotations, ROIs, rendering, and documented OMERO.web APIs. Use for scoped OMERO inventory, metadata export, import/export planning, or reviewed write workflows.

36k tokens scripts
Review
by AvdLee
×1

Review the changes since a fixed point (commit, branch, tag, or merge-base) along two axes — Standards (does the code follow this repo's documented coding standards?) and Spec (does the code match what the originating issue/PRD asked for?). Runs both reviews in parallel sub-agents and reports them side by side. Use when the user wants to review a branch, a PR, work-in-progress changes, or asks to "review since X".

1k tokens
API Documenter
by lingxling
×1

Master API documentation with OpenAPI 3.1, AI-powered tools, and modern developer experience practices. Create interactive docs, generate SDKs, and build comprehensive developer portals.

2k tokens
API Changelog Versioning
by ComeOnOliver
×1

Creates comprehensive API changelogs documenting breaking changes, deprecations, and migration strategies for API consumers. Use when managing API versions, communicating breaking changes, or creating upgrade guides.

496 tokens
API Documenter
by ComeOnOliver
×1

Master API documentation with OpenAPI 3.1, AI-powered tools, and modern developer experience practices. Create interactive docs, generate SDKs, and build comprehensive developer portals. Use PROACTIVELY for API documentation or developer portal creation.

4k tokens
Data Substrate Analysis
by ComeOnOliver
×1

Analyze fundamental data primitives, type systems, and state management patterns in a codebase. Use when (1) evaluating typing strategies (Pydantic vs TypedDict vs loose dicts), (2) assessing immutability and mutation patterns, (3) understanding serialization approaches, (4) documenting state shape and lifecycle, or (5) comparing data modeling approaches across frameworks.

4k tokens

How to use it

Copy the folder

Take google/adk-verify-snippets from the repository into ~/.claude/skills for personal use, or into .claude/skills inside a project.

Check the name does not clash

The agent identifies a skill by the name field in its header. Two skills with the same name cannot sit side by side — one of them will be ignored.

Install what it needs

The instructions reference pip, uv. Without those the skill loads but fails at the first command.