mcpField
L
ln-625-dependency-reuse-auditor

ln-625-dependency-reuse-auditor

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

ln-625-dependency-reuse-auditor について

パッケージの健全性と再利用リスクを監査するスキルです。古い・未使用の依存関係、脆弱性、置き換え可能な汎用カスタムユーティリティを調べ、依存関係を変更せずに報告します。全項目監査と脆弱性のみの実行に対応します。

主な機能

  1. 01古いパッケージの確認
  2. 02未使用依存関係の検出
  3. 03利用可能な標準機能の代替案確認
  4. 04汎用カスタムユーティリティの置き換え評価
  5. 05複数エコシステムの脆弱性スキャン
  6. 06脆弱性のみのモード

活用シーン

  1. 01リリース前のパッケージ確認
  2. 02使われていない依存関係の特定
  3. 03マニフェスト内の依存脆弱性のスキャン
  4. 04カスタムユーティリティの再利用可能な代替案の評価

MCP 対応

ローカルコードの読み取りには hex-line を優先し、依存関係の参照や再利用の証拠が監査に役立つ場合は hex-graph を使用します。MCP が利用できない、または非対応の場合は組み込みのリポジトリツールに切り替えます。

インストール

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

$npx skills add https://github.com/levnikolaevich/claude-code-skills --skill ln-625-dependency-reuse-auditor

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

同梱ファイル

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

references/
audit_output_schema.md
audit_scoring.md
audit_summary_contract.md
audit_worker_core_contract.md
ci_integration_guide.md
cvss_severity_mapping.md
mcp_integration_patterns.md
mcp_tool_preferences.md
two_layer_detection.md
vulnerability_commands.md
references/templates/
audit_worker_report_template.md

詳細

パス: ファイルパス(references/、../ln-*)は、このスキルディレクトリからの相対パスです。

依存関係と再利用の監査担当(L3 ワーカー)

タイプ: L3 ワーカー

依存関係の健全性と再利用リスクを監査する専門ワーカーです。

目的と範囲

  • 脆弱性のみを対象とする実行向けに、vulnerabilities_only モードをサポートします
  • 依存関係と再利用リスク(カテゴリ 7 と 8:中優先度)を監査します
  • 古いパッケージやメンテナンスされていないパッケージ、未使用の依存関係、CVE 脆弱性、およびネイティブ/既存/OSS の代替手段を使うべき汎用カスタムユーティリティ/統合モジュールを確認します
  • PATCH_DEPENDENCY、REMOVE_DEPENDENCY、または REPLACE_CUSTOM_UTILITY を出力します
  • コンプライアンススコア(X/10)を算出します

パラメーター

パラメーター値デフォルト説明
modefull / vulnerabilities_onlyfullfull = 5 つのチェックすべて、vulnerabilities_only = CVE スキャンのみ

入力

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

tech stack、package manifest paths、codebase root、output_dir を含む contextStore を受け取ります。

デフォルトでは mode=full を使用します。パッケージの脆弱性に関する検出結果のみが求められる場合は、mode=vulnerabilities_only を使用します。

依存関係の参照やコード再利用の証拠によって監査の精度が大きく向上する場合は、まず hex-graph を使用します。利用可能な場合、ローカルコードの読み取りにはまず hex-line を使用します。MCP が利用できない、未サポート、またはインデックス化されていない場合は、組み込みの Read/Grep/Glob/Bash を使用して続行し、レポートにフォールバックしたことを記載します。

ワークフロー

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

  1. コンテキスト、モードパラメーター、output_dir を解析します
  2. 依存関係のチェックを実行します(レイヤー 1:モードに応じた監査ツール)
  3. 候補ごとにコンテキストを分析します(レイヤー 2):
    • 利用可能な機能:使用状況を読み取ります。lodash は 1 つの関数に使われている(置き換えが容易)のでしょうか、それとも深く統合されている(困難)のでしょうか?
    • カスタムユーティリティの置き換え:コードを読み取り、真に汎用的なユーティリティ/統合なのか、それともドメイン固有のロジックなのかを確認します
    • 脆弱性:コードを読み取り、脆弱性のある API がこのプロジェクトで実際に呼び出されているかを確認します
  4. 検出結果を収集します
  5. スコアを算出します
  6. レポートの作成: references/templates/audit_worker_report_template.md に従って完全な Markdown レポートをメモリ上に作成し、単一の Write 呼び出しで {output_dir}/ln-625--global.md に書き込みます
  7. 概要の返却: 最小限の概要を返します

監査ルール(5 つのチェック)

1. 古いパッケージ

モード: full のみ

検出:

  • npm outdated --json を実行します(Node.js)
  • pip list --outdated --format=json を実行します(Python)
  • cargo outdated --format=json を実行します(Rust)

深刻度:

  • 高: メジャーバージョンが遅れている(セキュリティリスク)
  • 中: マイナーバージョンが遅れている
  • 低: パッチバージョンが遅れている

推奨事項: 最新バージョンに更新し、破壊的変更がないかテストします

工数: S-M(バージョンを更新し、テストを実行)

2. 未使用の依存関係

モード: full のみ

検出:

  • package.json/requirements.txt を解析します
  • コードベースで import/require 文を検索します
  • 一度もインポートされていない依存関係を見つけます

深刻度:

  • 中: 未使用の本番依存関係(バンドルが肥大化します)
  • 低: 未使用の開発依存関係

推奨事項: パッケージマニフェストから削除します

工数: S(行を削除し、テスト)

3. 利用可能な機能の未使用

モード: full のみ

検出:

  • ネイティブの fetch が利用可能な場合(Node 18+)に axios を使用していないか確認します
  • Array のメソッドで十分な場合に lodash を使用していないか確認します
  • Date.toLocaleString で十分な場合に moment を使用していないか確認します

