Skip to content

/docaudit

文档体系审计。检查文档完整性、索引一致性和规范合规性。

文档体系审计

分工声明

确定性检查(索引一致性 / 编号连续 / 断链 / frontmatter 必填)已由 doc-governance 组件承担:

  • 项目根存在 doc-governance.config.mjs 时 → 先运行该组件并引用其输出,跳过本 skill 中对应的步骤 1(索引一致性)、2(编号连续性)、5(交叉引用)、6 的 frontmatter 必填部分
  • 组件不在时 → 按下述旧步骤人工检查,作为 fallback

语义检查(步骤 8)无法机器化,任何情况下都由本 skill 执行。

步骤

  1. 索引一致性检查

    • 读取 docs/design/README.md 索引表
    • 扫描 docs/design/ 目录下所有 *.md 文件(排除 README.md 和 CHANGELOG.md)
    • 比对:索引中列出但文件不存在的条目 → 报错
    • 比对:文件存在但索引中未列出的条目 → 报错
  2. 编号连续性检查

    • 提取所有文档的编号前缀(00, 01, 02...)
    • 检查是否有跳号或重号
  3. CHANGELOG 时效性检查

    • 读取 docs/design/CHANGELOG.md
    • 检查最新条目的日期是否为最近 7 天内
    • 如果最近有 git 提交修改了 docs/design/ 下的文件,但 CHANGELOG 未更新 → 警告
  4. 文档行数检查

    • 统计每篇文档的行数
    • 超过 500 行的文档 → 警告,建议拆分
  5. 交叉引用检查

    • 扫描文档中的内部链接([xxx](./yy-zzz.md)
    • 检查链接目标是否存在
  6. 知识沉淀检查(如目录存在)

    • docs/research/docs/troubleshooting/ 下的文件是否都在对应 README.md 索引中
    • 文件 frontmatter 是否包含 titledatetags 三个必填字段

    参考 doc-22 项目知识沉淀机制 §6

  7. N/A 章节合规检查(v1.2 新增,对齐产品文档体系方法论 §5.0)

    • 扫描 docs/ 下所有设计类 *.md(spec / product-spec / design-spec / prd / test-spec / ops-spec / features / sitemap / user-flows / constitution / tech-stack / CLAUDE.md)
    • 定位 N/A 章节:标题含「N/A」或正文首段以 "N/A" 开头
    • 反模式自动检测(违反 §5.0 禁令):
      • 章节正文仅写「(略)」「(skip)」「同上」「无」「TBD」 → 错误
      • 章节为空(标题下无内容直到下一个章节标题) → 错误
      • N/A 章节但缺「理由」(无 constitution / tech-stack 引用,无 #X 锚点) → 警告
      • N/A 章节但缺「升级条件」(无 "触发条件" / "什么变化让它重新适用" 类语句) → 警告
    • 合规要求(参考 prompt-hub test-spec.md §6 好例子):N/A 章节必须含 a) 显式声明 "N/A" b) 理由 + 禁令源(链回 constitution / tech-stack) c) 替代方案(如有) d) 升级条件(什么变化让它重新适用) e) 盲区编号反向链(项目维护盲区登记表时;否则可省略)
  8. 语义检查(无法机器化,本 skill 的存在理由)

    • 愿景/事实混写检测:设计文档中描述的机制是否在本项目实际运行?逐个核对(查代码 / 配置 / git 记录),未运行的机制必须标注状态——「已运行」/「已定义未回填」/「愿景」;描述成既成事实但实际未运行且无状态标注 → 警告
    • 字段语义腐化:frontmatter description 超过 120 字符 → 警告;status 字段含版本叙事(如 "v1.2 已完成 xxx",状态字段被当 changelog 用)→ 警告
    • status 僵尸:plan / ADR 的状态与 git 近期活动明显矛盾(如状态为 pre-code / Proposed,但对应模块已有大量实现提交)→ 警告

输出格式

## 文档审计报告

### 通过 ✓
- [列出通过的检查项]

### 警告 ⚠
- [列出警告项,附具体位置和建议]

### 错误 ✗
- [列出必须修复的问题]

### 统计
- 文档总数:N 篇
- 总行数:N 行
- 平均行数:N 行/篇
- 最长文档:xx-xxx.md(N 行)
- N/A 章节数:N(合规 X / 警告 Y / 错误 Z)

IMPORTANT:客观报告,不美化。有问题就直说,没有问题就确认通过。

面向个人开发者的 AI 辅助编程工程化方案