<< All versions

Skill v1.0.1

currentAutomated scan100/100
j5ik2o/okite-ai/clean-architecture

5 files

──Details
PublishedSeptember 30, 2026 at 04:28 AM
Content Hashsha256:0c9bbf11a3552e31...
Git SHAf1bc1c37831c
Bump Typepatch
Compare with v1.0.0
──Files
Files (1 file, 4.4 KB)
SKILL.md4.4 KBactive
SKILL.md · 86 lines · 4.4 KB

version: "1.0.1" name: clean-architecture description: >- クリーンアーキテクチャを採用しているプロジェクト向けの設計・レビュー支援。4層構造(ドメイン層、 ユースケース層、インターフェースアダプタ層、インフラストラクチャ層)に基づく。特にインフラ層は 横断的関心事(ロギング、設定管理)のみ、永続化やRPCはインターフェースアダプタ層に配置すべき という原則を適用する。トリガー:「クリーンアーキテクチャで」「クリーンアーキテクチャに従って」 「クリーンアーキテクチャのレビュー」など、クリーンアーキテクチャを明示的に指定した場合のみ起動。 一般的な「設計レビュー」「アーキテクチャ相談」では起動しない。


クリーンアーキテクチャ

クリーンアーキテクチャを採用しているプロジェクト向けの設計・レビュー支援。

注意: このスキルはプロジェクトがクリーンアーキテクチャを採用している場合にのみ使用する。
他のアーキテクチャ(Hexagonal、Onion、レイヤード等)には適用しない。

層構造の概要

┌─────────────────────────────────────────────────────┐
│ Infrastructure(横断的関心事のみ) │
│ ・ログ ・設定 ・メトリクス ・DI設定 │
├─────────────────────────────────────────────────────┤
│ Interface Adapters(外部との境界) │
│ ・Controller ・Repository実装 ・Gateway実装 │
├─────────────────────────────────────────────────────┤
│ Use Cases(アプリケーション固有ルール) │
│ ・Use Case ・Output Port(Repository Interface等)│
├─────────────────────────────────────────────────────┤
│ Domain(ビジネスルール) │
│ ・Entity ・Value Object ・Domain Service │
└─────────────────────────────────────────────────────┘

重要な原則

永続化・RPCの配置場所

コンポーネント配置層
Repository Interfaceユースケース層(Output Port)
Repository 実装インターフェースアダプタ層
Gateway Interfaceユースケース層(Output Port)
Gateway 実装(RPC等)インターフェースアダプタ層

インフラストラクチャ層の責務

配置するもの(横断的関心事のみ):

  • ロギング機構
  • 設定管理
  • メトリクス・トレーシング
  • DIコンテナ設定

配置しないもの:

  • Repository実装 → インターフェースアダプタ層へ
  • 外部API Gateway → インターフェースアダプタ層へ

レビュー時のチェックポイント

  1. ドメイン層に外部依存がないか
  • DB接続、HTTPクライアント等の混入を確認
  1. Repository実装の配置が正しいか
  • インターフェースアダプタ層にあるべき
  1. インフラストラクチャ層が肥大化していないか
  • 永続化コードが紛れ込んでいないか確認
  1. 依存方向が内向きか
  • 外側の層から内側への依存のみ許可

詳細リファレンス

各層の詳細な責務と配置すべきコンポーネントの一覧は references/layer-responsibilities.md を参照。

関連スキル(併読推奨)

このスキルを使用する際は、以下のスキルも併せて参照すること:

  • repository-placement: クリーンアーキテクチャにおけるリポジトリインターフェースの配置
  • package-design: 各層内のパッケージ設計原則
  • ddd-module-pattern: ドメイン層内のモジュール構成
← v1.0.0All versions