prune-dead-code について
リポジトリ全体から不要な宣言、重複、定数とのずれ、到達不能な上限を見つけるコードレビュー用スキルです。使用状況を確認して削除候補を報告し、承認後に変更と検証を行います。
主な機能
- 01不要コードを4分類で検索
- 02コードとテスト全体の参照確認
- 03削除の安全性を分類
- 04編集前に候補を報告
- 05テスト更新と各種チェック
活用シーン
- 01整理前のリポジトリ監査
- 02定数や型の重複検出
- 03上限値の到達可能性確認
- 04承認済み未使用宣言の削除
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ lukeberrypi/ skills --skill prune-dead-codeインストール後、Claude Code で/prune-dead-codeを入力して読み込まれたか確認します。
詳細
デッドコードの削除
削除しても安全であることを証明するまでは、すべての宣言を使用中として扱ってください。4つのカテゴリで候補を探し、それぞれリポジトリ全体を確認し、編集する前にすべて報告して承認を得てください。
カテゴリ
- 使用されていないことが確実:参照がゼロのシンボル、定数、トークン、またはバレル再エクスポート。
- 重複:同じ定数、文字列、または型リテラルが、2か所以上で同一の内容で宣言されている。
- 不整合:既存の名前付き定数と重複するマジックリテラル。
- 任意の上限:ユーザーが到達できない状況を防ぐための上限、しきい値、またはタイムアウト。削除を提案する前に、実際の上限を定量化してください。
ワークフロー
- コードとテストを含むリポジトリ全体を対象に、各カテゴリを検索します。
- 判断する前に、候補それぞれの使用状況を確認します。参照を1つでも見落とすと、判定は誤りになります。
- 各候補を、安全に削除できるもの、または任意だが意図的に設定されているものに分類します。
- 以下の表を報告します。
- 編集する前に、どの項目を適用するか尋ねます。
- 承認された変更を適用し、影響を受けるテストを更新します。
- 型チェック、リント、テストを実行し、変更によって問題が発生した場合は修正します。
必須の出力
次の列を正確に使用してください。
| Item | Location | Notes |
|------|----------|-------|
| `<symbol>` | `path:line` | Zero references repo-wide (verified). Confirmed dead. |
| `<constant>` | `pathA:line`, `pathB:line` | Identical declaration in 2 files. Dedupe into one shared constant. |
| literal `<value>` | `path:line` | Duplicates `<NAMED_CONSTANT>`; reference the constant to avoid drift. |
| `<CAP>` | `path:line` | Threshold unreachable in practice (state the real limit). Safe to remove. |
- 項目:バッククォートで囲んだ正確な宣言、またはインラインリテラルの短い説明。
- 場所:
path:line。重複と不整合は、該当する場所をすべて含めてください。 - 注記:1文で項目を特定し、使用状況を確認したうえで、判定を示してください。
ルール
判断に迷う場合は、使用中のままにしてください。削除するのは、使用されていないことを証明できたものだけです。
- シンボルが同じファイル内でのみ使用されている場合は、削除するのではなく非公開にできることがあります。別ファイルから使用されている場合は、エクスポートを維持する必要があります。
- エクスポートを削除する前にテストを確認してください。自明でないロジックを対象とするエクスポートは維持するか、そのトレードオフを明記してください。
- アニメーションのタイミング、デバウンス間隔、サイズ、最小値など、意図的に調整された値は維持し、任意だが意図的に設定されているものとして報告してください。
- 破損データや欠損データによるクラッシュを防ぐ検証やガードは維持してください。
- 動的アクセス、リフレクション、組み立てられたインポート、公開 API、フレームワークのエントリーポイントについて、判断が確実でない場合は使用中として扱ってください。
コメント
Markdown 対応