.agents/skills/adk-unit-design/SKILL.md
A unit design documents a code unit as implemented, the way a unit test exercises it as implemented. Nothing proposed or aspirational belongs in one. The reader is deciding what they may safely change, so answer "what breaks if I touch this?" — not "how do I call this?".
Require the source file, or a class or method named inside it. Also read, when they exist: the base classes and interfaces the unit implements, its unit tests (the best evidence of intended behaviour), and example usage.
Answer each of these from the source. Anything the code does not show stays out of the document — do not infer a design intent from a name.
Mirror the source path under docs/design/, one directory per unit, document
named index.md. Drop the leading underscore of a private module:
| Source | Design document |
|---|---|
src/google/adk/workflow/_function_node.py | docs/design/workflow/function_node/index.md |
src/google/adk/events/event.py | docs/design/events/event/index.md |
If a document already exists at that path, update it in place and keep the existing wording wherever the code has not changed, so the diff shows only what the change actually altered.
docs/design/ does not exist in this repository yet — the first design document
creates it. docs/guides/ is the established sibling tree; match its directory
shape.
These documents render on GitHub, where a local filesystem path is dead.
Rewrite {repo_root}/src/google/adk/{topic}/{unit}.py#L93 as
https://github.com/google/adk-python/blob/main/src/google/adk/{topic}/{unit}.py#L93.
Follow references/design-template.md section by section.