codebase-design について
明確なモジュール境界と明示的なリクエストフローに沿ってコードを構成する設計スキルです。ハンドラー、サービス、リポジトリ、アダプターの責務を整理し、不要な層を避けます。
主な機能
- 01ハンドラー、サービス、リポジトリを分離
- 02アダプターで外部システムを隔離
- 03呼び出し元が通る場所にルールを配置
- 04隠れた挙動より明示的なフローを優先
- 05推測的な層や未使用設定を削除
活用シーン
- 01コード変更時に処理の責務を決める
- 02提案されたモジュール境界の妥当性を確認
- 03変化せず価値を加えない層を整理
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ darknesskiller/ skills --skill codebase-designインストール後、Claude Code で/codebase-designを入力して読み込まれたか確認します。
同梱ファイルagents/openai.yaml
詳細
コードベースの設計
小さなインターフェースと明確な境界の背後に、有用な振る舞いを備えた深いモジュールを優先します。
デフォルトのフロー
ハンドラー → サービス → リポジトリ。ハンドラーはプロトコルに関する処理を薄く翻訳します。サービスはビジネスルールとオーケストレーションを担います。リポジトリは永続化のみを担います。アダプターは外部システムを隔離します。
ルール
- 境界の移動が明示的な目的でない限り、既存の境界を維持します。
- すべての呼び出し元が自然に通過する場所にルールを配置します。
- 隠れたマジックより、明示的なリクエストフローを優先します。
- 推測に基づくレイヤー、単一用途のインターフェース、値が変化しない設定を削除します。
- リポジトリに
CONTEXT.mdがある場合は、そこに記載された語句でドメインの概念に名前を付けます。
完了条件:変更した各振る舞いに自然な担当箇所が一つあり、呼び出し元が意図した境界を通り、変更後の境界が以前よりテストしやすくなっていること。
コメント
Markdown 対応