mcpField
D
doc-maintenance

doc-maintenance

github.com/paperclipai文档处理108.3k238 次安装今天更新
代码仓库

关于 doc-maintenance

用于维护文档的技能,会对照仓库变更审查 README、SPEC 和 PRODUCT,并通过 PR 做最小限度的准确性修订。适合希望发现文档偏差、避免大幅重写的团队。

主要功能

  1. 01扫描审查游标之后的提交
  2. 02分类相关仓库变更
  3. 03审查三个目标文档
  4. 04进行最小化事实修订
  5. 05创建文档 PR
  6. 06更新审查游标

适用场景

  1. 01主要功能合并后检查文档
  2. 02定期审计文档准确性
  3. 03修正仍标为计划中的已发布功能

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/paperclipai/paperclip --skill doc-maintenance

安装后在 Claude Code 中输入/doc-maintenance确认已加载。

附带文件references/audit-checklist.mdreferences/section-map.md

详细介绍

文档维护技能

检测文档偏差并通过 PR 修复——不重写,不引入不必要的改动。

使用场景

  • 定期审查文档(例如每周一次或在发布后)
  • 重大功能合并后
  • 有人询问“我们的文档是最新的吗?”
  • 有人要求审查 README / SPEC / PRODUCT 的准确性

目标文档

文档路径关注点
READMEREADME.md功能表、路线图、快速入门、“是什么”的准确性、“适用于”表格
SPECdoc/SPEC.md不存在错误的“不支持”声明,主要模型/架构的准确性
PRODUCTdoc/PRODUCT.md核心概念、功能列表、原则的准确性

范围之外:DEVELOPING.md、DATABASE.md、CLI.md、doc/plans/、技能文件、 发布说明。这些面向开发者或具有时效性——引起用户困惑的风险较低。

工作流

第 1 步——检测变更

查找上次审查游标:

# Read the last-reviewed commit SHA
CURSOR_FILE=".doc-review-cursor"
if [ -f "$CURSOR_FILE" ]; then
  LAST_SHA=$(cat "$CURSOR_FILE" | head -1)
else
  # First run: look back 60 days
  LAST_SHA=$(git log --format="%H" --after="60 days ago" --reverse | head -1)
fi

然后收集游标之后的提交:

git log "$LAST_SHA"..HEAD --oneline --no-merges
第 2 步——分类变更

扫描提交消息和变更文件。归类为:

  • 功能——新增能力(关键词:feat、add、implement、support)
  • 破坏性变更——移除/重命名内容(关键词:remove、breaking、drop、rename)
  • 结构性变更——新目录、配置变更、新适配器、新 CLI 命令

**忽略:**重构、仅测试的变更、CI 配置、依赖升级、仅文档变更、 样式/格式调整提交。这些不会影响文档准确性。

对于难以判断的情况,检查实际差异——标题为“refactor: X”的提交 如果添加了新的公共 API,就属于功能变更。

第 3 步——汇总变更

生成简洁的列表,例如:

Since last review (<sha>, <date>):
- FEATURE: Plugin system merged (runtime, SDK, CLI, slots, event bridge)
- FEATURE: Project archiving added
- BREAKING: Removed legacy webhook adapter
- STRUCTURAL: New .agents/skills/ directory convention

如果没有值得注意的变更,跳到第 7 步(更新游标并退出)。

第 4 步——审查每份目标文档

完整阅读每份目标文档,并与变更摘要交叉核对。检查以下内容:

  1. 遗漏已发布功能——完全没有提及的重大已发布功能
  2. 过时信息——已发布的功能仍被列为“即将推出”/“路线图”/“计划中” /“不支持”/“待定”
  3. 快速入门准确性——安装命令、先决条件和启动说明是否仍然正确(仅 README)
  4. 功能表准确性——功能部分是否反映了当前能力?(仅 README)
  5. 兼容性准确性——受支持的适配器/集成是否都正确列出?

使用 references/audit-checklist.md 作为结构化检查清单。 使用 references/section-map.md 了解各功能领域对应的查阅位置。

第 5 步——创建分支并应用最小改动
# Create a branch for the doc updates
BRANCH="docs/maintenance-$(date +%Y%m%d)"
git checkout -b "$BRANCH"

仅应用修复偏差所需的改动。规则:

  • **仅做最小改动。**修正不准确之处,不要重写章节。
  • **保持语气和风格。**符合各文档现有的语气。
  • **不做外观调整。**不要修正拼写错误、重新格式化表格或重组章节, 除非这些改动属于事实修正的一部分。
  • **不添加新章节。**如果某项功能需要新增完整章节,请在 PR 描述中注明后续处理——不要在维护审查中添加。
  • **路线图项目:**将已发布的功能移出路线图。如果现有章节尚未提及,则在适当章节中简要提及。不要添加冗长描述。
第 6 步——创建 PR

提交变更并创建 PR:

git add README.md doc/SPEC.md doc/PRODUCT.md .doc-review-cursor
git commit -m "docs: update documentation for accuracy

- [list each fix briefly]

Co-Authored-By: Paperclip <[email protected]>"

git push -u origin "$BRANCH"

gh pr create \
  --title "docs: periodic documentation accuracy update" \
  --body "$(cat <<'EOF'
## Summary
Automated doc maintenance pass. Fixes documentation drift detected since
last review.

### Changes
- [list each fix]

### Change summary (since last review)
- [list notable code changes that triggered doc updates]

## Review notes
- Only factual accuracy fixes — no style/cosmetic changes
- Preserves existing voice and structure
- Larger doc additions (new sections, tutorials) noted as follow-ups

🤖 Generated by doc-maintenance skill
EOF
)"
第 7 步——更新游标

成功完成审查后(无论是否需要编辑),更新游标:

git rev-parse HEAD > .doc-review-cursor

如果进行了编辑,游标更新已提交到 PR 分支。如果不需要编辑,则将游标更新提交到当前分支。

变更分类规则

信号类别是否需要更新文档?
消息中包含 feat:、add、implement、support功能如果面向用户,则需要
消息中包含 remove、drop、breaking、!:破坏性变更需要
新增顶层目录或配置文件结构性变更可能需要
fix:、bugfix修复不需要(除非会改变文档中描述的行为)
refactor:、chore:、ci:、test:维护不需要
docs:文档变更不需要(已处理)
仅更新依赖项维护不需要

补丁风格指南

  • 修正事实,不要改写措辞
  • 移除路线图条目时,不要留下空缺——直接删除该条目
  • 添加功能说明时,沿用周边条目的格式 (例如,如果功能采用表格列出,就添加一行表格)
  • README 的更改应尽量精简——不应频繁变动
  • 对于 SPEC/PRODUCT,优先更新现有描述,而不是添加新内容 (例如,将“V1 中不支持”改为“通过 X 支持”,而不是添加新章节)

输出

技能完成后,报告:

  • 扫描了多少个提交
  • 发现了多少项值得注意的变更
  • 进行了多少处文档编辑(以及涉及哪些文件)
  • PR 链接(如果进行了编辑)
  • 需要进一步编写较大篇幅文档的后续事项

评论

支持 Markdown