mcpField
P
progressive-loading

progressive-loading

github.com/atholaエージェントワークフロー34396 回インストール1 日前に更新
リポジトリ

progressive-loading について

progressive-loadingは、複数のワークフローを持つスキル向けのモジュール読み込みパターンを解説します。スキルの構築者がコンテキストや意図に応じて内容を選び、MECWのトークン予算を確認して不要な読み込みを避けられます。

主な機能

  1. 01コンテキストと意図に応じたモジュール選択
  2. 02段階的読み込みと遅延読み込み
  3. 03MECWによるトークン予算管理
  4. 04ハブ・アンド・スポーク構成
  5. 05アンロードとコンテキスト切り替え

活用シーン

  1. 01複数のワークフローを扱うスキルの構築
  2. 02タスクに必要なモジュールを読み込んでコンテキストを管理
  3. 03長時間セッションでのMECW予算の順守

インストール

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

$npx skills add https://github.com/athola/claude-night-market --skill progressive-loading

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

同梱ファイル

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

README.md
modules/
advanced-patterns.md
api-patterns.md
api-review.md
cargo-patterns.md
document-analysis-patterns.md
git-catchup-patterns.md
git-patterns.md
large-reference.md
legacy-python.md
linux-patterns.md
loading-patterns.md
log-analysis-patterns.md
macos-patterns.md
modern-python.md
performance-budgeting.md
performance.md
python-packaging.md
python-patterns.md
python-testing.md
rust-review.md
selection-strategies.md
troubleshooting.md
windows-patterns.md

詳細

翻訳後に原文が更新されています。最新の内容は原文をご確認ください。

プログレッシブローディングのパターン

概要

プログレッシブローディングでは、コンテキスト、ユーザーの意図、利用可能なトークン予算に応じてモジュールを動的に読み込むスキルを構築するための標準的なパターンを提供します。これにより、必要な機能を必要なときに利用できるようにしながら、不要なコンテンツの読み込みを防ぎます。

基本原則:最小限から始め、賢く拡張し、継続的に監視します。

使用する場合

次のようなスキルを構築する場合は、プログレッシブローディングを使用してください。

  • 複数の異なるワークフローやドメインを扱う
  • コンテキストウィンドウを効率的に管理する必要がある
  • コンテキストに応じて相互に排他的なモジュールがある
  • 長時間のセッションで MECW 準拠が必要である
  • エッジケースにも対応しながら、一般的なパスを最適化したい

使用しない場合

  • プロジェクトが leyline のインフラストラクチャパターンを使用していない
  • サービスアーキテクチャの要件がないシンプルなスクリプト

クイックスタート

基本的なハブパターン
## Progressive Loading

**Context A**: Load `modules/loading-patterns.md` for scenario A
**Context B**: Load `modules/selection-strategies.md` for scenario B

**Always Available**: Core utilities, exit criteria, integration points

確認: --help フラグを付けてコマンドを実行し、利用可能であることを確認してください。

コンテキストベースの選択

モジュールはスキルの YAML フロントマターで宣言し、 @modules/ ディレクティブを使って必要に応じて読み込みます。ハブは 検出されたコンテキストを読み取り、一致するスポークのみを読み込みます。

---
modules:
- modules/git-catchup-patterns.md
- modules/python-testing.md
---

When the intent is a branch or PR catch-up, load
`@modules/git-catchup-patterns.md`. When the artifacts include
Python tests, also load `@modules/python-testing.md`.

読み込みを MECW のトークン予算内に収めるため、モジュールを 読み込む前に、そのモジュールが予算に収まるか確認します。 plugins/leyline/src/leyline/mecw.py の MECWMonitor には、ここで使用するメソッドが用意されています。

from leyline.mecw import MECWMonitor

monitor = MECWMonitor()
monitor.track_usage(current_context_tokens)

# module_estimated_tokens comes from the module frontmatter
can_load, reasons = monitor.can_handle_additional(module_estimated_tokens)

can_load が true の場合にのみ、次のモジュールを読み込みます。各 モジュールは、フロントマターの estimated_tokens フィールドにコストを記録します。

ハブ・アンド・スポークアーキテクチャ

ハブの役割
  1. コンテキストの検出:ユーザーの意図、成果物、ワークフローの種類を特定する
  2. モジュールの選択:コンテキストに基づいて読み込むモジュールを選ぶ
  3. 予算管理:読み込み前に MECW 準拠を確認する
  4. 統合の調整:他のスキルとの統合ポイントを提供する
  5. 終了条件:すべてのパスで完了条件を定義する
スポークの特性
  1. 単一責任:各モジュールは1つのワークフローまたはドメインを担う
  2. 自己完結型:モジュールは他のモジュールに依存しない
  3. コンテキストのタグ付け:モジュールが適用されるタイミングを明確に示す
  4. トークン予算の設定:選択の判断に使えるトークンコストが分かる
  5. 個別にテスト可能:単独で評価できる

選択戦略

詳しい戦略については modules/selection-strategies.md を参照してください。

  • 意図ベース:検出されたユーザーの目標に基づいて読み込む
  • 成果物ベース:検出されたファイルやシステムに基づいて読み込む
  • 予算対応型:利用可能なトークン予算内で読み込む
  • プログレッシブ:まずコアを読み込み、必要に応じて拡張する
  • 相互排他型:複数の選択肢から1つのパスを読み込む

