Orca CLI
stablyai/orca
Operate Orca-managed worktrees, folder contexts, terminals, repos, automations, artifacts, skill sharing, worktree comments, and Orca's embedded browser…
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…
$ npx skills add google/adk-python --skill adk-unit-guide -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install google/adk-python adk-unit-guide --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/google/adk-python.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/adk-unit-guide .claude/skills/adk-unit-guide && rm -rf skills-srcUse ~/.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/
Install the "adk-unit-guide" agent skill from https://github.com/google/adk-python/tree/main/.agents/skills/adk-unit-guide into .claude/skills/adk-unit-guide/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "adk-unit-guide", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/google/adk-python/tree/main/.agents/skills/adk-unit-guideType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add google/adk-python --skill adk-unit-guide -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install google/adk-python adk-unit-guide --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/google/adk-python.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.agents/skills/adk-unit-guide .agents/skills/adk-unit-guide && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "adk-unit-guide" agent skill from https://github.com/google/adk-python/tree/main/.agents/skills/adk-unit-guide into .agents/skills/adk-unit-guide/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "adk-unit-guide", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add google/adk-python --skill adk-unit-guide -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install google/adk-python adk-unit-guide --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/google/adk-python.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.agents/skills/adk-unit-guide .cursor/skills/adk-unit-guide && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "adk-unit-guide" agent skill from https://github.com/google/adk-python/tree/main/.agents/skills/adk-unit-guide into .cursor/skills/adk-unit-guide/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "adk-unit-guide", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/google/adk-python.git --path .agents/skills/adk-unit-guide--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add google/adk-python --skill adk-unit-guide -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install google/adk-python adk-unit-guide --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/google/adk-python.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.agents/skills/adk-unit-guide .gemini/skills/adk-unit-guide && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "adk-unit-guide" agent skill from https://github.com/google/adk-python/tree/main/.agents/skills/adk-unit-guide into .gemini/skills/adk-unit-guide/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "adk-unit-guide", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install google/adk-python adk-unit-guideInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add google/adk-python --skill adk-unit-guide -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/google/adk-python.git skills-src && mkdir -p .github/skills && cp -r skills-src/.agents/skills/adk-unit-guide .github/skills/adk-unit-guide && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "adk-unit-guide" agent skill from https://github.com/google/adk-python/tree/main/.agents/skills/adk-unit-guide into .github/skills/adk-unit-guide/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "adk-unit-guide", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add google/adk-python --skill adk-unit-guide -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install google/adk-python adk-unit-guide --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/google/adk-python.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.agents/skills/adk-unit-guide .opencode/skills/adk-unit-guide && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "adk-unit-guide" agent skill from https://github.com/google/adk-python/tree/main/.agents/skills/adk-unit-guide into .opencode/skills/adk-unit-guide/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "adk-unit-guide", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
adk-unit-guideWrites 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…
Adk Unit Guide is an agent skill from google/adk-python, published by the product's own GitHub organization. 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 docs/guides/{topic}/{unit}/index.md, then lists it in the index at docs/guides/README.md. Its reader is a developer calling the unit from their own application, at more depth than the published adk.dev documentation carries. Use when asked to "write a unit guide for {class}", "document how to use {feature}", "add a guide for…
Its SKILL.md is about 2.6k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files, including reference files (for example `references/guide-template.md`).
It sits in Agent Workflows. 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.
Read from SKILL.md and the folder at commit 097ae1e. It shows what the files ask for, not the result of running them.
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.
Shell commands in SKILL.md call:
gitFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use git, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Adk Unit Guide loads about 2.6k tokens when it runs, and up to ~3k if it reads all its reference files. Until then it costs about 214 tokens; SKILL.md has 1,397 words of instructions outside code blocks.
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.
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); files beside SKILL.md are not scanned.
The full file from google/adk-python at commit 097ae1e, republished under its Apache-2.0 licence (© google). 1,397 words, ~2,555 tokens.
.claude/skills/adk-unit-guide/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.A unit guide is granular usage documentation for one code unit, deeper than what ships on adk.dev — so detail that would bloat the published documentation has somewhere to live. The reader wants to call the unit from an application, so lead with working code.
Unit guides focus on public APIs and caller-visible behavior. Do not discuss internal implementation details (such as private methods, internal state mechanisms, or unexported helpers).
Write to help the reader understand, not to instruct them from above.
Sentence-level rules, following the Google developer documentation style guide:
present tense, no contractions, no parentheticals (use commas), no bare "This"
as a subject, no e.g. or etc., no superlatives, sentence case in headings,
and no heading deeper than H3.
From the BaseNode guide. Before:
Most applications never subclass
BaseNode, so the sections that follow cover the settings first.
That decides for the reader and gives them nothing to check their own case against. After:
You usually configure a node rather than subclass one, because the settings below cover what most graphs need. Subclassing earns its keep when you want behavior the settings cannot express, and that case is at the end.
Same length, same facts. The second one names the reason, so a reader can tell which of the two situations is theirs.
A second pair, from the JoinNode guide. Before:
Here three tasks run in parallel on the same input, and a
JoinNodecollects their results.
That opens in speech rather than documentation, and it drops the name of the pattern the reader would search for. After:
This example builds a fan-out/fan-in workflow. Three tasks run in parallel on the same input, and a
JoinNodeaggregates their results so that a final node can present all three together.
Require the source file, or a class or method named inside it. Also read, when
they exist: its unit tests (they give you an example to adapt) and its design
document at docs/design/{topic}/{unit}/index.md.
Mirror the source path under docs/guides/, one directory per unit, guide named
index.md. Drop the leading underscore of a private module:
| Source | Guide |
|---|---|
src/google/adk/workflow/_function_node.py | docs/guides/workflow/function_node/index.md |
src/google/adk/plugins/reflect_retry_tool_plugin.py | docs/guides/plugins/reflect_retry_tool_plugin/index.md |
Use named files instead of index.md only when one source file has genuinely
separate usage modes — docs/guides/agents/llm_agent/ holds single_turn.md
and task.md for that reason.
Update an existing guide in place, keeping the existing wording wherever the code has not changed, so the diff shows only what the change actually altered.
Then add the guide to docs/guides/README.md under the right category heading,
as * [Title](path/index.md) - one-line summary. That index is the only table
of contents; a guide missing from it is unreachable.
scripts/check_new_py_files.py enforces this convention on the Python files a
change adds under src/google/adk/. Some it passes over without asking, and
the rest you can waive, so work out which case you are in before writing a
guide the rule does not ask for.
Three subtrees sit outside the rule, because nothing in them is published:
src/google/adk/internal/, src/google/adk/platform/internal/, and
src/google/adk/v1/.
Elsewhere a file is exempt on one of two grounds. It carries no unit of its
own, which covers __init__.py and any path with a cli/ or utils/
component. Or it holds declarations that belong in the guide of whatever uses
them rather than in a guide of their own, which covers any filename ending
_utils.py, _helper.py, _helpers.py, _types.py, _errors.py,
_exceptions.py, or _constants.py.
A module is also exempt when no package __init__.py imports from it or names
it, because then it has no public interface for a guide to describe. The check
reads every __init__.py under src/google/adk/, and lazy re-exports count:
an import under if TYPE_CHECKING: or inside __getattr__, and a string that
names the module in a lazy-import table. Its _ prefix decides nothing, so
export a name from a new module and that module needs a guide.
Everything else needs a guide or a waiver. A waiver is a NO_UNIT_GUIDE= or
SKIP_UNIT_GUIDE= tag carrying the reason, and the two names behave
identically. It waives the unit guide requirement alone; the _ prefix rule
shares the same hook and the same error report, and has no waiver at all. One
tag waives every file the change adds, not the one its reason names, so a
change adding several needs a reason that covers all of them.
Write a reason a reviewer can check against the code, because the tag becomes the only record of why the guide is absent:
NO_UNIT_GUIDE=InvocationNotFoundError is covered by docs/guides/errors/index.md.The tag reaches the check through a commit message or through the environment, and which one applies depends on whether the commit exists yet.
Once the commit exists, its message carries the tag. Continuous integration
reads the messages of the commits a pull request contains, so a waiver a
contributor writes there satisfies the check that gates the pull request. Start
the tag at the left margin with no space before the =, because the check
matches at the start of a line. An indented tag, or one inside a list item, is
not found, and nothing reports the miss.
The environment carries the tag for a commit that does not exist yet:
NO_UNIT_GUIDE='covered by docs/guides/errors/index.md' git commit ...Reach for that form when the pre-commit hook stops you. A pre-commit hook runs before git records your message anywhere, and the check declines to read the previous commit's message in its place, so the environment is the channel left open. Quote the reason: an unquoted one ends at the first space, and the shell takes the next word for the command to run, so no commit happens at all. Write the tag into the message as well, so the reason survives in the history rather than only in the shell that ran the commit.
A tag carrying no reason waives nothing, in either channel. The reason is the only record of the decision, so a waiver without one leaves nothing to review.
google.adk import lines, because the import path is the single
most error-prone thing a reader copies. Omit unrelated standard-library
imports and asyncio.run(main()) runner boilerplate, which add nothing about
the unit.Runner, does not belong in a guide.model= on a sample agent — guides stay model-agnostic, and no
guide in docs/guides/ currently pins a model.BaseNode subclass, unless the use case genuinely requires the subclass.@node decorator rather than
FunctionNode directly, except when demonstrating FunctionNode
configuration itself.Link samples by repo-relative path from the guide, not by GitHub URL:
[Node Output](../../../../contributing/samples/workflows/node_output/agent.py).
Confirm the file exists before linking it.
Follow references/guide-template.md section by section.
© 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
SKILL.md and 1 other file (references) in .agents/skills/adk-unit-guide of google/adk-python.
Open the folder on GitHubat commit 097ae1e
Adk Unit Guide 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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Adk Unit Guide this skillgoogle/adk-python | 22k | — | ~2.6k | Automated safety check: Pass | Apache-2.0 | |
| Orca CLIstablyai/orca | 87k | 2 repos | ~593 | Automated safety check: Pass | MIT | |
| OpenSpec Guided OnboardingFission-AI/OpenSpec | 71k | 1 repos | ~4.5k | Automated safety check: Pass | MIT | |
| Claude Code Plugin Structureanthropics/claude-plugins-official | 38k | 10 repos | ~3.4k | Automated safety check: Pass | Apache-2.0 | |
| Neat-Freak Knowledge CloseoutKKKKhazix/khazix-skills | 21k | — | ~1.9k | Automated safety check: Pass | MIT | |
| O2 Review Loopopenobserve/openobserve | 22k | — | ~3.7k | Automated safety check: Pass | AGPL-3.0 |
stablyai/orca
Operate Orca-managed worktrees, folder contexts, terminals, repos, automations, artifacts, skill sharing, worktree comments, and Orca's embedded browser…
Fission-AI/OpenSpec
Walks you through a complete OpenSpec workflow cycle with narration while doing real work in your codebase.
anthropics/claude-plugins-official
Explains the directory layout, plugin.json manifest and component organization of a Claude Code plugin, including auto-discovery and portable paths.
KKKKhazix/khazix-skills
Brings project docs, agent rule files, authorized memory and leftover workspace files back in line with what the code and runtime actually do at the end of a work session.
openobserve/openobserve
Splits a change into planner, coder and independent reviewer roles: you confirm a spec, a subagent implements it, and a separate reviewer checks each round's local WIP commit.
uditgoenka/autoresearch
Runs an autonomous modify, verify, keep-or-discard loop against any metric, with subcommands for planning, debugging, fixing, security audits, shipping and more.
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…
google/adk-python
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.
google/adk-python
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…
google/adk-python
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…
google/adk-python
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…
google/adk-python
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.
Categories
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…. Adk Unit Guide is an agent skill from google/adk-python, published by the product's own GitHub organization.md.
Adk Unit Guide fits situations like: asked to write a unit guide for {class}; document how to use {feature}; add a guide for {file}; after shipping a user-facing class.
Run `npx skills add google/adk-python --skill adk-unit-guide -a claude-code`. Or copy the skill folder (.agents/skills/adk-unit-guide in google/adk-python) into .claude/skills/adk-unit-guide in your project. Claude Code loads it when a task matches its description.
Run `npx skills add google/adk-python --skill adk-unit-guide -a codex`. Or copy the skill folder (.agents/skills/adk-unit-guide in google/adk-python) into .agents/skills/adk-unit-guide in your project. Codex loads it when a task matches its description.
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-unit-guide -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-unit-guide, .gemini/skills/adk-unit-guide, .github/skills/adk-unit-guide and .opencode/skills/adk-unit-guide in your project.
Going by SKILL.md and its folder, Adk Unit Guide needs the command-line tools its instructions call (git). Our summary lists: Python 3.
SKILL.md contains no URLs. Its commands use git, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
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. Review the folder before installing.
Adk Unit Guide 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.
About 2.6k tokens (SKILL.md is roughly 10k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 470 tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Adk Unit Guide: Orca CLI (stablyai/orca, 87k stars), OpenSpec Guided Onboarding (Fission-AI/OpenSpec, 71k stars), Claude Code Plugin Structure (anthropics/claude-plugins-official, 38k stars) and Neat-Freak Knowledge Closeout (KKKKhazix/khazix-skills, 21k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
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.