devops-simplicity-checker について
インフラプロジェクトの過剰な複雑化を確認する DevOps スキルです。ファイル数、モジュール、ディレクトリ階層、Ansible ロールを基に複雑度を採点し、簡素化の候補を示します。
主な機能
- 01Terraform のファイル数と階層を確認
- 02カスタムモジュールと Ansible ロールを検出
- 03定義済みルールで複雑度を採点
- 04過剰設計の典型例を提示
- 05簡素化レビュー用の質問を提示
活用シーン
- 01Terraform プロジェクトの構造的な複雑さを確認
- 02カスタムモジュールの必要性を判断
- 03ディレクトリや変数の肥大化を発見
- 04Ansible 構成の簡素化余地を評価
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ majesticlabs-dev/ majestic-marketplace --skill devops-simplicity-checkerインストール後、Claude Code で/devops-simplicity-checkerを入力して読み込まれたか確認します。
詳細
DevOps シンプルさチェッカー
インフラストラクチャは、デフォルトでシンプルであるべきです。このスキルは過剰な設計を検出します。
シンプルさチェックリスト
| チェック項目 | 合格 | 不合格 |
|---|---|---|
| ファイル数 | ≤8 個の .tf ファイル | 入れ子のディレクトリに >15 個のファイル |
| モジュールの使用 | なし、またはレジストリのモジュールのみ | 5 個未満のリソースにカスタムモジュールを使用 |
| ディレクトリの深さ | フラット、または 1 階層 | 3 階層以上の入れ子 |
| Ansible プレイブック | 単一のプレイブック | 複数のプレイブック + カスタムロール |
| Ansible ロール | Galaxy のロールのみ | 標準タスクにカスタムロールを使用 |
| 変数 | インラインのデフォルト値 | 複雑な変数階層 |
複雑さスコアの計算
Files: 1 point per .tf file over 5
Modules: 3 points per custom module
Directories: 2 points per level over 1
Ansible roles: 3 points per custom role
Score 0-5: Simple (GOOD)
Score 6-10: Moderate (REVIEW)
Score 11+: Overengineered (SIMPLIFY)
検出コマンド
# Count .tf files
find . -name "*.tf" | wc -l
# Find custom modules (not registry)
grep -r "source\s*=" *.tf | grep -v "registry.terraform.io" | grep -v "github.com" | wc -l
# Directory depth
find . -name "*.tf" -printf '%h\n' | sort -u | awk -F'/' '{print NF-1}' | sort -rn | head -1
# Custom Ansible roles (not Galaxy)
ls roles/ 2>/dev/null | wc -l
# Variable files
find . -name "*.tfvars" -o -name "variables.tf" | wc -l
確認事項
- ファイル数を減らして実現できますか?
- このカスタムモジュールは、レジストリのモジュールでは解決できない問題を解決していますか?
- フラットな構成でも同じように機能しますか?
- この Ansible ロールはすでに Galaxy にありますか?
- これらの変数階層は必要ですか、それとも時期尚早な抽象化ですか?
注意すべき兆候
| パターン | 問題 | 対処 |
|---|---|---|
単一のリソースを含む modules/ | 過度な抽象化 | リソースをインライン化する |
environments/{dev,staging,prod}/ | 重複 | ワークスペースまたは tfvars を使用する |
apt パッケージ用の roles/common/ | 車輪の再発明 | Galaxy のロールを使用する |
入れ子になった .tf のインポート | 追いにくい | 構成をフラットにする |
| >10 個の変数ファイル | 設定の分散 | 統合する |
スコアレポートの形式
SIMPLICITY SCORE: X/10
File Count: X files (+Y penalty)
Custom Modules: X modules (+Y penalty)
Directory Depth: X levels (+Y penalty)
Custom Roles: X roles (+Y penalty)
Total Penalty: X points
Verdict: SIMPLE | MODERATE | OVERENGINEERED
Recommendations:
- [ ] Consider flattening directory structure
- [ ] Replace custom module X with registry module
- [ ] Use Galaxy role for standard task
コメント
Markdown 対応