plugins/tools/task/skills/verify/SKILL.md
验收校验。exec 完成后触发,对照子任务标准和任务级 SMART-V 标准逐一检查,基于命令输出和文件内容等实际证据判定通过/失败
npx skillsauth add lazygophers/ccplugin plugins/tools/task/skills/verifyInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
对照验收标准和项目现状逐一检查。所有验证必须基于实际证据,不接受假设或主观判断。
| 来源 | 文件 | 粒度 |
|------|------|------|
| align | align.json → acceptance_criteria | 任务级(整体是否达标) |
| plan | task.json → 每个 subtask 的 acceptance_criteria | 子任务级(每个是否完成) |
| context | context.json → code_style、toolchain | 项目现状基准 |
读取 task.json,逐个检查子任务:
读取 align.json,对照任务级验收标准逐条验证。每条标准需要通过命令执行、文件读取、搜索等方式获取客观证据。
每个验收点必须附带具体证据:
| 证据类型 | 获取方式 | 示例 |
|---------|---------|------|
| 命令输出 | 执行 pytest tests/ -v | 5 passed, 0 failed |
| 文件内容 | 读取文件并引用关键行 | 第42行: validate_token() 已添加 |
| 搜索结果 | Grep 搜索特定模式 | 无 TODO/FIXME 标记 |
| diff 对比 | 执行 git diff HEAD | +3 files changed, 45 insertions |
无证据 = 未验证。禁止基于"应该没问题"的推断判定通过。
评分分为两层:自动检查(基于命令输出的客观指标)和对齐评估(基于 align 内容的主观判定)。
通过执行命令获取客观结果,每项 pass / fail / skip。这些检查项根据项目实际情况自动确定,常见项包括但不限于:
| 检查项 | 方法 | 判定 | |--------|------|------| | 测试通过 | 执行 toolchain.test_command | 退出码 0 = pass | | Lint 通过 | 执行 toolchain.lint_command | 无新增错误 = pass | | 类型检查 | 执行类型检查命令(如有) | 无新增错误 = pass | | 构建成功 | 执行 toolchain.build_command(如有) | 退出码 0 = pass | | 无回归 | 执行完整测试套件 | 无新增失败 = pass | | 无风险模式 | Grep 搜索硬编码密码/SQL拼接/eval | 无匹配 = pass | | 无半成品 | Grep 搜索 TODO/FIXME/HACK | 无新增 = pass |
自动检查项由 verify agent 根据 context.json 的 toolchain 和修改的文件类型动态决定。没有对应工具链的项标记 skip。
自动检查不独立评分,其结果作为第二层对齐评估的客观证据输入。
基于 align.json 的目标/标准/边界 和 context.json 的项目现状,对执行结果进行六个维度的评分。每个维度 0-10 分,必须给出扣分原因和证据(可引用第一层的自动检查结果)。
维度 1:项目现状符合度(权重 15%)
执行结果是否与项目当前状态一致。
评分依据:对照 context.json 的 dependencies 和 toolchain,引用构建命令的自动检查结果。
维度 2:风格一致性(权重 15%)
执行结果是否遵循项目现有代码风格。
评分依据:对照 context.json 的 code_style 和 align.json 的 code_style_follow,引用 lint 的自动检查结果,读取修改的文件与同目录文件对比。
维度 3:需求符合度(权重 25%)
执行结果是否满足 align.json 中定义的任务目标和验收标准。
评分依据:逐条对照 acceptance_criteria,每条未满足扣 2-3 分。引用测试命令的自动检查结果。
维度 4:实现完备性(权重 20%)
任务是否被完整实现,没有遗漏。
评分依据:检查 task.json 中子任务 status,引用半成品搜索的自动检查结果。
维度 5:任务偏离度(权重 15%)
执行结果是否偏离了原始任务目标。
评分依据:对照 task_goal 和 boundary.in_scope,执行 git diff --name-only 对比。
维度 6:范围越界度(权重 10%)
是否做了任务以外的事情。
评分依据:执行 git diff --stat 对照 out_of_scope 和 in_scope。
总分 = 各维度得分 × 权重 之和(满分 10 分)
| 总分 | 判定 | flow 行为 | |------|------|----------| | ≥ 8.0 | 通过 | 进入 done | | 6.0 - 7.9 | 边界 | 展示评分明细,由用户决定通过或继续迭代 | | < 6.0 | 不通过 | 自动进入 adjust,携带低分维度作为失败原因 |
返回结构包含两层数据:
{
"status": true,
"total_score": 8.5,
"auto_checks": [
{"name": "测试通过", "result": "pass", "evidence": "pytest: 12 passed, 0 failed"},
{"name": "Lint 通过", "result": "pass", "evidence": "ruff: no errors"},
{"name": "无半成品", "result": "pass", "evidence": "grep TODO: 0 matches"}
],
"dimensions": {
"项目现状符合度": {"score": 9, "weight": 0.15, "evidence": "构建通过,依赖一致", "deductions": "无"},
"风格一致性": {"score": 8, "weight": 0.15, "evidence": "lint 无新增错误", "deductions": "1处命名用了camelCase"},
"需求符合度": {"score": 9, "weight": 0.25, "evidence": "5/5 标准通过", "deductions": "无"},
"实现完备性": {"score": 8, "weight": 0.20, "evidence": "3/3 子任务完成", "deductions": "1处缺少边界检查"},
"任务偏离度": {"score": 9, "weight": 0.15, "evidence": "所有修改在 in_scope 内", "deductions": "无"},
"范围越界度": {"score": 8, "weight": 0.10, "evidence": "无额外文件修改", "deductions": "添加了1个辅助函数"}
},
"evidence_summary": "总体质量良好,5/5 验收标准通过",
"low_dimensions": []
}
auto_checks:自动检查的客观结果,pass / fail / skipdimensions:六维对齐评估,每维 0-10 分low_dimensions:得分 < 6 的维度列表,供 adjust 定位问题total_score:六维加权总分(0-10),决定通过/边界/不通过预定义的常见任务类型验证检查项见 checklist.json。
tools
--- name: trellisx-workspace description: 维护 `.trellis/task.md` 任务看板 —— trellis 缺的跨任务总览。**一个表格, 一行一个任务**, 列为 id/名称/描述/状态/阶段/进度/worktree (状态/阶段中文显示)。在 task create/start/阶段切换/archive 后**及时更新**对应行; 并**自动清理超 7 天的已完成行**防膨胀。保持看板与 task.json 实时一致。 when_to_use: 维护 / 创建 / 更新 `.trellis/task.md` 任务看板时; task 生命周期任一节点 (create/start/阶段推进/archive) 之后同步看板时; 用户问"当前有哪些任务 / 任务进度 / 任务看板"时。被 trellisx-flow 与 trellisx-apply 注入的流程引用。 user-invocable: true argument-hint: [show|update|sync|cleanup ...] [task id] arguments:
testing
强制以 Trellis task 闭环处理用户指定的请求 (自判新建/并入 → plan→exec→check→finish 全程不跳步)。**仅用户显式主动调用** (/trellisx-flow 或明确要求"强制走 task 处理这个"); **禁止自动 / 被动 / 推断式调用** —— 不要因为某个请求"看起来该建 task"就自动触发本 skill, 那是 apply 注入的 no_task 倾向的职责。
testing
把 强推task + subtask拆分 + worktree隔离 + 闭环收尾 四维度增量注入当前项目 .trellis/ (workflow.md 的 no_task/planning/in_progress 块 + spec 背书文档 + trellis 生命周期 hook worktree 自动化)。强推 task 与闭环为纯 prompt 软约束 (非平台 hook 硬拦截)。**纯增量追加, 绝不替换 trellis 原生文本** (no_task 分类+征同意/check/finish/前缀全保留)。幂等 (marker 包裹)。
development
Claude Code 会话历史整理 — 扫 ~/.claude/projects/**/*.jsonl 全部 session transcripts, 提取学习增量 (用户校正/决策/踩坑/L0 规则) → 全局记忆库 ~/.cortex/.wiki/memory/. 默认 --apply 落盘 (--dry-run opt-in 仅出 JSON plan 预览). 与 cortex-extract (L4-inbox 内部) 互补.