adk-unit-design について
adk-unit-designは、コード変更の影響を判断する開発者向けのスキルです。ソース、テスト、インターフェース、使用例に基づき、コード単位の実装内容を設計文書にまとめます。
主な機能
- 01目的、処理フロー、依存関係の分析
- 02拡張点と制約の特定
- 03docs/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 の各セクションに沿って記述します。