complexity-budget について
設計変更の複雑さを評価する開発スキルです。振る舞いを担うレイヤーを特定し、新たな仕組みの追加がコストに見合うか検討します。日常的な編集ではなく、意見が分かれる設計判断に使います。
主な機能
- 01不変条件を担うレイヤーの特定
- 02既存の関数、型、設定の活用
- 03再利用と独立実装の比較
- 04結合度と無効な状態の確認
- 05重要なトレードオフのみ報告
活用シーン
- 01新しい抽象化や仕組みの妥当性をレビュー
- 02重複する振る舞いを担うレイヤーの判断
- 03変更によるモジュール間依存の確認
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ wilbeibi/ wilbeibi-skills --skill complexity-budgetインストール後、Claude Code で/complexity-budgetを入力して読み込まれたか確認します。
同梱ファイルagents/openai.yamlREFERENCE.md
詳細
complexity-budget
動作を所有するレイヤーを特定し、提案された複雑さに見合う価値があるかを評価します。 意見が分かれる設計上の選択を検討する際に、この観点を使います。定型的な編集の前に儀式的に実施するものではありません。
判断基準
- 不変条件がどこで確立されるかを特定します。複数の呼び出し元で繰り返されている修正は、それらより下位のレイヤーに置くべき場合があります。
- 新しい仕組みを追加する前に、既存の関数、型、設定の組み合わせで実現できないか試します。
- 既存の動作を拡張する場合と、別の実装を用意する場合を比較します。既存の実装に組み込むと重複を減らせますが、所有権や信頼の境界をまたぐ結合は、小さな複製よりも大きなコストを招くことがあります。
- 行数ではなく、結合度と許容される無効な状態を評価します。適切なレイヤーでの大きな変更のほうが、より単純な場合もあります。
- プロジェクトの慣例に従います。実用的な場合は、無効な状態を防ぐ型やコンストラクターを優先します。
提案された変更をレビューする
新たなモジュール間依存関係、重複する概念、共有された可変状態、無効な組み合わせに対処する分岐がないか確認します。関連する懸念には、動作をその所有者に移す、プリミティブを再利用する、状態モデルを簡素化する、または追加を正当化する具体的な成果を説明することで対処します。
重要なトレードオフや未解決の選択のみを報告します。すべての判断基準について口頭で回答すること、固定の出力テンプレートに従うこと、無関係なリファクタリングは求めません。
意見が分かれる判断についてさらに詳しく分析するには、REFERENCE.md を参照してください。
コメント
Markdown 対応