mcpField
P
prune-dead-code

prune-dead-code

github.com/lukeberrypi開発2574 回インストール11 週間前に更新
リポジトリ

prune-dead-code について

リポジトリ全体から不要な宣言、重複、定数とのずれ、到達不能な上限を見つけるコードレビュー用スキルです。使用状況を確認して削除候補を報告し、承認後に変更と検証を行います。

主な機能

  1. 01不要コードを4分類で検索
  2. 02コードとテスト全体の参照確認
  3. 03削除の安全性を分類
  4. 04編集前に候補を報告
  5. 05テスト更新と各種チェック

活用シーン

  1. 01整理前のリポジトリ監査
  2. 02定数や型の重複検出
  3. 03上限値の到達可能性確認
  4. 04承認済み未使用宣言の削除

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/lukeberrypi/skills --skill prune-dead-code

インストール後、Claude Code で/prune-dead-codeを入力して読み込まれたか確認します。

詳細

デッドコードの削除

削除しても安全であることを証明するまでは、すべての宣言を使用中として扱ってください。4つのカテゴリで候補を探し、それぞれリポジトリ全体を確認し、編集する前にすべて報告して承認を得てください。

カテゴリ

  1. 使用されていないことが確実:参照がゼロのシンボル、定数、トークン、またはバレル再エクスポート。
  2. 重複:同じ定数、文字列、または型リテラルが、2か所以上で同一の内容で宣言されている。
  3. 不整合:既存の名前付き定数と重複するマジックリテラル。
  4. 任意の上限:ユーザーが到達できない状況を防ぐための上限、しきい値、またはタイムアウト。削除を提案する前に、実際の上限を定量化してください。

ワークフロー

  1. コードとテストを含むリポジトリ全体を対象に、各カテゴリを検索します。
  2. 判断する前に、候補それぞれの使用状況を確認します。参照を1つでも見落とすと、判定は誤りになります。
  3. 各候補を、安全に削除できるもの、または任意だが意図的に設定されているものに分類します。
  4. 以下の表を報告します。
  5. 編集する前に、どの項目を適用するか尋ねます。
  6. 承認された変更を適用し、影響を受けるテストを更新します。
  7. 型チェック、リント、テストを実行し、変更によって問題が発生した場合は修正します。

必須の出力

次の列を正確に使用してください。

| 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、フレームワークのエントリーポイントについて、判断が確実でない場合は使用中として扱ってください。

コメント