clean-architecture-checklisted
Install: claude install-skill ijufumi/claude-skills
# クリーンアーキテクチャ パッケージ構成チェックスキル
プロジェクトのディレクトリ構造と import/依存関係を分析し、クリーンアーキテクチャの原則に沿っているかを検証するスキル。違反箇所を特定し、改善提案を行う。
## 前提条件
- チェック対象のプロジェクトがカレントディレクトリまたはユーザーが指定するディレクトリに存在すること
- ソースコードが読み取り可能であること
## クリーンアーキテクチャの基本原則
本スキルは以下の原則に基づいてチェックを行う:
1. **依存性の方向**: 外側のレイヤーから内側のレイヤーへのみ依存する(内側は外側を知らない)
2. **レイヤー構成**: Enterprise Business Rules(Entity) → Application Business Rules(Use Case) → Interface Adapters(Controller/Gateway/Presenter) → Frameworks & Drivers(DB/Web/UI/External)
3. **依存性逆転の原則(DIP)**: 内側のレイヤーがインターフェースを定義し、外側がそれを実装する
```
[Frameworks & Drivers] → [Interface Adapters] → [Use Cases] → [Entities]
(外側) (内側)
依存の方向 ──────────────────────────────────────────────────→
```
## ワークフロー概要
```
[Step 1: 言語・フレームワーク特定]
→ [Step 2: ディレクトリ構造の取得]
→ [Step 3: レイヤーマッピング]
→ [Step 4: 依存関係の解析]
→ [Step 5: 違反の検出]
→ [Step 6: 拡張思考による総合評価]
→ [Step 7: レポート生成]
→ [Step 8: 修正実行の確認(ユーザー判断)]
→ [Step 9: 作業ブランチ作成・コード修正]
→ [Step 10: コミット・プッシュ]
```
---
## Step 1: 言語・フレームワークの特定
プロジェクトの言語とフレームワークを特定する。これにより import 文の解析方法やパッケージの命名慣習を判断する。
```bash
# ビルドファイル・設定ファイルからの推定
ls package.json tsconfig.json go.mod go.sum Cargo.toml pom.xml build.gradle build.gradle.kts settings.gradle.kts build.sbt project/build.properties project/plugins.sbt Gemfile requirements.txt pyproject.toml setup.py composer.json pubspec.yaml 2>/dev/null
```
以下の言語・エコシステムに対応する:
| 言語 | import 解析対象 | パッケージ構造 |
|------|----------------|-----