ln-626-dead-code-auditor について
ln-626-dead-code-auditor は、未使用コードや到達不能コードを特定する監査ワーカーです。状況を踏まえて指摘を評価し、準拠スコアを算出して、コードを変更せずにレポートを作成します。
主な機能
- 01到達不能コードと未使用コードの検出
- 02コメントアウトされたコードと旧互換レイヤーの確認
- 03利用可能な場合にグラフでエクスポートを分析
- 04指摘、重大度、スコアをレポートに記録
活用シーン
- 01コードベースのデッドコード監査
- 02整理前の旧互換レイヤーの確認
MCP 対応
MCP 統合パターンを参照し、利用可能な場合は hex-graph と hex-line を優先します。MCP を利用できない場合は組み込みコードツールに切り替えます。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ levnikolaevich/ claude-code-skills --skill ln-626-dead-code-auditorインストール後、Claude Code で/ln-626-dead-code-auditorを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/audit_output_schema.mdaudit_scoring.mdaudit_summary_contract.mdaudit_worker_core_contract.mdclean_code_checklist.mdcleanup_evidence_contract.mdevaluation_coordinator_runtime_contract.mdevaluation_parallelism_policy.mdevaluation_research_contract.mdevaluation_summary_contract.mdevaluation_worker_runtime_contract.mdloop_health_contract.mdmcp_integration_patterns.mdmcp_tool_preferences.mdrefinement_trace_contract.mdreferences/scripts/coordinator-runtime/lib/artifacts.mjscli-helpers.mjscore.mjsloop-health.mjsruntime-constants.mjsschemas.mjsvalidate.mjsworker-guards.mjsworker-runtime.mjsreferences/scripts/evaluation-runtime/cli.mjsreferences/scripts/evaluation-runtime/lib/guards.mjsstore.mjsreferences/scripts/evaluation-worker-runtime/cli.mjsreferences/scripts/evaluation-worker-runtime/lib/guards.mjsstore.mjs詳細
パス: ファイルパス(
references/、../ln-*)は、このスキルディレクトリを基準とした相対パスです。
デッドコード監査ツール(L3 ワーカー)
タイプ: L3 ワーカー
未使用コードや到達不能コードを監査する専門ワーカーです。
目的と範囲
- デッドコード(カテゴリ 9:低優先度)を監査します
- 未使用のインポート、変数、関数、コメントアウトされたコードを検出します
- コンプライアンススコア(X/10)を算出します
入力
必読: references/audit_worker_core_contract.md を読み込みます。
必読: references/mcp_tool_preferences.md と references/mcp_integration_patterns.md を読み込みます
技術スタック、コードベースのルート、output_dir を含む contextStore を受け取ります。
エクスポートのライブネスやワークスペースのホットスポットによって監査が大幅に改善される場合は、まず hex-graph を使用します。利用可能な場合、ローカルコードの読み取りにはまず hex-line を使用します。MCP が利用できない、非対応である、またはインデックス化されていない場合は、組み込みの Read/Grep/Glob/Bash を使って続行し、レポートにフォールバックしたことを記載します。
ワークフロー
必読: 検出方法について references/two_layer_detection.md を読み込みます。
- コンテキストと output_dir を解析します
- デッドコードの検出を実行します(レイヤー 1:リンター、grep)
- グラフ対応プロジェクト: JavaScript、TypeScript/TSX、Python、C#、PHP では、グラフのインデックス作成が利用可能な場合、未使用のエクスポートを検出する主な手段として
index_projectを実行し、その後、範囲を限定したaudit_workspace(verbosity="minimal", limit=5)を実行します。意図的に詳細調査する場合のみlimitを増やします。 - 非対応言語、グラフを利用できない実行、エクスポートのライブネス以外のチェックでは、grep/リンターによるフォールバックを維持します。
- グラフ対応プロジェクト: JavaScript、TypeScript/TSX、Python、C#、PHP では、グラフのインデックス作成が利用可能な場合、未使用のエクスポートを検出する主な手段として
- 候補ごとにコンテキストを分析します(レイヤー 2):
- 未使用の関数:動的インポート/リフレクション経由で使用されていますか?公開 API でエクスポートされていますか?他のパッケージ(モノレポ)で使用されていますか?
- コメントアウトされたコード:コンテキストやアルゴリズムの説明を伴う TODO → FP。実際にデッドコードとなっているブロック → 確定
- レガシーのシム:git blame を読み、古さを確認します。削除を追跡する Issue/PR はありますか?
- 確定した検出結果を収集します
- スコアを算出します
- レポートの作成:
references/templates/audit_worker_report_template.mdに従って、完全な Markdown レポートをメモリ上に作成し、単一の Write 呼び出しで{output_dir}/ln-626--global.mdに書き込みます - 概要の返却: コーディネーターに最小限の概要を返します
監査ルール
必読: デッドコードの一般的なパターンと重大度の定義について、references/clean_code_checklist.md を読み込みます。
1. 到達不能コード
検出方法:
- リンタールール:
no-unreachable(ESLint) return、throw、breakの後にあるコードを確認します
重大度: 中
2. 未使用のインポート/変数/関数
検出方法:
- ESLint:
no-unused-vars - TypeScript:
noUnusedLocals、noUnusedParameters - Python:
F401、F841を指定したflake8
重大度:
- 中: 未使用の関数(不要なコード)
- 低: 未使用のインポート(整理が必要)
3. コメントアウトされたコード
検出方法:
//.*{または/*.*functionパターンを grep で検索します- コード構文を含む大きなコメントブロック(10 行超)
重大度: 低
推奨事項: 削除します(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_worker_core_contract.md と references/audit_scoring.md を読み込みます。
出力形式
必読: references/audit_worker_core_contract.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" および checks: 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 の履歴に古いコードが保存されているため、自信を持って削除を推奨します
完了の定義
必読: 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 呼び出しでアトミックに書き込み) - コントラクトに従ってサマリーを書き込み済み
バージョン: 3.0.0 最終更新日: 2025-12-23