mcpField
L
ln-832-bundle-optimizer

ln-832-bundle-optimizer

github.com/levnikolaevich開発584225 回インストール2 日前に更新
リポジトリ

ln-832-bundle-optimizer について

ビルド成果物を測定し、サイズを削減できた変更だけを残して JavaScript/TypeScript のバンドルを最適化するスキルです。サイズの変化と試行結果を報告します。

主な機能

  1. 01ビルドしてバンドルの基準値を測定
  2. 02未使用依存関係や大きなパッケージを検出
  3. 03ビルドで変更の採用・破棄を判定
  4. 04サイズ変化と削除した依存関係を報告

活用シーン

  1. 01JS/TS プロジェクトのビルド成果物を縮小
  2. 02最適化案によるバンドルサイズの変化を確認

MCP 対応

利用可能な場合、ホットスポットの特定やローカルファイルの読み取りに hex-graph と hex-line の MCP ツールを使用します。それ以外は組み込みツールに切り替えます。

インストール

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

$npx skills add https://github.com/levnikolaevich/claude-code-skills --skill ln-832-bundle-optimizer

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

同梱ファイル

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

references/
ci_tool_detection.md
coordinator_summary_contract.md
mcp_integration_patterns.md
mcp_tool_preferences.md
optimization_categories.md

詳細

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

ln-832-bundle-optimizer

タイプ: L3 ワーカー カテゴリ: 8XX 最適化

キープ/破棄の検証を用いて、JavaScript または TypeScript のバンドルサイズを削減します。JS/TS プロジェクトのみが対象です。


概要

項目詳細
入力JS/TS プロジェクトのパスと、任意の最適化範囲
出力サイズを縮小したバンドルと、機械可読なモダナイゼーション概要
範囲JS/TS のみ

ワークフロー

フェーズ: 事前チェック -> ベースライン -> 分析 -> 最適化ループ -> レポート


フェーズ 0:事前チェック

チェック必須未対応の場合のアクション
package.json が存在するはい最適化をブロック
ビルドコマンドを利用できるはい最適化をブロック
出力ディレクトリ(dist/ または build/)を検出できるはいベースラインを確立するために一度ビルド
ワークスペースのベースラインが安全であるはい管理された実行では、コーディネーターがすでに準備済みです。単独実行では、ロールバックできるようローカルで保護します

必ず読み込むこと: ビルドの検出については references/ci_tool_detection.md を読み込みます。 ツールポリシー:ホストの AGENTS.md にある MCP の設定に従います。ホストポリシーがない場合、または MCP の動作が不明確な場合に限り、references/mcp_tool_preferences.md と references/mcp_integration_patterns.md を読み込みます。

ホットスポットやクローングループによって最適化の対象選定が大きく改善される場合は、まず hex-graph を使用します。利用可能な場合は、ローカルコードや設定の読み取りにはまず hex-line を使用します。MCP が利用できない、未対応、またはインデックス化されていない場合は、組み込みの Read/Grep/Glob/Bash を使用して続行し、フォールバックを概要に記載します。

ランタイムの調整

管理された実行では、決定論的な runId と正確な summaryArtifactPath が ln-830 から渡されます。 単独実行も引き続きサポートされます。ランタイム引数が省略された場合は、返す前に単独実行スコープの成果物を生成します。


フェーズ 1:ベースラインの確立

1. Run the detected build command.
2. Measure total size of the output directory.
3. Record baseline bytes and per-chunk sizes.
指標方法
合計サイズソースマップを除く、すべてのバンドル出力ファイルの合計
チャンクごとのサイズ個々の JS ファイルと CSS ファイルを測定
ソースマップの扱い.map ファイルを除外

フェーズ 2:最適化の機会を分析

チェックツール検出内容
未使用の依存関係depcheck または同等のツールどこからもインポートされていないパッケージ
バンドルの構成バンドルアナライザーサイズの大きな依存関係や重複
ツリーシェイキングの不足手動スキャン名前空間インポートやサイズの大きなエントリーポイント
コード分割の不足ルート分析遅延読み込みの候補

最適化カテゴリ:

カテゴリ例一般的な削減量
未使用の依存関係を削除不要な依存関係パッケージごとに 10-50KB
名前付きインポートlodash-es の名前付きインポート50-200KB
より軽量な代替手段サイズの大きな日付/ユーティリティライブラリを置き換え50-300KB
動的インポートサイズの大きなコンポーネントを遅延読み込み初期バンドルを縮小
CSS の最適化未使用の CSS を削除し、圧縮10-100KB

フェーズ 3:最適化ループ(キープ/破棄)

最適化の各サイクル:

FOR each optimization:
  1. APPLY the change
  2. BUILD
     IF build fails -> DISCARD and revert
  3. MEASURE new bundle size
  4. KEEP only if the bundle is smaller than the current baseline
  5. LOG the result

停止条件:

条件アクション
すべての最適化を処理済み停止して報告
破棄が 3 回連続停滞とみなして停止
ビルドインフラストラクチャが壊れた最後にキープした状態に戻して停止
バンドルがすでに目標を下回っている停止して報告

最適化の順序:

  1. 未使用の依存関係を削除
  2. ツリーシェイキングとインポートを改善
  3. サイズの大きなライブラリを置き換え
  4. コード分割を導入
  5. CSS を最適化

フェーズ 4:結果を報告する

フィールド説明
projectプロジェクトのパス
baseline_bytes元のバンドルサイズ
final_bytes最終的なバンドルサイズ
reduction_bytes削減されたバイト数
reduction_percent削減率
optimizations_applied適用した最適化の数
optimizations_discarded数と理由
deps_removed[]削除した依存関係
details[]最適化ごとの削減量
artifact_path書き込まれた場合の、永続的なワーカーレポートのパス

設定

Options:
  build_command: ""             # Auto-detect
  output_dir: ""                # Auto-detect
  run_depcheck: true
  run_bundle_analyzer: false
  remove_unused_deps: true
  fix_tree_shaking: true
  replace_heavy_libraries: true
  enable_code_splitting: true

エラー処理

エラー原因解決策
最適化後にビルドが失敗するコードまたは設定の変更が無効その最適化を元に戻します
サイズが削減されない最適化の効果がない破棄します
アナライザーを利用できないツールが見つからない手動での確認を続行します

参考資料


ランタイムサマリーアーティファクト

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

modernization-worker のサマリーエンベロープを出力します。

管理モード:

  • ln-830 が決定的な runId と正確な summaryArtifactPath を渡します
  • サマリーを指定された summaryArtifactPath に書き込みます

スタンドアロンモード:

  • runId と summaryArtifactPath を省略します
  • .hex-skills/runtime-artifacts/runs/{run_id}/modernization-worker/ln-832--{identifier}.json に書き込みます

モニター(2.1.98+): 維持/破棄ループ内で30秒を超えると予想されるビルドコマンドには、Monitor を使用します。フォールバック:Bash(run_in_background=true)。

完了の定義

  • 実際のビルド出力からベースラインのバンドルサイズを確定している
  • バンドル構成とプロジェクトでの使用状況から最適化の機会を分析している
  • 各最適化について、維持/破棄の検証を行っている
  • サイズを削減する最適化のみを維持している
  • 最終レポートにバンドルの差分、破棄した試行、削除した依存関係を記録している
  • modernization-worker のサマリーアーティファクトを、管理モードまたはスタンドアロンモードのパスに書き込んでいる

バージョン: 1.0.0 最終更新日: 2026-03-08

コメント