技能行为验证门禁
只验证本次受影响的能力。先走最低成本、最容易定位失败的证据;只有低层证据无法证明当前主张时才升级。E0-E4 是路由,不是累计套餐。
先分流
先确定一个分支;不要在分流前完整读取全部脚本、引用、模板或伴随技能。
A. 只读审计
适用于用户只要求分析、解释、评审或给建议。
- 完整读取目标
SKILL.md。 - 只读取与用户问题或已发现风险直接相连的文件。
- 输出事实、失败模式、建议和未核验边界。
- 不修改技能,不强制运行
quick_validate.py,不制造“修复前/修复后”证据。
完成条件:用户的问题已有源码或运行证据支持的结论。
B. 结构或文本修改
适用于 description、路由、措辞、示例、输出格式、引用指针或 agents/openai.yaml 调整,且不改变脚本或外部行为。
- 使用
skill-creator处理结构、命名、渐进披露和基础校验。 - 读取
writing-great-skills仅在需要判断触发、信息层级、重复或篇幅时使用。 - 执行 E0:结构校验、受影响引用存在性,以及 2-4 个应触发/不应触发请求推演。
- E0 足够时立即停止;不自动使用子代理、网络、真实系统或 E3/E4。
完成条件:修改后的结构有效,受影响的触发或文本契约已由 E0 直接覆盖。
C. 运行行为修改
仅在脚本、解析器、模板生成、工具契约、外部系统、安全门或跨技能交接发生变化时进入。
- 完整读取目标
SKILL.md和本次受影响文件。 - 只有调用链或契约直接命中时才扩读相关脚本、引用、模板、UI 元数据或伴随技能。
- 为受影响能力建立简短风险表:
能力声明 | 主要失败模式 | 最低可观察证据 | 安全停止条件
- 为每个重要失败模式选择一个最低充分证据。
- 修补后只重跑 E0 和受影响证据,不重演无关流程。
完成条件:每个重要风险已有直接证据或明确安全阻塞,继续升级不会产生新的决策信息。
证据路由
E0 静态基线
发生实际技能修改时执行:
- frontmatter、名称、description 和调用策略。
- 本次受影响的引用、脚本、模板和
agents/openai.yaml。 quick_validate.py或等价结构校验。- 与本次修改相对应的触发矩阵或步骤推演。
E0 不默认审计整个技能目录的陈旧内容,也不刷新无关外部来源。
E1 本地确定性行为
脚本、解析器、模板或状态机变化时执行:
- 语法、
--help、参数、编码和退出码。 - 一个代表性成功案例。
- 一个最重要的坏输入、失败或安全案例。
- 输出格式、幂等性和误写边界。
E2 边界契约
文件格式、工具元数据、子进程、Git、技能交接或 API schema 变化时执行。优先固定 fixture、模拟响应和隔离环境;不要为可本地证明的风险调用真实外部系统。
E3 最小真实切片
只有核心主张依赖实时页面、认证、数据库、网络、浏览器、设备或运行态时执行一个最小切片。默认只覆盖一个代表性成功路径和必要的一个失败/安全路径。
E4 独立解释或交接
只有待证明能力本身是冷启动理解、触发判断或跨技能交接时使用独立代理/线程。使用前必须说明它能发现哪一种 E0-E3 无法发现的缺陷;否则不使用。
安全门
证据升级不授予生产写入、破坏性操作、付费、发送消息、权限变更、凭据导出或不可逆外部状态权限。无法安全演练时验证到安全门前,记录缺少的环境、授权、回滚或隔离条件,不为追求“完整”越权。
数据库身份不明时按生产库处理;生产写入永不作为技能验证。归属不明的文件、日志、进程、页签和外部状态不清理。
外部资料
只有新增或修改的结论依赖外部产品事实、行业实践或社区案例时,才读取 evidence-selection.md。记录来源只为支持具体决策,不因普通技能修改刷新整份来源矩阵。
技能边界
skill-creator:创建、普通更新、结构、description、渐进披露和基础脚本验证。writing-great-skills:触发、信息层级、单一事实源、重复和篇幅的写作参考。skill-improver:基础验证无法覆盖的运行行为、外部契约、安全边界和复杂交接证据。
当多个技能同时适用时,本技能的风险与信息增益门槛优先于“修改较大就完整前向测试”的倾向。
交付
只读审计报告:目标、关键事实、失败模式、建议、未核验边界。
发生修改时报告:受影响能力、证据组合、实际结果、技能变更、跳过的高成本验证、残余风险和外部状态。
只有存在可复现缺陷时才要求“修复前失败、修复后通过”。新能力或纯减重修改使用修改后的代表性证据,不伪造失败基线。
停止规则
- 已有证据直接覆盖当前主张时停止。
- 第二个真实切片或第二次独立重演必须覆盖第一个证据未覆盖的风险。
- 外部服务不可用时记录残余风险,不无限重试。
- 不用多个证据层重复证明同一个断言。