mcpField
L
ln-626-dead-code-pruning-auditor

ln-626-dead-code-pruning-auditor

github.com/levnikolaevichテスト・品質58478 回インストール2 日前に更新
リポジトリ

ln-626-dead-code-pruning-auditor について

未使用コード、到達不能コード、古い互換レイヤーなど、安全に削除できる候補を特定するコード監査ワーカーです。指摘と準拠スコアを報告しますが、コードの削除やリファクタリングは行いません。

主な機能

  1. 01到達不能コードの検出
  2. 02未使用のインポート、変数、関数の確認
  3. 03コメントアウトされたコードの検出
  4. 04古い互換レイヤーの確認
  5. 05指摘と準拠スコアのレポート作成

活用シーン

  1. 01コードベース内の整理候補の特定
  2. 02対応プロジェクトでの未使用エクスポートの確認
  3. 03古くなった互換レイヤーの特定
  4. 04デッドコード監査レポートの作成

MCP 対応

このスキルはローカルコードの読み取りに hex-line MCP を優先し、エクスポートの有効性やワークスペース分析に有効な場合は hex-graph を使用します。MCP が利用不可、非対応、または未インデックスの場合は組み込みツールに切り替え、その旨をレポートに記載します。

インストール

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

$npx skills add https://github.com/levnikolaevich/claude-code-skills --skill ln-626-dead-code-pruning-auditor

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

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

references/
audit_output_schema.md
audit_scoring.md
audit_summary_contract.md
audit_worker_core_contract.md
clean_code_checklist.md
mcp_integration_patterns.md
mcp_tool_preferences.md
two_layer_detection.md
references/templates/
audit_worker_report_template.md

詳細

パス: ファイルパス(references/、../ln-*)は、このスキルディレクトリを基準とします。

デッドコード削除監査担当(L3 ワーカー)

種別: L3 ワーカー

安全に削除できる候補を特定する専門ワーカーです。

目的と範囲

  • デッドコードの削除を監査します(カテゴリ 9:低優先度)
  • 未使用のインポート、変数、関数、コメントアウトされたコードを探します
  • DELETE_DEAD_CODE、REMOVE_OBSOLETE_COMPAT、または DELETE_COMMENTED_CODE を出力します
  • コンプライアンススコアを算出します(X/10)

入力

必須の読み込み: references/audit_worker_core_contract.md と references/mcp_tool_preferences.md を読み込みます。 ツールポリシー:ホストの AGENTS.md が対象範囲外となる独立したサブエージェントとして動作する場合があるため、ファイルの読み取り、検索、編集には、まず hex-line MCP を使用してください。MCP の動作が不明な場合に限り、references/mcp_integration_patterns.md を読み込みます。

技術スタック、コードベースのルート、output_dir を含む contextStore を受け取ります。

エクスポートの生存状況やワークスペースのホットスポットが監査の精度向上に大きく役立つ場合は、まず hex-graph を使用してください。利用可能な場合、ローカルコードの読み取りにはまず hex-line を使用してください。MCP が利用できない、未対応、またはインデックス化されていない場合は、組み込みの Read/Grep/Glob/Bash で続行し、レポートにフォールバックしたことを記載してください。

ワークフロー

検出ポリシー:2 層検出(候補のスキャン、その後のコンテキスト検証)を使用します。検証方法が曖昧な場合に限り、references/two_layer_detection.md を読み込みます。

  1. コンテキストと output_dir を解析します
  2. デッドコードの検出を実行します(レイヤー 1:リンター、grep)
    • グラフ対応プロジェクト: JavaScript、TypeScript/TSX、Python、C#、PHP では、グラフインデックス化が利用可能な場合、index_project を実行した後、未使用のエクスポートを検出する主な手段として、範囲を限定した audit_workspace(verbosity="minimal", limit=5) を実行します。意図的に詳細調査する場合に限り、limit を増やしてください。
    • 未対応の言語、グラフを利用できない実行、エクスポートの生存状況以外のチェックでは、grep/リンターをフォールバックとして使用します。
  3. 候補ごとにコンテキストを分析します(レイヤー 2):
    • 未使用の関数:動的インポート/リフレクションで使用されていますか?公開 API としてエクスポートされていますか?他のパッケージ(モノレポ)で使用されていますか?
    • コメントアウトされたコード:コンテキストやアルゴリズムの説明を伴う TODO → FP。実際に不要なコードブロック → 確定
    • レガシーシム:git blame で経過期間を確認します。削除を追跡する issue/PR はありますか?
  4. 確定した指摘事項を収集します
  5. スコアを算出します
  6. レポートの作成: references/templates/audit_worker_report_template.md に従って完全な Markdown レポートをメモリ上に作成し、単一の Write 呼び出しで {output_dir}/ln-626--global.md に書き込みます
  7. 概要の返却: 最小限の概要を返します

監査ルール

必須の読み込み: 共通のデッドコードパターンと重要度の定義について、references/clean_code_checklist.md を読み込みます。

1. 到達不能なコード

検出:

  • リンタールール:no-unreachable(ESLint)
  • return、throw、break の後にあるコードを確認します

重要度: MEDIUM

2. 未使用のインポート/変数/関数

検出:

  • ESLint:no-unused-vars
  • TypeScript:noUnusedLocals、noUnusedParameters
  • Python:F401、F841 を指定した flake8

