Creates or updates code unit design documents for source code documentation.
npx skills add https://github.com/google/adk-python --skill adk-unit-design
This skill creates or updates a detailed software engineering design document for new or updated code file or specified code unit. The design document it generates is meant to explain the code to a developer who wants to modify or extend the code unit as part of the ADK development framework. Similar to a *unit test*, a *unit design* provides a generated software engineering design based on the *actual, implemented code* rather than any proposed code design or proposed software architecture.
/docs/design/*** directory of this repository./docs/design/*** directory of this repository, using the relative path of the code unit. For example, if the code unit is called /topic/function/class.ext, create a design document in the location /docs/design/topic/function/class/index.md.google/adk-python repository on GitHub. For example, if the local code unit path is ***/adk-python/topic/function/class.ext#L93, the URL to the code file should be https://github.com/google/adk-python/blob/main/topic/function/class.ext#L93.Use the following structure and instructions to create the design document for the code unit:
# (name of code unit or code file) - Code Unit Design
- 2-sentence summary of the code unit
## Introduction
- Paragraph(s) explaining:
- The purpose and application of the code unit, including intended use cases
- Developer problems solved by this code unit
- Agent capabilities enabled by this code unit
## High-level architecture
- Describe the software architecture of this code unit and how it fits into the larger ADK framework
- Explain general execution flow of this code unit
- Describe any data flows handled by the code unit including inputs and outputs
- Explain any cross-class dependencies of the code unit, including upstream dependencies and downstream dependencies
### Extension points
- Describe how the code unit could be extended or customized to add new features or capabilities
- Note specific parts of the code unit that are designed to be extended or customized, including:
- Abstract classes
- Interfaces
- Hooks
- Callbacks
- Configurable parameters
- Plugin architecture
- Other extension points
### Extension constraints
- Describe what parts of the code unit should not be modified, based on:
- architectural constraints
- implementation limitations
- cross-class dependencies
- other constraints
## Limitations
- Mention any limitations of the code unit, if known, such as:
- input constraints
- data structure constraints
- output constraints
- performance limitations
- memory limitations
- other limitations
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.
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.
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.
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".
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.
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.
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.
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.
Take google/adk-unit-design from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
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.