mcpField
P
pre-flight-check

pre-flight-check

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

pre-flight-check について

pre-flight-checkは、エージェントが作業を始める前に、蓄積されたプロジェクトの知見を提示するスキルです。SessionStartフックによる軽量スキャンと手動の詳細確認に対応し、記録を変更したり実行を妨げたりせずに、関連する学び、評価結果、引き継ぎを見つけます。

主な機能

  1. 01セッション開始時の軽量スキャン
  2. 02学習記録の手動詳細確認
  3. 03失敗または古い評価の確認
  4. 04未読の引き継ぎファイルを検索
  5. 05タスク領域に応じた知見の絞り込み

活用シーン

  1. 01セッション開始時に最近のエラーを提示
  2. 02大きな作業の前に関連履歴を確認
  3. 03未処理の評価や引き継ぎを発見

インストール

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

$npx skills add https://github.com/pskoett/pskoett-ai-skills --skill pre-flight-check

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

同梱ファイルscripts/pre-flight.sh

詳細

事前チェック

セッション開始時に、蓄積された関連知識を提示します。これは、外側のループを内側のループにつなぐ橋渡しであり、エージェントが作業を始める前に過去の学びを確認できるようにします。

これがないと、新しいセッションでは蓄積された .learnings/ が見えません。確認するよう指示されないため、エージェントはすでに記録されている間違いを繰り返します。

実行タイミング

  • SessionStart フック経由で自動実行(軽量スキャン、約100~200トークン)
  • 主要なタスクの前に手動実行(対象領域で絞り込む詳細スキャン)

フックの出力(自動 — 軽量)

SessionStart フック(scripts/pre-flight.sh)は高速スキャンを実行し、関連する兆候がある場合に短いリマインダーを出力します。

<pre-flight-check>
Active learnings: N entries in .learnings/
Recent errors (last 7 days): N
Promotion-ready patterns: N
Failed evals: N

High-priority items:
- [Pattern-Key]: [one-line summary] (seen N times)
- [Pattern-Key]: [one-line summary] (seen N times)

Consider running /learning-aggregator if promotion-ready count > 0.
</pre-flight-check>

兆候がない場合(.learnings/ が空で、失敗した eval もない場合)、フックは何も出力せず、オーバーヘッドはゼロです。

手動での詳細スキャン

明示的に呼び出すと、事前チェックでより詳細な分析を行います。

ステップ 1:.learnings/ をスキャンする

.learnings/LEARNINGS.md、.learnings/ERRORS.md、.learnings/FEATURE_REQUESTS.md、.learnings/HEALS.md を読み込みます(最後のファイルは self-healing から取得します。以前のセッションで記録された、検証済みの実行時修正です。エージェントが既知の修正を再発明する前に適用できるよう、これらを目立つ形で提示してください)。

各項目から次の情報を抽出します。

  • Pattern-Key、Summary、Priority、Status、Area、Related Files、Recurrence-Count、Last-Seen
  • HEAL 項目の場合:Active-Context、Trigger、および昇格の準備状況を示す Handoff ブロックのフラグも抽出します
ステップ 2:.evals/ をスキャンする(存在する場合)

.evals/EVAL_INDEX.md を読み込み、失敗した eval や古い eval がないか確認します。

ステップ 3:Context-Surfing の引き継ぎを確認する

.context-surfing/ 内の未読ファイルを探します(handoff-checker.sh と同じ処理を統合したものです)。

ステップ 4:関連性で絞り込む

ユーザーがタスクの領域を説明した場合は、次の学びに絞り込みます。

  • Area がタスクに一致する項目
  • Related Files が変更される可能性の高いファイルと重複する項目
  • 領域に関係なく、Priority: high/critical の項目
  • Recurrence-Count が3以上の項目(再発回数のしきい値に達し、昇格の準備ができているため、注意が必要です)
ステップ 5:出力
## Pre-Flight Check

### Task Area: [inferred or stated]

### Relevant Learnings
| ID | Summary | Recurrence | Priority | Status |
|----|---------|-----------|----------|--------|
| LRN-... | ... | 3 | high | pending |
| ERR-... | ... | 2 | medium | pending |

### Key Warnings
- [Pattern-Key]: "Concise warning based on learning" — seen N times, last on YYYY-MM-DD
- [Pattern-Key]: "Concise warning based on learning" — seen N times, last on YYYY-MM-DD

### Failed Evals
| Eval ID | Pattern-Key | Last Failed | Recovery Action |
|---------|------------|-------------|-----------------|
| eval-... | ... | YYYY-MM-DD | ... |

### Handoff Files
- [filename] — from session on YYYY-MM-DD

### Recommendations
- [ ] Read handoff files before starting
- [ ] Run learning-aggregator (N promotion-ready patterns)
- [ ] Fix failed evals before starting new work
- [ ] Watch for [specific pattern] in [area]

統合

上流(情報源)
  • .learnings/*.md — 自己改善によって蓄積された学びの項目
  • .evals/EVAL_INDEX.md — eval-creator による eval の結果
  • .context-surfing/ — context-surfing による引き継ぎファイル
下流(情報の提供先)
  • 内側のループのコンテキスト — エージェントは既知のパターンを把握して作業を開始します
  • learning-aggregator — 昇格の準備ができた項目が多い場合、実行を推奨します
  • eval-creator — 失敗した eval がある場合、新しい作業に着手する前に修正を推奨します
複利効果

ブログで複利効果が生まれるのは、ここです。

Outer loop improves harness → pre-flight surfaces improvements → inner loop starts stronger

記録された学びも、昇格したルールも、作成された eval も、次のセッション開始時に確認できるようになります。サイクルを重ねるごとに、知識のギャップは小さくなります。

差分スキャン(今後の拡張)

フックスクリプトは、最後に確認した状態(項目数、スキャン日、高優先度の項目)を保存するローカルキャッシュファイル(.pre-flight-cache.json)を使うよう拡張できます。これにより、次のセッション開始時には、キャッシュされた状態より新しい項目だけを再スキャンできます。差分レポート(「前回のセッション以降、新しいエラーが2件記録され、1つのパターンが昇格のしきい値に達しました」)が可能になり、.learnings/ がどれだけ大きくなっても、フックの実行時間をほぼ瞬時に保てます。現時点では未実装で、現在のフックはセッション開始のたびに直接スキャンします。

このスキルが行わないこと

  • .learnings/ ファイルは変更しません(読み取り専用です)
  • パターンを昇格しません(それは人間の承認を必要とする自己改善ワークフローが行います)
  • eval を実行しません(それは eval-creator が行います)
  • 実行をブロックしません — 情報を提示し、それに基づいて行動するかどうかはエージェントが判断します

コメント