用途
validate-cc 是一个 Claude Code 配置质量校验技能。它根据发现结果对 CC 配置质量进行验证,输出 PASS/FAIL 与统计信息。其目标是对项目中实际存在的配置项进行校验,对于不存在的类别(例如缺少 .claude/agents/)会自动从报告中省略。
对应规则规范包括:docs/specs/rule-writing.md、docs/specs/skill-design.md、docs/specs/agent-design.md、docs/specs/settings-design.md 等(完整清单见文末“规范引用”)。
输入方式
- 目标目录:当前项目根目录(自动检测)
- 无需额外输入
执行逻辑为:先检测当前项目根目录(通过 Glob 搜索 CLAUDE.md 或 .claude/),发现存在的类别,再使用 Read/Glob/Grep 逐项校验,逐项判定 PASS/WARN/FAIL 并统计,确定等级,最后生成改进建议。
主要校验能力
校验分为七个类别,每类包含若干校验项,并标注证据类型(CC_OFFICIAL、EMPIRICAL、INDUSTRY_STD)。
1. CLAUDE.md
- 存在性(EXISTS):CLAUDE.md 文件存在。CC_OFFICIAL(CC 会在会话开始时自动将 CLAUDE.md 加载进上下文)。
- 结构(STRUCTURE):包含 Tech Stack 或 Architecture 模式。EMPIRICAL。
- 技术深度(DEPTH):包含 3 个或以上 ## 章节。EMPIRICAL。
2. Rules
- 目录(DIR):.claude/rules/ 存在。CC_OFFICIAL(CC 自动加载 rules/ 目录下的 .md 文件)。
- 文件数量(FILES):2 个或以上 .md 文件。EMPIRICAL。
- WHY/CONSTRAINT(META):包含 WHY 或 CONSTRAINT 的规则比例。EMPIRICAL。
- 作用域(SCOPING):指定了 paths:、scope: 或 applicable-scope。EMPIRICAL。
- 方法学规则例外:[M] 标记的规则(如 c-suite-analysis、question-principles、research 等方法学规则)不计入 Rule-Skill 比例计算。
3. Skills
- 目录(DIR):.claude/skills/ 存在。CC_OFFICIAL。
- Frontmatter(FRONTMATTER):SKILL.md 具有 YAML frontmatter(name、description)。CC_OFFICIAL。
- Rule-Skill 比例(RULE_SKILL_RATIO):skill 目录与 rule 文件的比例。EMPIRICAL。
- Gate(GATE):SKILL.md 包含 “Do not proceed” 或 “Mandatory Output” 或 “Pre-Output Checklist”。EMPIRICAL。
4. Agents
- 目录(DIR):.claude/agents/ 存在。CC_OFFICIAL。
- 文件数量(FILES):1 个或以上 .md 文件。EMPIRICAL。
- Allowed Tools(ALLOWED_TOOLS):agent 定义了 allowed_tools 或 allowed-tools。CC_OFFICIAL。
5. Settings
- 存在性(EXISTS):.claude/settings.json 存在。CC_OFFICIAL。
- Deny(DENY):deny 键且包含 .env 或 rm -rf。CC_OFFICIAL(deny 优先于 allow,可可靠阻止危险操作)。
- Hook(HOOK):存在 PreToolUse 或 PostToolUse。CC_OFFICIAL。
6. README.md
- 存在性(EXISTS):README.md 文件存在。INDUSTRY_STD。
- 内容(CONTENT):包含 3 个或以上 ## 章节。INDUSTRY_STD。
7. Commands
- 目录(DIR):.claude/commands/ 存在。CC_OFFICIAL。
- 命名(NAMING):自描述名称(对缩写、“and” 给出警告)。EMPIRICAL。
- 单一动作(SINGLE_ACTION):无分支/循环逻辑(if/else、for each)。EMPIRICAL。
输出与结果
强制输出项为“类别校验矩阵”,在等级计算之前输出。每格都必须填写,若任一格为空则不得进入评级。矩阵列包括:Category、Status、Items Checked、Pass、Warn、Fail、Evidence。
Status 取值:PASS(校验通过)、NOT_APPLICABLE(类别目录未找到,从报告中省略)、SKIPPED(插件问题)、SHALLOW(部分检查)。
等级标准:
- 0 失败、0 警告 → Excellent(CC 配置成熟,可支撑一致的 AI 协作)
- 0 失败 → Good(基本结构就位,但部分领域需加强)
- 1-2 失败 → Needs Improvement(核心配置缺失,AI 行为不一致)
- 3+ 失败 → Poor(CC 配置近乎 отсут,AI 必须猜测一切)
最终报告示例格式包括各类别的 [PASS]/[WARN]/[FAIL] 标记、逐项 [v]/[!]/[x] 图标、总计与等级,以及改进建议条目。图标约定:
- [PASS] 整体通过(0 失败项)
- [WARN] 存在警告(0 失败、1+ 警告)
- [FAIL] 存在失败(1+ 失败项)
- [v] 项通过;[!] 项警告;[x] 项失败
输出前检查清单
在最终输出前须逐项核对:每个类别都分配了 Status 值(Status 单元格无空值);Status 不为 NOT_APPLICABLE 的每个类别都有 Evidence 值;不存在的类别 Status 为 NOT_APPLICABLE;等级计算与等级标准表一致;报告语言与用户对话语言一致。
Schema 合规与持久化
在写入 .ww-w-ai/standards/ 之前需进行校验:schema.json 中所有 “required” 字段存在且非空;categories[] 数组长度与所检查类别数一致;summary.total == summary.passed + summary.warnings + summary.failures。
生成校验报告后,将结果持久化到 .ww-w-ai/standards/validate-cc/:
- 若目录不存在则创建 .ww-w-ai/standards/validate-cc/ 目录
- 写入 latest.json —— 遵循 templates/schema.json 的结构化结果
- 写入 latest.md —— 遵循 templates/report.template.md 的人类可读报告
- 归档到 history/ —— 将 latest.json 复制为 .ww-w-ai/standards/validate-cc/history/{timestamp}.json
latest.md 以用户对话语言生成;JSON 字段名始终为英文。JSON 输出支持机器可解析的历史追踪与跨运行比较;history/ 目录保留先前运行记录以便趋势分析。
权限说明
- Write:限于 .ww-w-ai/standards/ 输出持久化,不修改项目源码。
- Bash:限于只读的 git/系统查询,不修改文件。
备注:Bash 被允许用于目录创建(mkdir -p .ww-w-ai/standards/validate-cc/history)和 Grep 模式匹配。详细的改进指导由 /audit 技能提供。
规范引用
详细校验标准、证据表与示例对应的规则规范文件:../../docs/specs/rule-writing.md、../../docs/specs/skill-design.md、../../docs/specs/agent-design.md、../../docs/specs/settings-design.md、../../docs/specs/claude-md-design.md、../../docs/specs/readme-design.md、../../docs/specs/commands-design.md。证据索引:../../docs/evidence/evidence-registry.md。
限制
资料中未提供该工具的具体收费、价格、平台支持范围等信息,暂未提供。其校验范围仅限于上述七个类别及对应校验项,且只针对项目中已存在的配置类别生成结果。