深刻度:

  • 中: 不要な依存関係(バンドルサイズが増加します)

推奨事項: ネイティブの代替手段を使用します

工数: M(コードをリファクタリングし、ネイティブ API を使用)

4. 汎用カスタムユーティリティ/統合の置き換え

モード: full のみ

検出:

  • utils/、lib/、helpers/、common/、shared/、pkg/、internal/ にある重要なカスタムユーティリティ/統合ファイルを探します
  • parser、formatter、validator、converter、encoder、serializer、logger、cache、queue、scheduler、mailer、http、client、wrapper、adapter、connector などの名前を探します
  • 置き換えを推奨する前に、コードを読んで目的を分類します
  • ネイティブプラットフォーム API、既存のプロジェクト依存関係、十分に保守されている OSS パッケージの順に優先します

重大度:

  • HIGH: 200 LOC を超える汎用モジュール、またはより安全で実績のある代替手段があるカスタム暗号化/シリアライズについて、置き換えの確度が高い場合
  • MEDIUM: 100~200 LOC の置き換えの確度が高い場合、または保守性の明確な向上が見込める中程度の確度の置き換え
  • LOW: 部分的な置き換えの機会、またはネイティブ API の整理

レイヤー 2:

  • ドメイン固有のビジネスロジックは対象外とします
  • 機能の同等性が 80% 未満の場合は対象外とします
  • OSS を推奨する前に、利用可能な調査ツールを使って保守状況、ライセンスの互換性、既知のセキュリティ勧告を確認します

推奨事項: ネイティブ API、既存の依存関係の機能、または審査済みの OSS 代替手段に置き換えます

作業量: M(ライブラリを統合し、呼び出しを置き換えます)

5. 脆弱性スキャン(CVE/CVSS)

モード: full および vulnerabilities_only

検出:

  • npm、NuGet、pip、Go、Bundler、Cargo、Composer のエコシステムを検出します
  • references/vulnerability_commands.md に従って監査コマンドを実行します
  • references/cvss_severity_mapping.md に従って CVSS のマッピングで結果を解析します

重大度:

  • CRITICAL: CVSS 9.0~10.0(直ちに修正が必要)
  • HIGH: CVSS 7.0~8.9(48 時間以内に修正)
  • MEDIUM: CVSS 4.0~6.9(1 週間以内に修正)
  • LOW: CVSS 0.1~3.9(都合のよいときに修正)

修正の分類:

  • パッチ更新(x.x.Y)→ 安全な自動修正
  • マイナー更新(x.Y.0)→ 通常は安全
  • メジャー更新(Y.0.0)→ 手動レビューが必要
  • 修正が利用できない場合 → 文書化して監視

推奨事項: 修正済みバージョンに更新し、ロックファイルの整合性を確認します

作業量: S~L(破壊的変更によって異なります)


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

必ず読むこと: references/audit_scoring.md を読み込みます。

注: mode=vulnerabilities_only の場合、脆弱性の検出結果のみを基にスコアを算出します。

出力形式

必ず読むこと: references/templates/audit_worker_report_template.md を読み込みます。

references/audit_summary_contract.md に従って JSON サマリーを作成します。マネージドモードでは、呼び出し元から runId と summaryArtifactPath の両方が渡されます。スタンドアロンモードでは、ワーカーが共通コントラクトに従って実行単位の成果物パスを生成します。

{output_dir}/ln-625--global.md に、category: "Dependency & Reuse Risk" および checks: outdated_packages, unused_deps, available_natives, custom_utility_replacement, vulnerability_scan を含むレポートを作成します。

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-625--global.md
Score: X.X/10 | Issues: N (C:N H:N M:N L:N)

参照ファイル

ファイル目的
references/vulnerability_commands.mdエコシステム固有の監査コマンド
references/ci_integration_guide.mdCI/CD 統合ガイダンス
references/cvss_severity_mapping.mdCVSS から重大度レベルへのマッピング
references/audit_output_schema.md監査出力スキーマ

重要なルール

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

  • 自動修正は禁止: 報告のみを行い、パッケージマニフェストやロックファイルは変更しません
  • モードに応じた実行: vulnerabilities_only モードでは、チェック 1〜4 を完全にスキップします
  • 現実的な作業量: S = 1 時間未満、M = 1〜4 時間、L = 4 時間超
  • CVSS に基づく重大度: 脆弱性の重大度は、references/cvss_severity_mapping.md に厳密に従って割り当てます
  • 除外事項: 脆弱性の重大度引き上げでは devDependencies を除外し、ベンダー提供またはバンドル済みの依存関係もスキップします
  • 独自の観点: 依存関係/パッケージの健全性と、汎用的な再利用の機会のみを監査します。アプリケーションの悪用可能性、アーキテクチャの刷新、ドメイン固有のビジネスロジックは監査しません。
  • 必要な対応: すべての指摘には PATCH_DEPENDENCY、REMOVE_DEPENDENCY、または REPLACE_CUSTOM_UTILITY を使用します。

完了の定義

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

  • contextStore を解析済み(モードパラメーターと output_dir を含む)
  • 該当するすべてのチェックを完了済み(通常モードでは 5 件、vulnerabilities_only では 1 件)
  • 置き換えを推奨する前に、汎用的なカスタムユーティリティ/統合候補を分類済み
  • 重大度、場所、作業量、対応、修正タイプ、推奨事項を含む指摘を収集済み
  • references/audit_scoring.md に従ってスコアを算出済み
  • レポートを {output_dir}/ln-625--global.md に書き込み済み(Write 呼び出しを 1 回だけ使用して原子的に書き込み)
  • コントラクトに従って概要を記載済み

バージョン: 4.0.0 最終更新日: 2026-02-05

コメント