mcpField
P
pre-flight-check

pre-flight-check

github.com/pskoettAgent 工作流32671 次安装4 天前更新
代码仓库

关于 pre-flight-check

pre-flight-check 是在 Agent 开始工作前呈现既有项目经验的技能,可通过 SessionStart hook 轻量扫描,也可手动进行深入检查。它读取学习记录、评估结果和交接文件,让相关经验在新会话中可见,但不会修改记录或阻止执行。

主要功能

  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

详细介绍

预检

在会话开始时呈现相关的累积知识。这是将外循环连接回内循环的桥梁——它会在 Agent 开始工作前,让 Agent 看到先前积累的经验。

如果没有这一步,新会话就看不到累积的 .learnings/。由于没人提醒 Agent 去查看,它会重复已经记录过的错误。

运行时机

  • 自动运行:通过 SessionStart 钩子(轻量扫描,约 100-200 个 token)
  • 手动运行:在重要任务开始前(深度扫描,可按领域筛选)

钩子输出(自动 — 轻量)

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/ 为空,且没有失败的评估),钩子不会输出任何内容——零额外开销。

手动深度扫描

显式调用时,预检会进行更深入的分析:

步骤 1:扫描 .learnings/

读取 .learnings/LEARNINGS.md、.learnings/ERRORS.md、.learnings/FEATURE_REQUESTS.md 和 .learnings/HEALS.md(后者来自 self-healing——记录了先前会话中经过验证的运行时修复;应重点呈现这些内容,让 Agent 在重新摸索之前应用已知修复)。

对每条记录,提取:

  • Pattern-Key、Summary、Priority、Status、Area、Related Files、Recurrence-Count、Last-Seen
  • 对于 HEAL 记录:还需提取 Active-Context、Trigger,以及任何标记可晋升状态的 Handoff 块
步骤 2:扫描 .evals/(如果存在)

读取 .evals/EVAL_INDEX.md,查找失败或过时的评估。

步骤 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 的评估结果
  • .context-surfing/ — 来自 context-surfing 的交接文件
下游(输出去向)
  • 内循环上下文 — Agent 开始工作时,已了解已知模式
  • learning-aggregator — 如果达到可晋升条件的记录数量较多,建议运行它
  • eval-creator — 如果存在失败的评估,建议先修复再开始新工作
复利效应

博客中的复利效应正是在这里实现的:

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

每条记录下来的经验、每条晋升的规则、每个创建的评估,都会在下一次会话开始时呈现。每经过一个周期,知识缺口都会缩小。

增量扫描(未来增强)

可以扩展钩子脚本,使其使用本地缓存文件(.pre-flight-cache.json)保存上次已知状态——条目数量、扫描日期、高优先级项目——这样下一次会话开始时就只需重新扫描缓存状态之后新增的条目。这将支持增量报告(“自上次会话以来,新增了 2 条错误记录,且有 1 个模式达到了晋升门槛”),并让钩子无论 .learnings/ 增长到多大,都能近乎即时地完成。此功能目前尚未实现——当前钩子会在每次会话开始时直接扫描。

此技能不会做什么

  • 不会修改 .learnings/ 文件(只读)
  • 不会晋升模式(这属于需人工把关的自我改进工作流)
  • 不会运行评估(这由 eval-creator 负责)
  • 不会阻止执行——它只呈现信息,由 Agent 决定采取哪些行动

评论

支持 Markdown