>- 质检 Agent:检查 vibe-coding-kit 其他 Skill 的产出物是否符合治理规范。 当用户说"检查一下产出"、"帮我看看合不合规"、"质检"、"验证 PRD"、"检查项目说明书", 或在任何 Skill 完成产出后,使用此 Skill 做合规检查。 它读取项目根目录的 harness.json,逐条校验产出文件,报告违规项和修复建议。 这是 vibe-coding-kit 套件的治理层(harness),确保所有产出物格式统一、质量达标。 它不止检查格式,还会做跨 Skill 一致性校验——比如 PRD 里的项目名和项目说明书里的项目名是不是一致。
npx skills add https://github.com/Junliu1066/vibe-coding-kit --skill vibe-coding-harness
这不是一个独立使用的 Skill,而是其他 Skill 的"守门员"——在任何 Skill 声称"完成"后,用它来验证产出物是否真正符合规范。
> 治理规则来自项目根目录的 harness.json(唯一真实来源)和 CLAUDE.md(人类可读宪法)。
> 本 Skill 把这些规则变成逐条可执行的检查项。
先确认用户想检查什么:
docs/ 下所有已有产出物docs/ 不存在或为空,直接报告"没有可检查的产出物"读取项目根目录的 harness.json,提取:
produces(该产出什么文件)required_sections(必须包含的章节)field_requirements(字段级校验规则)validation(内容级校验规则)cross_skill_rules(跨 Skill 一致性规则,仅在多 Skill 产出共存时检查)quality_gates.before_delivery(交付前必须通过的门)workflow(流程定义:阶段、步骤、entry_gate/exit_gate、账本规则)—— 用于新增的流程一致性检查progress_cards(项目进度卡规则:低上下文读取、总表/模块卡/任务卡同步)并读取 docs/进度账本.md(流程状态来源)。若不存在,流程检查记为"未启用账本"。
如果项目存在 .dsu/progress/index.md,读取该文件并按需抽查相关模块卡和任务卡;如果不存在,项目进度卡检查记为"未启用"。
按以下顺序逐项检查,每项给出通过/不通过/不适用:
对照 harness.json.workflow 和 docs/进度账本.md,核对过程有没有跑偏(不只是产出物对不对):
exit_gate 是否真的过了(防止"账本说完成、产出物却没达标")。required:false、且在账本"跳步留痕"写了理由;required:true 的步骤被跳 = 🔴 违规。docs/ 下实际存在的产出物对得上。输出:🔴 流程违规(如"S1 未过却已在 S2")/🟡 跳步未留痕、账本与进度说明书不一致/✅ 流程一致。
如果项目启用了 .dsu/progress/,对照 harness.json.progress_cards 检查:
.dsu/progress/index.md 是否存在且非空。.dsu/progress/modules/duXX-xxx.md。输出:🔴 缺少总表或状态冲突/🟡 总表过细、模块卡缺失、任务 closeout 未同步/✅ 项目进度卡可用。
对照 produces,确认每个文件是否已创建、是否非空。
对照 required_sections,在文件中搜索这些章节标题是否存在。
对照 field_requirements:
v\d+\.\d+)对照 validation:
对照 constitution.forbidden 逐条扫描:
{ } 配对、TODO、TBD 等占位符模式sk- 前缀等)prd.md 的「产品结论」与 项目说明书.md 的「需求基准描述」逐条对照 quality_gates.before_delivery。
按严重程度分组输出:
## 质检报告:{Skill 名称 / 全量检查}
### 🔴 错误(必须修复,否则产出不合格)
| # | 文件 | 规则 | 问题 | 修复建议 |
|---|------|------|------|---------|
| 1 | docs/prd.md | 版本格式 | "版本:待定"不符合 v数字.数字 格式 | 改为 "版本:v0.1" |
| 2 | docs/prd.md | 字段非空 | "产品名称"为空 | 填写实际产品名称 |
### 🟡 警告(建议修复,不阻断)
| # | 文件 | 规则 | 问题 | 修复建议 |
|---|------|------|------|---------|
| 1 | docs/prd.md | 边界声明 | "明确不做"为空,缺少边界 | 至少写一条"本版不做什么" |
### 🔵 提示(最佳实践建议)
| # | 文件 | 建议 |
|---|------|------|
| 1 | docs/项目说明书.md | 「目录结构」建议填写,方便后续维护 |
### 流程审计结果(这一版新增)
| 检查 | 状态 |
|------|------|
| 阶段按序推进 | ✅ 一致 |
| 无假完成(出口门真过) | ❌ S1 标完成但 prd 缺验收 |
| 跳步均已留痕 | 🟡 S1.5 跳过未写理由 |
| 账本与产出物吻合 | ✅ 一致 |
### 项目进度卡审计结果
| 检查 | 状态 |
|------|------|
| 总表存在且非空 | ✅ 通过 |
| 总表只放索引级信息 | ✅ 通过 |
| 模块卡按需下钻 | 🟡 DU02 指向的模块卡不存在 |
| 任务 closeout 三处同步 | ✅ 通过 |
| 状态枚举合规 | ✅ 通过 |
| 下一轮 AI 最小上下文可用 | ✅ 通过 |
### 质量门结果
| 门 | 状态 |
|----|------|
| QG-001 文件存在 | ✅ 通过 |
| QG-002 无占位符 | ❌ 未通过 |
| QG-003 无敏感信息 | ✅ 通过 |
| QG-004 版本号 | ❌ 未通过 |
| QG-005 验收可验证 | ✅ 通过 |
| QG-006 语言检查 | ✅ 通过 |
### 总结
- 错误 X 项,警告 Y 项,提示 Z 项
- 质量门:A/B 通过
- 判定:❌ 不合格,需要修复后重新质检
如果全部通过:
## 质检报告:全部通过 ✅
所有产出物符合治理规范:
- 文件齐全、章节完整、字段合规
- 质量门 6/6 通过
- 跨 Skill 一致性检查通过
可以交付。
.claude/settings.json 中的 hooks,每次写入关键文件后自动提醒| Skill | 关键检查项 |
|-------|-----------|
| vibe-coding-prd | prd.md 必须章节齐全 / 版本号格式 / 产品名称非空 / 验收标准可验证 |
| vibe-coding-requirements | 需求基准描述 80-300 字 / 覆盖四要素 |
| vibe-coding-architecture | 选定技术栈含"选定"和"否决" |
| vibe-coding-production | 安全清单逐条确认 / 验收清单是 checkbox 格式 |
| vibe-coding-survival | 以后再说清单存在 |
| (流程)进度账本 | 阶段按序、无假完成、跳步留痕、账本与产出物吻合 |
| (开发期上下文)项目进度卡 | 默认只读 index、模块按需下钻、任务 closeout 三处同步、状态枚举合规 |
CLAUDE.md 是事前预防——在 AI 开始工作前就告诉它规则harness.json 派生,保持规则一致Create new skills, modify and improve existing skills, and measure skill performance. Use when users want to create a skill from scratch, edit, or optimize an existing skill, run evals to test a skill, benchmark skill performance with variance analysis, or optimize a skill's description for better triggering accuracy.
Guide for creating effective skills. This skill should be used when users want to create a new skill (or update an existing skill) that extends Claude's capabilities with specialized knowledge, workflows, or tool integrations.
Guide for creating effective skills. This skill should be used when users want to create a new skill (or update an existing skill) that extends Claude's capabilities with specialized knowledge, workflows, or tool integrations.
Replace with description of the skill and when Claude should use it.
Use when facing 2+ independent tasks that can be worked on without shared state or sequential dependencies
This skill should be used when the user wants to "create a skill", "add a skill to plugin", "write a new skill", "improve skill description", "organize skill content", or needs guidance on skill structure, progressive disclosure, or skill development best practices for Claude Code plugins.
Helps users discover and install agent skills when they ask questions like "how do I do X", "find a skill for X", "is there a skill that can...", or express interest in extending capabilities. This skill should be used when the user is looking for functionality that might exist as an installable skill.
Use when creating new skills, editing existing skills, or verifying skills work before deployment
Take junliu1066/vibe-coding-harness from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.