关于 mb-verify
mb-verify 是用于检查已完成任务是否符合验收标准的技能,并记录证据和 PASS、FAIL 或待澄清结论。它面向需要可追溯验证与后续处理建议的任务流程。
主要功能
- 01逐项核对验收标准
- 02记录验证证据与结论
- 03按任务层级选择记录方式
- 04提供后续状态建议
- 05失败时创建缺陷与后续任务
适用场景
- 01实现完成后确认验收标准是否满足
- 02为任务结案准备验证记录
- 03发现不符合项并安排后续修复
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ mrvladd-d/ memobank --skill mb-verify安装后在 Claude Code 中输入/mb-verify确认已加载。
附带文件agents/verifier.md
详细介绍
mb-verify — 验证器循环(验收 → 证据 → 判定)
- **作用:**根据验收标准检查已完成的任务,并记录结果及证据。
- **适用时机:**实现已完成,且你需要明确的 PASS、FAIL 或部分通过判定时。
- 输入:
TASK_ID、验收标准来源和任务协议文件。 - 输出:
verification.md、证据文件、验证判定,以及标准未通过时建议的后续状态/跟进缺陷。
目标
进行相对独立的验证,避免“未经验证就轻信”。
这不是对抗式语义审查。
如果任务可能满足 AC/REQ,但实质上仍有错误,请继续运行 /red-verify / mb-red-verify。
状态转换模式
状态转换有两种模式。
调度器模式:
/autopilot和/autonomous负责任务状态转换。- 调度器决定是否符合关闭、失败或阻塞条件。
/execute返回范围明确的实现交接;不会关闭任务。/verify提供功能判定/证据;在调度器模式下,不会关闭、标记失败、阻塞或提升任务。/red-verify为 T2/T3 提供语义判定;在调度器模式下,不会关闭、标记失败、阻塞或提升任务。/mb-sync在调度器提供关闭/失败/阻塞决定后记录/协调状态。它本身不决定是否关闭。- 根据层级策略,调度器可依据精简证据/功能 PASS 关闭 T0/T1 任务。
- 调度器关闭 T2/T3 任务前,要求
VERDICT: PASS,且SEMANTIC_VERDICT: semantic-pass。 - 调度器关闭 T3 任务还要求精确标记
HUMAN_CHECKPOINT: done和ROLLBACK_RECOVERY_NOTE: present。
手动模式:
- 预期的 T0/T1 简单流程:
/execute -> /verify。 - 只有明确指定了关闭负责人时,才允许手动关闭。
- 功能
VERDICT: PASS且证据已齐全后,可将 T0/T1 标记为done。 - T2/T3 不得仅凭
/verify PASS就视为最终done;应运行/red-verify,并要求SEMANTIC_VERDICT: semantic-pass,然后才能最终关闭/运行/mb-sync。 - 如果必需的 T2/T3
/red-verify返回的结果不是semantic-pass,则应将关闭状态留为待处理或阻塞,而不是标记为 done;可选的 T0/T1 red-verify 不会提高其常规的基于验证结果的关闭要求。 - 手动模式下的
semantic-concern意味着:未经人工审查/跟进,不要信任现有的done状态。 - 不要在同一次任务运行中混用调度器模式和手动模式。
- 不使用持久化的
mode字段。
输入
TASK_ID(例如TASK-123)- 通过
.memory-bank/tasks/index.json和.memory-bank/tasks/<TASK_ID>.task.json获取的权威任务记录 - 该任务记录中必需的
tier: T0|T1|T2|T3 - 验收标准链接:
.memory-bank/features/FT-*和/或.memory-bank/requirements.md(REQ ID)
- 协议计划链接:
.protocols/<TASK_ID>/plan.md
如果存在,还应使用:
- 任意层级关联的权威 SDD 规范
verification_targetsnormative_inputsconstraintsinvariants- 任务记录中对源文件的引用
权威 SDD 规范链接是指任务的扩展字段或关联功能中的 spec_design_links,且链接指向 .memory-bank/spec-index.md、.memory-bank/tech-specs/、.memory-bank/architecture/、.memory-bank/contracts/、.memory-bank/domains/、.memory-bank/states/、.memory-bank/adrs/、.memory-bank/testing/ 或 .memory-bank/runbooks/。
前置条件
- 实现已完成,并已运行门禁(或已记录失败)。
.memory-bank/tasks/index.json中列有目标任务记录,且索引中的.task.json与请求的TASK_ID相符。- 验证路由仅以
task.tier为准;旧的risk/risk.level模型无效。
必需输出
T0/T1:验证记录可以简明地保存在.protocols/<TASK_ID>/run.md中。T2/T3:使用以下模板更新(或创建).protocols/<TASK_ID>/verification.md:./references/shared-protocols-verification-template.md
- 将证据保存在
.tasks/<TASK_ID>/中:- 日志、截图、视频、复现步骤
- 在任务记录的
verify字段中添加已完成的证据条目;evidence_required和verification_targets是要求/目标,本身不能作为证明。 - 在任何命令将
status: done之前,任务记录的verify字段必须包含已完成的验证/证据条目。
状态归属
mb-verify负责验证证据和VERDICT: PASS|FAIL|NEEDS-CLARIFICATION。- 由
/autopilot或/autonomous调用时,不得关闭任务、设置status: done、设置status: failed、阻止依赖任务或提升依赖任务。它应向调度器报告建议的下一状态。 - 在独立/手动模式下,只有明确拥有关闭权限时,才能在功能性
VERDICT: PASS后将T0/T1任务标记为done。 - 对于
T2/T3,mb-verify会记录功能性证据和关闭建议,但必须先由mb-red-verify判定语义检查通过,才能最终关闭。
流程
1) 仅预备所需内容
阅读:
.memory-bank/tasks/index.json- 索引指向的
.memory-bank/tasks/<TASK_ID>.task.json .protocols/<TASK_ID>/context.md.protocols/<TASK_ID>/plan.md.protocols/<TASK_ID>/progress.md- 验收标准来源文档
- 当任务记录或关联功能包含 SDD 规范链接时,阅读
.memory-bank/spec-index.md和所有链接的权威 SDD 规范;任何等级的任务均适用
验证前,检查权威任务记录:
- 任务存在于
.memory-bank/tasks/index.json - 索引记录中的
id与TASK_ID一致 - 验证所需字段齐全(
status、feature、reqs、depends_on、gates、verify) - 存在
tier;若缺失,则停止 - 对于
T2/T3,任务扩展字段、功能的spec_design_links或spec-index.md中必须包含关联的 SDD 规范;若缺失,则停止并转交/spec-improve或/spec-auto
不得仅因缺少 SDD 规范链接而阻止 T0 / T1。
如果权威任务记录缺失或无效,应停止并报告问题,不要仅依据协议文档进行验证。
优先级:
- 存在时,适用于任何等级任务的关联权威 SDD 规范
- 明确的
Verification Targets - 明确的
Normative Inputs - 传统功能验收标准和 RTM
.tasks/<TASK_ID>/中的证据
扩展字段缺失或没有 SDD 规范链接,不得阻止对传统 T0 / T1 任务的验证。
2) 验证验收标准
对于每项 AC / REQ:
- 执行最小但有意义的检查
- 优先采用确定性检查(测试/CLI),而非仅凭“看起来没问题”
- 记录所做的检查并链接证据
如果任务会更改 UI 或浏览器行为:
- 优先使用 Playwright / agent-browser / CDP 驱动的验证
- 在有用时捕获截图/视频/跟踪记录
- 将产物保存在
.tasks/<TASK_ID>/中 - 若可使用浏览器自动化,不要将“我手动点击查看了一下”作为主要证据
3) 判定
如果有任何项失败:
- 设置
VERDICT: FAIL - 在
.memory-bank/bugs/BUG-<short>.md中创建缺陷文档 - 添加后续
.task.json,并在需要时更新.memory-bank/tasks/index.json - 建议当前任务的
status: failed - 在调度器模式下,不要直接阻塞下游依赖项;将该建议返回给调度器
如果全部通过:
VERDICT: PASS- 在
verify中添加已完成的验证/证据条目 - 按层级应用状态:
- 调度器模式:建议调度器作出决策;不要关闭/标记失败/阻塞/提升任务
- 手动模式:在功能性
VERDICT: PASS且明确指定关闭责任方后,可将T0/T1的status设为done;对于T2/T3,将关闭状态保留为待/red-verify返回SEMANTIC_VERDICT: semantic-pass
- 在调度器模式下,只有
/red-verify/mb-red-verify返回semantic-pass后,才可以最终关闭T2/T3
4) 同步建议
- 记录 RTM/功能生命周期建议,供
/mb-sync使用 - 不要自行执行调度器关闭操作,也不要阻塞/提升依赖项
完成定义
- 验证输出已生成且有证据支持:符合条件的
T0/T1使用精简版run.md,T2/T3使用完整的verification.md。 - PASS 验证已更新 RTM/任务证据;在
/red-verify/mb-red-verify生成semantic-pass之前,不得关闭T2/T3任务。 - FAIL 任务已有缺陷文档和后续步骤。
评论
支持 Markdown