关于 adk-unit-design
adk-unit-design 是面向开发者的技能,用于记录代码单元的实际行为,帮助评估改动影响。它依据源码、测试、接口和示例编写设计文档。
主要功能
- 01分析用途、流程与依赖
- 02识别扩展点和约束
- 03将文档放在 docs/design/
- 04原位更新已有文档
- 05将引用链接改为 GitHub 源码
适用场景
- 01评估修改类或方法的风险
- 02结合测试与源码记录单元
- 03使设计文档与代码保持一致
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ google/ adk-python --skill adk-unit-design安装后在 Claude Code 中输入/adk-unit-design确认已加载。
附带文件references/design-template.md
详细介绍
ADK 代码单元设计
单元设计应记录代码单元实际实现的内容,就像单元测试会按实际实现的方式对其进行测试。任何设想或愿景都不应写入其中。读者正在判断可以安全修改哪些内容,因此应回答“如果我改动这里,会有什么内容出问题?”——而不是“该如何调用它?”
输入
需要提供源文件,或其中提到的类或方法。如果存在,也请阅读:该单元实现的基类和接口、该单元的测试(这是判断预期行为的最佳依据),以及示例用法。
写作前先分析
根据源代码回答以下各项。代码未体现的内容不要写入文档——不要根据名称推断设计意图。
- 单元的用途和预期用法。
- 执行流程,以及流入和流出的数据。
- 上游依赖项,以及依赖于该单元的类。
- 扩展接口:抽象方法、钩子、回调、可配置字段。
- 约束——子类或调用方不得更改的内容,以及原因。
- 运行限制。
文档放置位置
在 docs/design/ 下镜像源文件路径,每个单元对应一个目录,文档命名为 index.md。私有模块的目录名去掉开头的下划线:
| 源文件 | 设计文档 |
|---|---|
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 |
如果该路径下已有文档,请直接更新,并保留代码未发生变化部分的现有措辞,这样差异中只会显示实际变更的内容。
此仓库目前还没有 docs/design/——第一份设计文档会创建它。docs/guides/ 是现有的同级目录树;请采用相同的目录结构。
链接到 GitHub,而非本地路径
这些文档会在 GitHub 上渲染,本地文件系统路径无法使用。
将 {repo_root}/src/google/adk/{topic}/{unit}.py#L93 改写为
https://github.com/google/adk-python/blob/main/src/google/adk/{topic}/{unit}.py#L93。
结构
按照 references/design-template.md 的各个章节依次编写。