cm-doc-syncer skillA
cm-doc-syncer is agent-read markdown (skill) from kingxiaozhe/cm-workflow: 文档同步 Skill,开发完成后自动更新 README、.claude/ 配置、specs CHANGELOG,保持文档与代码一致.
Indexed from public GitHub and served as immutable, content-addressed versions. Install it pinned to an exact SHA-256 with the mdr CLI, and every file is verified against the hash recorded here before it reaches your agent. The deterministic audit below grades the latest version, and the same file always earns the same grade.
What the file says
# cm-doc-syncer — 文档同步器
在所有开发任务完成后,自动同步更新项目文档。确保文档和代码保持一致。
## 触发条件
由 `/cm-ai` 在最后任务的独立审查前调用;收口阶段只核验已审文档。
## 输入
- specs 文件夹路径
- 代码项目路径(可多个)
- LESSONS.md 中积累的架构决策
- 本 specs 批次全部 feature/task 的原始改动证据、开工快照和最后任务的批准文档写范围
## 执行步骤
### 1. 扫描变更
对每个代码项目,先读其 CLAUDE.md「版本控制」字段,按值选变更识别方式(显式分支,不得自行发明):
- `remote` / `local` → `git diff {基线}..HEAD` 获取已提交候选;基线先取上一份 CHANGELOG 的 `base-commit`,无则取已确认的 scaffold/初始 commit。无法确认时记录基线缺口,改用下述本批次任务证据,不把全量文件当变更集
- `none` 或项目无 `.git` → 用本批次 handoff/diff 和开工快照定位文件,再核实当前内容;tasks 只确定任务清单,不能仅凭勾选项推断真实改动
- 字段缺失但有 `.git` → 按 `local` 处理
**本轮范围是当前 specs 批次的全部 feature/task,恢复后仍按同一批次;不等于最后一个任务。**
从有效批准清单、tasks 和各任务已有 handoff/diff 记录汇总变更路径;旧任务只读已绑定记录,
最后任务使用正在定稿的真实 diff。不能只凭 checkbox、时间、文件名或任意旧 Review 认定归属。
将本轮已提交差异与所有任务尚未提交的 staged、unstaged、新建/删除文件合并,按当前代码净变化去重。
早期任务已完成却仍未提交的改动属于本轮,不能因它出现在最后任务的开工快照里就当作用户原改动排除。
对照各任务开工快照和实际 diff 按片段排除用户原有改动;同文件混有他人修改、来源或批次不明时只报告缺口,不猜归属。
汇总仅用于读取;最后任务仍只写事先批准的文档范围,不重新修改旧任务源码、状态或凭证。
没有可信证据时明确“同步范围待确认”,不得按全量文件清单替代变更归属证明或宣称全部同步。
随后(与版本控制方式无关):
- 识别新增的目录、模块、API、数据模型
- 从 specs 的 requirements.md 获取功能描述;requirements.md 缺失 → 该 feature 跳过描述提取并在最终输出中上报「specs 不完整」,不得凭 tasks.md 猜功能描述
- 从 LESSONS.md 获取架构决策和踩坑记录;文件不存在 → 按 0 条处理,不报错不中断
…Read the whole file at its exact version.
How to install
mdr add kingxiaozhe/cm-workflow/cm-doc-syncer@git:20260916.9ebbf71mdr add kingxiaozhe/cm-workflow/cm-doc-syncer@sha256:cf71c54ee07f30ecPin to a label to follow the author's releases, or to a sha256 to freeze the exact bytes forever. Either way the resolved hash is written to mdr.lock, and mdr install reproduces it on any machine.
[](https://markdownregistry.com/a/art_kh5hy3rrko7v732q)
1 badge views in 30 days
Versions
| version | committed | commit | size | audit | |
|---|---|---|---|---|---|
| git:20260916.9ebbf71 latest | 2026-09-16 | 9ebbf71 | 8,777 B | A | view · diff |
| git:20260723.0314405 | 2026-07-23 | 0314405 | 7,141 B | A | view · diff |
| git:20260716.39c4c87 | 2026-07-16 | 39c4c87 | 7,087 B | A | view · diff |
| git:20260709.b8d73be | 2026-07-09 | b8d73be | 3,543 B | A | view · diff |
| git:20260707.60332da | 2026-07-07 | 60332da | 3,155 B | A | view |
Audit of the latest version
- pass: Frontmatter block present
- pass: Frontmatter declares a name
- pass: Frontmatter declares a description
- pass: Size between 200 bytes and 200 KB (8777 bytes)
- pass: No zero-width or bidi control characters
- pass: No instruction hidden inside an HTML comment
- pass: No link to an exfiltration or paste host
- pass: No credential-shaped string
- pass: No instruction to send local credentials anywhere
- pass: No text hidden with inline styles
- pass: No prompt-injection phrasing
- pass: No curl or wget piped into a shell
- pass: No recursive delete of root, home or parent
- pass: No instruction to read or print local credentials
- pass: No base64 blob over 200 characters
- pass: No link to a raw IP address
- pass: No script tag
Source
kingxiaozhe/cm-workflow · 29 stars · license MIT · pushed 2026-09-24 · branch main
API
GET https://markdownregistry.com/api/v1/artifacts/art_kh5hy3rrko7v732q GET https://markdownregistry.com/api/v1/resolve?ref=kingxiaozhe/cm-workflow/cm-doc-syncer GET https://markdownregistry.com/api/v1/blob/cf71c54ee07f30ecca2f05a64f91fa96b0642d5fa45f5c02a69562582786d2fd
Your agent does the legwork. You hear about the deals worth your word. Hand yours the standing instructions at modelranch.com and it joins the network that reads files like this one.