progressive-loading について
progressive-loadingは、複数のワークフローを持つスキル向けのモジュール読み込みパターンを解説します。スキルの構築者がコンテキストや意図に応じて内容を選び、MECWのトークン予算を確認して不要な読み込みを避けられます。
主な機能
- 01コンテキストと意図に応じたモジュール選択
- 02段階的読み込みと遅延読み込み
- 03MECWによるトークン予算管理
- 04ハブ・アンド・スポーク構成
- 05アンロードとコンテキスト切り替え
活用シーン
- 01複数のワークフローを扱うスキルの構築
- 02タスクに必要なモジュールを読み込んでコンテキストを管理
- 03長時間セッションでのMECW予算の順守
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ athola/ claude-night-market --skill progressive-loadingインストール後、Claude Code で/progressive-loadingを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
README.mdmodules/advanced-patterns.mdapi-patterns.mdapi-review.mdcargo-patterns.mddocument-analysis-patterns.mdgit-catchup-patterns.mdgit-patterns.mdlarge-reference.mdlegacy-python.mdlinux-patterns.mdloading-patterns.mdlog-analysis-patterns.mdmacos-patterns.mdmodern-python.mdperformance-budgeting.mdperformance.mdpython-packaging.mdpython-patterns.mdpython-testing.mdrust-review.mdselection-strategies.mdtroubleshooting.mdwindows-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
フィールドにコストを記録します。
ハブ・アンド・スポークアーキテクチャ
ハブの役割
- コンテキストの検出:ユーザーの意図、成果物、ワークフローの種類を特定する
- モジュールの選択:コンテキストに基づいて読み込むモジュールを選ぶ
- 予算管理:読み込み前に MECW 準拠を確認する
- 統合の調整:他のスキルとの統合ポイントを提供する
- 終了条件:すべてのパスで完了条件を定義する
スポークの特性
- 単一責任:各モジュールは1つのワークフローまたはドメインを担う
- 自己完結型:モジュールは他のモジュールに依存しない
- コンテキストのタグ付け:モジュールが適用されるタイミングを明確に示す
- トークン予算の設定:選択の判断に使えるトークンコストが分かる
- 個別にテスト可能:単独で評価できる
選択戦略
詳しい戦略については modules/selection-strategies.md を参照してください。
- 意図ベース:検出されたユーザーの目標に基づいて読み込む
- 成果物ベース:検出されたファイルやシステムに基づいて読み込む
- 予算対応型:利用可能なトークン予算内で読み込む
- プログレッシブ:まずコアを読み込み、必要に応じて拡張する
- 相互排他型:複数の選択肢から1つのパスを読み込む
読み込みパターン
実装パターンについては modules/loading-patterns.md を参照してください。
- 条件付きインクルード:モジュール参照を動的に切り替える
- 遅延読み込み:初回使用時に読み込む
- 段階的な開示:コア → よく使うもの → エッジケース
- コンテキストの切り替え:セッション中に読み込むモジュールを変更する
- 先行アンロード:負荷が高いときに未使用モジュールを削除する
よくあるユースケース
- マルチドメインスキル:
imbue:catchupはコンテキストに応じて git/docs/logs モジュールを読み込む - コンテキスト負荷の高い分析:関連モジュールのみを読み込み、詳細な調査は後回しにし、完了したモジュールをアンロードする
- プラグインインフラストラクチャ:バージョンを確認しながら、インフラストラクチャモジュールを自由に組み合わせる
ベストプラクティス
- まずハブを設計する:考えられるすべてのコンテキストとモジュールの境界を定義する
- モジュールに明確なタグを付ける:YAML フロントマターを使って、コンテキストのトリガーを示す
- トークンコストを測定する:選択に使えるよう、各モジュールのコストを把握する
- 読み込みを監視する:実際に使用されたモジュールを追跡する
- パスを検証する:すべてのコンテキストパスに必要なモジュールがあることを確認する
- トリガーを文書化する:コンテキスト検出ロジックを分かりやすくする
モジュールの参照
コア(ハブで常に利用可能)
- 選択戦略:モジュールの選び方については、
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、poetrymodules/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 の制約に準拠している
- すべてのモジュールのトークンコストが測定されている
- コンテキスト検出ロジックが文書化されている
- すべての読み込みパスが漏れなく検証されている