SuperAPI AI 工具集

maintain-verification-skill

测试与质量

查看项目

更新于 10-15 14:40

技能介绍

用途

功能地图会在应用发生变化的那一刻开始腐化。本技能是 /create-verification-skill 所生成技能(或任何带功能地图的项目本地验证技能)的维护循环。其严谨性的单位是“功能”,而不是每一句话:从源码覆盖每个功能文件,并实时演练每个功能,而不必把每条要点都终端化。

主要能力

  • 定位目标:找到要维护的验证技能——即正文包含 launch/drive 章节和功能地图的项目本地技能(.claude/skills/verify/,或旧版生成器的 .claude/skills/verify-*/)。若有多个候选则询问选择哪一个;若没有,则停止并指向 /create-verification-skill,而不是凭空发明一个目标。
  • 索引卫生:读取功能地图 README 并对其同级文件做 glob,修复缺失、多余、重复或失效的条目。轻量执行,不生成清单。
  • 源码波次:每个功能文件启动一个只读子代理,并发运行。每个子代理从源码解释“这个面向用户的功能如何工作?”,标注可能的文档漂移并附引用,返回一份简洁的实时验证配方。子代理从不驱动应用,也从不编辑文件。返回结构为:功能摘要 / 源码入口点 / 可能的漂移或无 / 一份配方。
  • 对账:确保每个功能文件都有返回摘要;将重叠配方合并为尽可能少的应用状态;抽查被引用的漂移,不重新证明干净声明;扫描近期变更中缺失于地图的面向用户界面,要求给出具体源码路径才判定为缺失。
  • 实时通过:即使源码看起来干净也必须执行。协调者负责全部驱动;遵循验证技能自身的启动模型——服务器和 UI 使用一个长期实例串行驱动,短生命周期 CLI 则每次驱动使用全新的隔离会话(由技能的 Launch 章节决定,而非本技能)。每个功能至少演练一次,并在整个过程中保持三条不变量,无论失败与否:(1) 绝不驱动一个自上次出现意外行为后未做健康检查的实例——首次驱动前 doctor,会话为单位的每个新会话 doctor,任何失败驱动后再次 doctor,当 doctor 看不到失败时(健康进程上的 UI 卡死状态),重置到已知状态或重新启动,而不是心存侥幸;(2) 已捕获的证据在每次清理后都保留,并在其命名位置检查,而非假设;(3) 驱动启动的任何东西不得在该驱动失去价值后继续存在——失败迭代的残留物无论会话是卡住、退出还是共享都要清理(共享实例则清理残留物,而非实例)。由技能漂移导致的 doctor 失败属于漂移:在编辑范围内修复并重试一次——只重启该修复所失效的部分,不多做——然后才判定为阻塞。无法到达的功能只有在给出具体前置条件(认证、权限、操作系统、外部状态)和尝试过的路径后,才可标记为 verified-unreachable;若地图遗漏了该前置条件,即为漂移。来自分诊的任何脚手架修复在提交前都要重新实时驱动。最终拆除发生在本次运行最后一次驱动之后——包括那些重新证明——因此没有任何东西在运行结束后继续存在(证据按技能要求保留)。
  • 分诊:用户视角描述错误或缺失 → 文档漂移,修复它。脚手架无法驱动的正常行为 → 脚手架缺口,修复它;脚手架修复遵循与生成相同的辅助规则(脚本可执行,调用方式记录在技能正文中)。应用行为确实损坏 → 产品缺口;为用户记录,不纳入本 PR。
  • 提交或停止:changed 时提交一个包含已验证修正的 PR,提交前先重读每个被修改的文件。clean 或 blocked 时不提交 PR,如实报告结果与覆盖情况。

使用方式

在 Codex 上,遵循本技能前先阅读平台映射(包括其逐技能说明)。在 GitHub Copilot 上,同样先阅读平台映射(包括其逐技能说明)。运行结果需明确说明属于以下哪一种:

  • clean — 每个功能都获得源码与实时覆盖;没有值得提交的内容。不建分支,不提 PR。
  • changed — 一个 PR 提交已验证的文档、脚手架或地图修正。
  • blocked — 覆盖无法完成,或已验证的修复无法安全提交。需准确说明是什么阻塞了它。

适用场景

适用于维护由 /create-verification-skill 生成或任何带功能地图的项目本地验证技能,在应用发生变更后周期性执行,以保持验证技能与功能地图的诚实性。

限制

  • 编辑范围仅限验证技能自身目录(其 SKILL.md、features/ 及自有脚手架脚本)。
  • 运行期间绝不编辑产品代码:地图描述而应用已不再执行的行为,要么是文档漂移(修正地图),要么是产品回归(报告它,不要在文档中掩盖)。
  • 保持简洁的运行笔记(覆盖的功能、不可达的前置条件、确认的漂移、结果)放在临时位置,不要提交。
  • 关于平台映射的具体内容、收费、价格、平台支持范围等,资料暂未提供。