読み込みパターン

実装パターンについては modules/loading-patterns.md を参照してください。

  • 条件付きインクルード:モジュール参照を動的に切り替える
  • 遅延読み込み:初回使用時に読み込む
  • 段階的な開示:コア → よく使うもの → エッジケース
  • コンテキストの切り替え:セッション中に読み込むモジュールを変更する
  • 先行アンロード:負荷が高いときに未使用モジュールを削除する

よくあるユースケース

  • マルチドメインスキル:imbue:catchup はコンテキストに応じて git/docs/logs モジュールを読み込む
  • コンテキスト負荷の高い分析:関連モジュールのみを読み込み、詳細な調査は後回しにし、完了したモジュールをアンロードする
  • プラグインインフラストラクチャ:バージョンを確認しながら、インフラストラクチャモジュールを自由に組み合わせる

ベストプラクティス

  1. まずハブを設計する:考えられるすべてのコンテキストとモジュールの境界を定義する
  2. モジュールに明確なタグを付ける:YAML フロントマターを使って、コンテキストのトリガーを示す
  3. トークンコストを測定する:選択に使えるよう、各モジュールのコストを把握する
  4. 読み込みを監視する:実際に使用されたモジュールを追跡する
  5. パスを検証する:すべてのコンテキストパスに必要なモジュールがあることを確認する
  6. トリガーを文書化する:コンテキスト検出ロジックを分かりやすくする

モジュールの参照

コア(ハブで常に利用可能)
  • 選択戦略:モジュールの選び方については、modules/selection-strategies.md を参照してください
  • 読み込みパターン:実装手法については、modules/loading-patterns.md を参照してください
  • パフォーマンス予算の設定:トークン予算モデルと最適化ワークフローについては、modules/performance-budgeting.md を参照してください
  • 高度なパターン:ネストされたハブ、複数階層の開示、スキル間でのモジュール共有については、modules/advanced-patterns.md を参照してください
  • トラブルシューティング:モジュールの読み込みに失敗した場合、コンテキスト検出が誤作動した場合、またはトークン予算を超過した場合は、modules/troubleshooting.md を参照してください
コンテキスト固有のパターンモジュール

これらのモジュールは、検出されたアーティファクトとユーザーの意図に基づいて、 ハブが必要に応じて読み込みます。セレクターが照合できるよう フロントマターに記載されていますが、ハブは有効化条件に合致するものだけを 読み込んでください。

オペレーティングシステムのパターン(検出されたプラットフォームに応じて読み込みます):

  • modules/linux-patterns.md:Linux 固有のシェル、パス、プロセスのパターン
  • modules/macos-patterns.md:macOS 固有のツールとプラットフォーム特有の挙動
  • modules/windows-patterns.md:Windows のシェル、パス、PowerShell のパターン

言語とランタイムのパターン(検出されたエコシステムに応じて読み込みます):

  • modules/modern-python.md:Python 3.11 以降の慣用表現、型付け、非同期処理
  • modules/legacy-python.md:Python 2/3.8 より前のバージョンとの互換性パターン
  • modules/python-packaging.md:pyproject.toml、uv、pip、hatch、poetry
  • modules/python-patterns.md:一般的な Python の記述パターン
  • modules/python-testing.md:pytest、フィクスチャ、パラメーター化、モック
  • modules/cargo-patterns.md:Rust の Cargo ワークスペースと依存関係のパターン
  • modules/rust-review.md:Rust のコードレビューのパターン

ワークフローパターン(検出されたタスクに応じて読み込みます):

  • modules/api-patterns.md:API の設計とエンドポイントの規約
  • modules/api-review.md:API サーフェスのレビューのパターン
  • modules/git-patterns.md:Git のワークフローと履歴のパターン
  • modules/git-catchup-patterns.md:ブランチまたは PR の差分の把握
  • modules/document-analysis-patterns.md:ドキュメントの読み取りと分析
  • modules/log-analysis-patterns.md:ログの解析と分析
  • modules/performance.md:パフォーマンス調査のパターン

参考資料(明示的に指定された場合のみ読み込みます):

  • modules/large-reference.md:大規模なリファレンステーブルと参照情報(最後に読み込みます。 トークンコストが無視できません)

他のスキルとの連携

このスキルが提供する基盤パターンは、次のものから参照されます:

  • abstract:modular-skills - スキル設計に段階的な読み込みを使用します
  • conserve:context-optimization - MECW に準拠した読み込みに使用します
  • imbue:catchup - コンテキストに基づくモジュール選択に使用します
  • 複数のワークフローを扱うスキルを構築するプラグイン作成者

スキルのフロントマターで次のように参照してください:

dependencies: [leyline:progressive-loading, conserve:context-optimization]
progressive_loading: true

検証: 利用可能かどうかを確認するには、--help フラグを付けてコマンドを実行してください。

完了条件

  • ハブで、すべてのモジュール読み込みコンテキストが明確に定義されている
  • 各モジュールに有効化コンテキストがタグ付けされている
  • モジュールの選択が MECW の制約に準拠している
  • すべてのモジュールのトークンコストが測定されている
  • コンテキスト検出ロジックが文書化されている
  • すべての読み込みパスが漏れなく検証されている

コメント