重要度:

  • MEDIUM: 未使用の関数(不要なコード)
  • LOW: 未使用のインポート(整理が必要)
3. コメントアウトされたコード

検出:

  • //.*{ または /*.*function パターンを grep で検索します
  • コード構文を含む大きなコメントブロック(10 行超)

重要度: LOW

推奨事項: 削除します(履歴は Git に残ります)

4. レガシーコードと後方互換性

対象: 後方互換性のためのシム、サポート対象外のパターン、削除すべき古いコード

検出方法:

  • 古いエイリアスを持つ変数/関数の改名:
    • パターン:const oldName = newName または export { newModule as oldModule }
    • パターン:function oldFunc() { return newFunc(); }(後方互換性のためのラッパー)
  • サポート対象外のエクスポート/再エクスポート:
    • // DEPRECATED、@obsolete の JSDoc タグを grep で検索します
    • パターン:export.*as.*old.* または export.*legacy.*
  • 古いバージョン向けの条件付きコード:
    • パターン:if.*legacy.* または if.*old.*version.* または isOldVersion ? oldFunc() : newFunc()
  • 移行用のシムとアダプター:
    • パターン:migrate.*、Legacy.*Adapter、.*Shim、.*Compat
  • コメントマーカー:
    • // backward compatibility、// legacy support、// TODO: remove in v を grep で検索します
    • // old implementation、// unsupported、// kept for backward を grep で検索します

重大度:

  • HIGH: 認証、決済、コア機能などの重要な処理経路にある後方互換性のためのシム
  • MEDIUM: 使用中のサポート対象外のエクスポート、または6か月を超える移行コード
  • LOW: 最近の移行コード(3か月未満)、明確な削除時期を定めた非推奨化

推奨事項:

  • 後方互換性のためのシムを削除します。適切にバージョン管理されていれば、破壊的変更は許容されます
  • 古い実装を削除し、正しい/新しいバージョンだけを残します
  • サポート対象外のエクスポートを削除し、利用側を新しい API に更新します
  • 猶予期間(3~6か月)の後に移行コードを削除します
  • レガシーサポートに関するコメントを整理します。古い実装は Git の履歴に残っています

作業量:

  • S: 単純なエイリアスの削除、サポート対象外のエクスポートの削除
  • M: 古い API を使用するコードを新しい API にリファクタリング
  • L: 複数のモジュールに影響する複雑な後方互換性レイヤーの削除

スコアリングアルゴリズム

必読: references/audit_scoring.md を読み込みます。

出力形式

必読: references/templates/audit_worker_report_template.md を読み込みます。

references/audit_summary_contract.md に従って JSON サマリーを書き込みます。管理モードでは、呼び出し元が runId と summaryArtifactPath の両方を渡します。スタンドアロンモードでは、ワーカーが共通コントラクトに従って、実行スコープの成果物パスを生成します。

{output_dir}/ln-626--global.md に、category: "Dead Code Pruning" とチェック項目 unreachable_code、unused_exports、commented_code、legacy_shims を含むレポートを書き込みます。

references/audit_summary_contract.md に従ってサマリーを返します。

summaryArtifactPath がない場合は、スタンドアロン実行時のサマリーを .hex-skills/runtime-artifacts/runs/{run_id}/evaluation-worker/{worker}--{identifier}.json に書き込み、必要に応じて同じサマリーを構造化出力にも含めます。

Report written: .hex-skills/runtime-artifacts/runs/{run_id}/audit-report/ln-626--global.md
Score: X.X/10 | Issues: N (C:N H:N M:N L:N)

参照ファイル

  • クリーンコードのチェックリスト: references/clean_code_checklist.md
  • 監査出力スキーマ: references/audit_output_schema.md

重要なルール

読み込み済みの references/audit_worker_core_contract.md を適用します。

  • 自動修正は禁止: 報告のみを行い、コードは削除しません
  • 経過期間を考慮した重大度: 6か月を超えるレガシーシムは MEDIUM、3か月未満は LOW
  • 現実的な作業量: S = 1時間未満、M = 1~4時間、L = 4時間超
  • 除外対象: 生成コード、ベンダーコード、マイグレーション、テストフィクスチャは対象外とします
  • Git を考慮: Git の履歴に古いコードが残るため、自信を持って削除を推奨します
  • 独自の観点: 安全に削除できる候補のみを監査します。稼働中のコードのリファクタリング、モジュールの再構成、依存関係/パッケージの健全性評価は行いません
  • 必須アクション: 各指摘では DELETE_DEAD_CODE、REMOVE_OBSOLETE_COMPAT、DELETE_COMMENTED_CODE のいずれかを使用します

完了の定義

すでに読み込まれている references/audit_worker_core_contract.md を適用します。

  • contextStore を解析済み(output_dir を含む)
  • 4 つのチェックをすべて完了済み(到達不能コード、未使用のインポート/変数/関数、コメントアウトされたコード、レガシーシム)
  • クリーンコードのチェックリストを references/clean_code_checklist.md から読み込み済み
  • 重要度、場所、工数、アクション、推奨事項を添えて指摘事項を収集済み
  • references/audit_scoring.md に従ってスコアを算出済み
  • レポートを {output_dir}/ln-626--global.md に書き込み済み(Write 呼び出し 1 回でアトミックに実行)
  • コントラクトに従って概要を記載済み

バージョン: 3.0.0 最終更新日: 2025-12-23

コメント