codebase-cleanup について
コードベースの保守担当者向けに、品質改善を8つの専門パスに分けたリファクタリングスキルです。コメント、レガシーコード、依存関係、型、重複処理を順番に確認します。
主な機能
- 01独立した8つのレビュー工程
- 02古いコメントとレガシーコードの整理
- 03未使用コードと循環依存の確認
- 04弱い型の改善と型定義の統合
- 05防御的コードと重複処理の見直し
活用シーン
- 01リリース前のコード品質チェック
- 02コードベースの把握と重要箇所の確認
- 03定期的な技術的負債の整理
- 04不要コードの削除と型品質の改善
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ darkmatter/ skills --skill codebase-cleanupインストール後、Claude Code で/codebase-cleanupを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
reference/pass-ordering.mdprotocol.mdreference/passes/01-ai-slop.md02-legacy-removal.md03-unused-code.md04-circular-deps.md05-weak-types.md06-type-consolidation.md07-defensive-programming.md08-dry.md詳細
コードベースのクリーンアップ — 8パスのリファクタリング
コードベースに対して、品質に関する懸念事項を1つずつ対象にした、独立した8つの専門パスを実施します。それぞれのパスは、別々のサブエージェントセッションとして(または1つのセッション内で順番に)実行することを想定しています。こうすることで、各パスはクリーンなコンテキストウィンドウで作業でき、他のパスの担当範囲に踏み込まずに済みます。
すべてのパスで、同じ3フェーズのプロトコルに従います。reference/protocol.md を参照してください。推奨されるパスの順序とその理由については、reference/pass-ordering.md を参照してください。
全体を通して codebase-design を適用してください。各機能をまとめ、完全な操作を公開し、分割によって複雑さが隠れる、または有用な再利用が可能になる場合にのみ抽出します。設定された行数制限を維持し、例外を設ける場合は、対象を絞って文書化してください。ファイル数や削除した行の純増減を目標にはしません。
使用する場面
- 「コードベースをクリーンアップして」/「技術的負債の解消に取り組んで」
- 「リリース前に品質向上のためのリファクタリングをして」
- 「デッドコード/AI の粗雑な生成物/弱い型を見つけて削除して」
- コードベースに慣れるため、実際に何が重要な役割を担っているかを把握したいとき
- 1.0 以前/リリース前の品質チェック
- 定期的な(四半期ごとの)コード衛生チェック
使用しない場面
- 対象を絞った依頼(「この関数を1つ削除して」「この型を1つ修正して」など)
- 新機能の追加
- 厳しい締め切り/最小限の修正が求められる状況 — これは慎重かつ計画的に進めるチェックです
- 人間による大規模なリファクタリングが進行中のコードベース(各パスが進行中の作業と衝突します)
8つのパス
次の順序で実行してください(理由は reference/pass-ordering.md を参照)。各項目から、完全なサブエージェント用プロンプトに移動できます。
- AI の粗雑な生成物と古いコメント →
reference/passes/01-ai-slop.md生成されたノイズ、作業中のコメント、見せかけのコード、役に立たない定型文を削除します。 - レガシー/非推奨/フォールバックコード →
reference/passes/02-legacy-removal.mdデッドブランチ、非推奨 API、現在有効なものにフォールバックしない経路を削除します。 - 未使用コード →
reference/passes/03-unused-code.mdknipクラスの分析を行い、どこからもインポートされていないエクスポート、ファイル、依存関係を特定します。 - 循環依存 →
reference/passes/04-circular-deps.mdmadgeクラスの分析を行い、インポートの循環を解消します。 - 弱い型 →
reference/passes/05-weak-types.md調査に裏付けられた適切な型に、any/unknown/Object/dynamic/interface{}を置き換えます。 - 型の統合 →
reference/passes/06-type-consolidation.md重複またはほぼ重複している型定義を見つけて統一します。 - 防御的プログラミング →
reference/passes/07-defensive-programming.md実際の入力境界に対処していない try/catch や null ガードを削除します。 - DRY/重複の解消 →
reference/passes/08-dry.md複雑さを軽減できる場合に限って(逆効果にならないように)重複したロジックを統合します。
ツール
各パスの仕様には、想定するツール(knip、ts-unused-exports、madge、jscpd、言語固有のリンターなど)が記載されています。このスキルにはスクリプトは含まれません。オーケストレーションは、すでに bash/edit/grep などを使える呼び出し元エージェントのランタイムで行います。
参考資料
reference/protocol.md— すべてのパスが従う、調査/評価/実装の3フェーズプロトコルreference/pass-ordering.md— この順序にする理由と、並列実行できるパスreference/passes/*.md— 各パスに対応する、自己完結型のサブエージェント用プロンプト