用途
sync-claude 用于在提交前校验所有与 Claude 相关的文档,确保 CLAUDE.md 文件与 skills 文档中引用的路径、代码、命令和交叉引用与代码库实际状态保持一致。
主要能力
- 支持两种模式:full(全量校验所有文档)和 changed(仅校验分支变更涉及的文档,默认模式)。
- 发现阶段:full 模式查找仓库内所有 Claude 文档,包括
**/CLAUDE.md(排除.terragrunt-cache/、.terragrunt-stack/)、.claude/skills/*/SKILL.md、.claude/skills/*/references/*.md;changed 模式通过git diff --name-only origin/main...HEAD分析分支差异,找出直接修改的 Claude 文档以及引用了变更路径的文档。 - 并行校验阶段:按校验类型组织多个 Haiku 智能体。
- Agent Group A:路径校验器(按目录划分),校验文件路径、目录路径是否存在,以及 glob 模式是否能返回结果。
- Agent Group B:代码引用校验器,校验函数/类名是否存在、行号引用是否大致准确(±10 行)、示例中的变量名是否存在于被引用文件。
- Agent Group C:命令校验器,校验
task <name>命令是否存在于 Taskfile、CLI 工具是否在 Brewfile 中、命令语法是否有效(安全时进行 dry-run)。 - Agent Group D:交叉引用校验器,校验 CLAUDE.md 中的 skill 引用与实际 skills 是否匹配、表格条目与实际目录是否匹配、runbook 引用是否存在。
- 聚合阶段:将所有智能体的结果汇总为统一报告,按严重程度(CRITICAL / WARNING / INFO)分组,显示文档路径、行号、失效引用和建议修复,并统计有效引用数量。
- Opus 复核阶段:由 Opus 智能体审查聚合结果,按影响程度排序,为每个问题生成建议修改,并呈现最终变更列表供批准。
使用方式
- 模式选择逻辑:若用户指定模式则使用指定模式;否则若在 main 分支则使用 full 模式;否则若分支领先 origin/main 有提交则使用 changed 模式;否则使用 full 模式(无变更可分析)。
- 发现阶段使用
.claude/skills/sync-claude/scripts/中的discover-claude-docs.sh(或discover-claude-docs.sh --changed)枚举文件,并对每个文件运行extract-references.sh获取路径引用、目录引用、命令、skill 引用和 CLI 工具的结构化 JSON。 - 校验结果在提出编辑前先呈现问题,最终修改需用户批准后应用。
适用场景
- 在提交前对 Claude 相关文档进行一致性校验。
- 在分支开发中仅校验受变更影响的文档。
- 在 main 分支或需要全面检查时进行全量校验。
限制
- 扫描时始终排除
.terragrunt-cache/、.terragrunt-stack/、node_modules/、.git/、*.rendered/。 - 若某个智能体失败,会记录失败上下文、继续其他智能体,并将受影响的校验标记为 "INCOMPLETE",纳入最终报告供人工审查。
- 行号引用校验仅要求大致准确(±10 行)。
- 命令语法校验仅在安全时进行 dry-run。
- 具体安装方式、收费与价格信息暂未提供。