Agent skill

Doc Sync

by Prismer-AI in Prismer-AI/PrismerCloud

Before merge, mechanize Documentation-First — derive the code delta from git diff, then verify required docs are in sync (CHANGELOG, docs/api, CLAUDE.md/ROADMAP).

MITAuto-check: notesDevelopment

Install Doc Sync

skills CLI
$ npx skills add Prismer-AI/PrismerCloud --skill doc-sync -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install Prismer-AI/PrismerCloud doc-sync --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/Prismer-AI/PrismerCloud.git skills-src && mkdir -p .claude/skills && cp -r skills-src/sdk/apc/skills/doc-sync .claude/skills/doc-sync && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
doc-sync
GitHub stars
1.6k
Token cost
~1.7k tokens
SKILL.md length
479 words
Files
2
Skills in repo
88
Repo updated
First seen
Licence
MIT

At a glance

Before merge, mechanize Documentation-First — derive the code delta from git diff, then verify required docs are in sync (CHANGELOG, docs/api, CLAUDE.md/ROADMAP).

  • Works in 4 steps: 派生 delta(真 git diff,不假设) → 逐类推导义务 + 核 satisfied → 跑机械门(叠加,非替代) → …
  • Tasks that involve Changelog and release notes
  • SKILL.md covers 工具契约(签名以此为准,先核后用), 义务表(delta → 必须同步的文档), Procedure and 输出契约(机器判据按这个复算,别自由发挥格式), plus 4 more sections
  • Calls git, rg and npx

What it does

Doc Sync is an agent skill from Prismer-AI/PrismerCloud. Before merge, mechanize Documentation-First — derive the code delta from git diff, then verify required docs are in sync (CHANGELOG, docs/api, CLAUDE.md/ROADMAP). Any SDK-package change must carry a matching CHANGELOG entry + aligned version files. A change that skipped a required doc is flagged as a gap; a fully-synced change passes.

Its SKILL.md is about 1.7k tokens, which your agent loads only when the skill is triggered. The skill folder holds 1 other file (for example `skill.json`). Compatibility notes: ["claude-code"]

It sits in Development, covering Changelog and release notes, Agent instruction files and Git workflow. It works with Git. The licence is MIT.

When your agent uses it

  • Tasks that involve Changelog and release notes
  • Tasks that involve Agent instruction files
  • Tasks that involve Git workflow

Example prompts

  • “/doc-sync”

Requirements

  • Node.js
  • Compatibility (from SKILL.md): ["claude-code"]
  • Pre-approved tools (allowed-tools): Bash

Workflow steps

4 steps, taken from the step headings in SKILL.md.

  1. 派生 delta(真 git diff,不假设)
  2. 逐类推导义务 + 核 satisfied
  3. 跑机械门(叠加,非替代)
  4. 汇总 gap + 上报

What it can do on your machine

Read from SKILL.md and the folder at commit e5d9444. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves these tools, so the agent can use them without asking each time:

    • Bash

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • git
    • rg
    • npx

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use git and npx, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

  • Compatibility

    ["claude-code"]

    From compatibility in the SKILL.md frontmatter.

Context cost

Doc Sync loads about 1.7k tokens when it runs. Until then it costs about 86 tokens; SKILL.md has 479 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~86
When it runs · the whole SKILL.md, loaded when a task matches
~1.7k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check: notes

The automated check noted patterns worth knowing about, such as sudo or a known installer.

  • NotePre-approves every shell command (allowed-tools: Bash)SKILL.md
    allowed-tools: Bash

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from Prismer-AI/PrismerCloud at commit e5d9444, republished under its MIT licence (© Prismer-AI). 479 words, ~1,680 tokens.

Download SKILL.mdSave it as .claude/skills/doc-sync/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
doc-sync
description
Before merge, mechanize Documentation-First — derive the code delta from git diff, then verify required docs are in sync (CHANGELOG, docs/api, CLAUDE.md/ROADMAP). Any SDK-package change must carry a matching CHANGELOG entry + aligned version files. A change that skipped a required doc is flagged as a gap; a fully-synced change passes.
allowed-tools
Bash
compatibility
["claude-code"]
license
MIT
scope
coding
metadata.category
documentation

doc-sync

合入前把 Documentation-First 机械化:从 git diff 派生代码 delta,逐项核对该 delta 触发的文档义务是否已同步——CHANGELOG / docs/api/<domain> / CLAUDE.md / ROADMAP;SDK 包改动必须带对应 CHANGELOG + 版本文件对齐(apc/05 §2 S12 · apc/12 doc-sync 行)。

什么时候用:一个改动进合入门前,需要机械核对"该改的文档是不是都改了",把"改了代码忘了 changelog / 忘了 api doc"这类漏挡在合入前。

铁律:代码 delta 来自真 git diff,不是假设。义务表的每条义务要写清"是 delta 的哪一部分触发的"——义务不是凭空列的清单,是 delta 推出来的。

工具契约(签名以此为准,先核后用)

命令作用备注
git diff --name-only [<base>..<head>]派生 delta:改了哪些文件不带 range = working tree;分类的输入
git diff [-- <paths>]看具体改动内容(判 CHANGELOG 是否含本次条目)—
rg <stale-ref> docs/ CLAUDE.md猎 stale 引用(doc 里引了已删/改名的东西)出 path:line
npx tsx scripts/apc-doc-sync.ts <taskId>机械门:改了 docs/sdk 但 diff 里不提 taskId → 非零exit 0 ok · 1 无 doc diff 或未提及 taskId · 2 用法错
sdk/build/version.sh --scope <s> <version>版本文件对齐(14 文件同步)写操作,只在真要 bump 时跑;核对用只读比对
cloud task verify-criterion <task-id> <criterion-id> --outcome <passed|failed|n/a|waived>上报 criterion--outcome 恰好四值
  • apc-doc-sync.ts 是机械门:它只校验"改动的 docs/sdk diff 里提到了 taskId",是义务的必要非充分条件——它挡不住"改了 sdk 但没改 CHANGELOG"这种缺文件的漏,那要靠下面的义务表逐项核。两者叠加用。

义务表(delta → 必须同步的文档)

按 git diff --name-only 的命中,逐类推导文档义务:

delta 命中触发的文档义务怎么核(satisfied 判据)
sdk/<pkg>/src/**(SDK 包源码改)该包 sdk/<pkg>/CHANGELOG.md 有本次条目 + 14 版本文件对齐changed 文件集里含该包 CHANGELOG;version.sh 只读比对版本一致
新增/改 endpoint(src/im/api/** / 路由)docs/api/<domain>.md 更新 + Last updated 日期changed 含对应 domain doc
prisma/schema*.prisma / src/im/sql/NNN_*.sql(schema/migration)docs/ARCHITECTURE.md / 相关 design doc + migration 编号连续changed 含架构/design doc
架构级行为变化(层/flag/大重构)CLAUDE.md / docs/ROADMAP.md / docs/TODO.mdchanged 含对应文件

核心不变量(S12 唯一有意义的判据):改了 SDK 包源码却没改该包 CHANGELOG = gap(缺义务)。这正是 apc/12 的正控/负控——缺 CHANGELOG 必须判缺,同步完整必须放行。

Procedure

1. 派生 delta(真 git diff,不假设)
bash
git diff --name-only > /tmp/delta.txt      # 或 <base>..<head>

把 changed 文件分类:sdk pkg src / endpoint / schema-migration / docs / other。分类是义务推导的输入。

2. 逐类推导义务 + 核 satisfied

对每一类命中,按义务表列一行 { obligation, requiredBecause, satisfied }:

bash
# 例:SDK 包改了没改 CHANGELOG?
# 找 delta 里的 sdk 包源码目录
rg '^sdk/([^/]+/[^/]+)/src/' /tmp/delta.txt -or '$1' | sort -u   # 改了哪些包
# 对每个包,看 CHANGELOG 在不在 changed 集里:
grep -q 'sdk/<pkg>/CHANGELOG.md' /tmp/delta.txt && echo "CHANGELOG ✓" || echo "CHANGELOG ✗ GAP"

satisfied 判据是副作用(该 doc 文件在 changed 集里 / 版本号真对齐),不是"我觉得应该改了"。

3. 跑机械门(叠加,非替代)
bash
npx tsx scripts/apc-doc-sync.ts "$PRISMER_TASK_ID"; echo "gate exit=$?"

exit 1 = 改了 docs/sdk 但 diff 不提 taskId(可追溯性缺失)。机械门过 ≠ 义务全满——义务表的缺文件项要另判。

4. 汇总 gap + 上报
  • 有 gap(任一义务 unsatisfied)→ --outcome failed,列出缺哪些。
  • 无 gap(义务全满 + 机械门 0)→ --outcome passed。
bash
cloud task verify-criterion "$PRISMER_TASK_ID" "<criterion-id>" --outcome failed \
  --note "gap: sdk/prismer-cloud/typescript/src changed but CHANGELOG not updated"

输出契约(机器判据按这个复算,别自由发挥格式)

本 skill 的验收判据不是「报告里出现了 changelog 这个词」,而是判据自己从 delta 重新推导义务集和 gap 集,再跟你报的比对(structured-criteria.ts 的 doc-sync-obligations),并且把每个声明的 delta 文件读回磁盘。所以报告必须带下面三类可机器解析的行:

DELTA: <path> | class: <sdk-package-source|endpoint-doc|schema-migration|other>
OBLIGATION: <doc path> | required-because: <理由,指回 delta 的哪一部分> | satisfied: yes|no
GAP: <doc path>

判据会判红的情况(任一):

  • 声明的 delta 与本次真实 diff 不等(漏报 / 多报),或声明的文件在磁盘上不存在;
  • 义务集与判据从 delta 重算的结果不等——漏一条(比如不提该包 CHANGELOG)跟编一条(delta 推不出来的义务)都判红;
  • satisfied 与事实不符(义务满足 ⟺ 该 doc 文件本身在 delta 里);
  • required-because 空或过短(去空白 <20 字符)——「凭空清单」正是本 skill 要挡的;
  • GAP 集与重算出的 unsatisfied 集不等(漏报 gap / 虚报 gap 都红)。

写 GAP: <path> 是结构化断言,不是修辞——判据只认这些行,不认 "❌"、"missing" 之类的措辞。

Show full SKILL.md (194 more words)Show less

产出(副作用 oracle,报告里必须给)

  1. delta 分类:git diff --name-only 的真实命中,按类归组。
  2. 义务表:每行 {obligation, requiredBecause, satisfied}——requiredBecause 指回 delta 的哪一部分。
  3. gap 列表:required 但 unsatisfied 的义务。 4.(挂 task 时)criterion 上报行 + 机械门退出码。

两个承重 oracle:

  • 正控:改了 SDK 包源码但没改 CHANGELOG → 必须判 gap(--outcome failed)。
  • 负控:文档全同步的改动(CHANGELOG/api doc 都改了)→ 必须放行(--outcome passed),不虚报缺失。

不许:把义务当凭空清单列而不指回 delta;只跑机械门就宣称"文档已同步"(机械门挡不住缺文件);断言聊天文本而非 changed-file 集/退出码。

诚实边界

  • 本 skill 核的是**"该改的文档改了没"(存在性 + 可追溯性)**,不核文档内容是否正确——CHANGELOG 写了一行但内容是错的,机械门和义务表都放行。内容正确性靠人/评审兜。
  • 义务表覆盖的是可从 git diff --name-only 机械推导的类别;"架构级行为变化"这类需要语义判断的义务,本 skill 只能提示"delta 涉及 X,考虑是否要更 CLAUDE.md/ROADMAP",不能机械断定必须改——这一维标注为需人工确认,不硬判 gap。
  • apc-doc-sync.ts 机械门只看 taskId 出现性,是可追溯性的下限,不是文档完整性的证明。

PKF 双投影(研发回环 · doc07 §B2 写入点③)

产出时机:义务全满、SPEC/docs/CHANGELOG 的 markdown 真源落 git 之后,把同内容投影成一张 PKF 记忆页(pageType=reference)——markdown 真源仍是 git diff/review/grep 的工程权威,PKF 是补了 typed link 的可召回投影。投影必带 typed link(derived-from/supports/contradicts),否则投影没有增量、白写(doc07 §B1)。这一步是义务核对之后的投影,不改 delta 派生 / 义务核对 / 机械门任何一步。

语法照 pkf-writing skill——本 skill 不再内嵌语法骨架(frontmatter / typed link / 数据块写法都在那边)。写入面不新造:code agent 走 prismer memory write(SS-14 §4.3 appendix;hermes 侧是 native memory_write)。

声明(doc10 §2.5 格式,报告末尾一行):

PKF: prismer://workspace/<ws>/memory/<path>

写入面不可达时如实声明 PKF: none — 写入面不可达(<哪一条>),绝不允许为了满足规则而假装写了。

回读:声明后必须回读该页(pkf_read / memory read),确认真实存在、正文非空且与 git 真源同内容;typed link 的 prismer:// 目标必须真实存在,无对应页就删该 link 行、宁缺勿造伪目标;先 git 落地再投影,不倒过来。写入自动挂 INDEX 反孤儿锚(SS-14 §4.2),优先 edit 既有投影页而非 dump 新叶(PLACE 治理照走)。

<!-- APC-ACK:v1 -->

调用回执(APC 平台方运营纪律 · 自动注入,勿手改)

执行本 skill 的第一步,先落一条调用回执:

bash
cloud skill ack doc-sync --task "$PRISMER_TASK_ID"

按退出码分流(这条命令的退出码是承重信息,禁止用 || 兜底、; true、 set +e 或重定向把它抹掉):

exit含义你要做的
0回执已落库(im_task_logs.action='skill_ack')继续执行本 skill
3无 task 上下文——本次运行没有 task,产不出回执继续执行本 skill;但本次运行没有回执,任何报告里都不得声称已 ack
4你不是该 task 的 assignee,服务端拒绝停下并上报:回执只能由执行该 task 的 agent 产生
1其它失败(网络 / 服务端)重试一次;仍失败则继续执行,并在结果里显式标注「回执缺失」

回执只证明本 skill 被调度,不证明执行正确——效果证明由本 skill 自己的 acceptanceCriteria 副作用断言承担(apc/04 §2 层 1 诚实标注)。

<!-- /APC-ACK:v1 -->

© Prismer-AI, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 1 other file in sdk/apc/skills/doc-sync of Prismer-AI/PrismerCloud.

  • SKILL.md
  • skill.json

Open the folder on GitHubat commit e5d9444

Compare with similar skills

Doc Sync next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Doc Sync compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Doc Sync this skillPrismer-AI/PrismerCloud1.6k—~1.7kAutomated safety check: NotesMIT
ReleaseYesterday-AI/paperclip-plugin-company-wizard184—~1.6kAutomated safety check: PassMIT
Sync Docsayutaz/piper-plus220—~1.4kAutomated safety check: PassMIT
Release Bumpjamiepine/voicebox57k—~1.1kAutomated safety check: PassMIT
Git Workflow and Versioningaddyosmani/agent-skills103k2 repos~3.5kAutomated safety check: NotesMIT
Go-Redis Release Preparationredis/go-redis22k—~1.1kAutomated safety check: PassBSD-2-Clause

Similar skills

  • Release

    Yesterday-AI/paperclip-plugin-company-wizard

    Prepare a new release by updating CHANGELOG.md, verifying documentation (README.md, CLAUDE.md, AGENTS.md, ROADMAP.md, docs/), bumping patch version in package.json, building, and suggesting publish…

    184 GitHub stars~1.6k tokensUpdated 5 mo ago
    DevelopmentAuto-check passed
  • Sync Docs

    ayutaz/piper-plus

    コミット前にエージェントチームで全ドキュメント (CLAUDE.md / README / CHANGELOG / docs/) を監査し、コード変更に応じて自動更新します。大規模変更時の documentation drift を予防。

    220 GitHub stars~1.4k tokensUpdated today
    DevelopmentAuto-check passed
  • Release Bump

    jamiepine/voicebox

    Ends a release cycle by moving the Unreleased changelog notes under a dated version heading, bumping version files with bumpversion and tagging the commit.

    57k GitHub stars~1.1k tokensUpdated yesterday
    DevelopmentAuto-check passed
  • Git Workflow and Versioning

    addyosmani/agent-skills

    Sets git habits for every change: short-lived branches, atomic commits with descriptive messages, clean pull requests, plus versioning, tagging and changelogs for releases.

    103k GitHub starsUsed in 2 repos~3.5k tokens
    DevelopmentAuto-check: notes
  • Official

    Prepares a go-redis release locally: picks the next semver, gathers merged PRs, writes the RELEASE-NOTES entry and bumps versions, without publishing.

    22k GitHub stars~1.1k tokensUpdated yesterday
    DevelopmentAuto-check passed
  • Opens the pybind11 release-preparation pull request: picking the release base, bumping the version in common.h and integrating the changelog, following docs/release.rst.

    18k GitHub stars~1.7k tokensUpdated today
    DevelopmentAuto-check passed

More from Prismer-AI/PrismerCloud

All 88 skills in this repo
  • Himalaya Email CLI

    Prismer-AI/PrismerCloud

    Operates a mailbox from the terminal with the external Himalaya CLI over IMAP, SMTP, Notmuch or Sendmail, separate from any built-in email gateway adapter.

    1.6k GitHub starsUsed in 3 repos~2.3k tokens
    Auto-check passed
  • Prismer Skill Creator

    Prismer-AI/PrismerCloud

    Walks an agent through creating, importing, editing, validating, testing and publishing Prismer Skills with a fixed workflow and bundled scripts.

    1.6k GitHub stars~2.6k tokensUpdated 8 days ago
    Auto-check: notes
  • Manim Explainer Videos

    Prismer-AI/PrismerCloud

    Produces 3Blue1Brown-style explainer animations with Manim Community Edition for math, algorithms, equations and architecture diagrams, with planning and rendering references.

    1.6k GitHub starsUsed in 2 repos~3.1k tokens
    Auto-check passed
  • Prismer Image Generation

    Prismer-AI/PrismerCloud

    Generates one image from a text prompt with a bundled Node.js helper and delivers it once as the attachment to the current Prismer reply.

    1.6k GitHub stars~1.4k tokensUpdated 8 days ago
    Auto-check passed
  • YouTube Transcript Reformatter

    Prismer-AI/PrismerCloud

    Fetches a YouTube transcript with a helper script and reshapes it into chapters, summaries, X threads, blog posts or timestamped quotes.

    1.6k GitHub starsUsed in 2 repos~905 tokens
    Auto-check passed
  • Prismer Role Builder

    Prismer-AI/PrismerCloud

    Creates or updates Prismer role templates from a persona, SOP or job description, and turns a role into a working agent that runs its first task through a bundled script.

    1.6k GitHub stars~2.3k tokensUpdated 8 days ago
    Auto-check: notes

Works with

Questions about Doc Sync

What does Doc Sync do?

Before merge, mechanize Documentation-First — derive the code delta from git diff, then verify required docs are in sync (CHANGELOG, docs/api, CLAUDE.md/ROADMAP). Doc Sync is an agent skill from Prismer-AI/PrismerCloud.md/ROADMAP).

When should I use Doc Sync?

Doc Sync fits situations like: tasks that involve Changelog and release notes; tasks that involve Agent instruction files; tasks that involve Git workflow.

How do I install Doc Sync in Claude Code?

Run `npx skills add Prismer-AI/PrismerCloud --skill doc-sync -a claude-code`. Or copy the skill folder (sdk/apc/skills/doc-sync in Prismer-AI/PrismerCloud) into .claude/skills/doc-sync in your project. Claude Code loads it when a task matches its description.

How do I install Doc Sync in Codex?

Run `npx skills add Prismer-AI/PrismerCloud --skill doc-sync -a codex`. Or copy the skill folder (sdk/apc/skills/doc-sync in Prismer-AI/PrismerCloud) into .agents/skills/doc-sync in your project. Codex loads it when a task matches its description.

Can I use Doc Sync in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add Prismer-AI/PrismerCloud --skill doc-sync -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/doc-sync, .gemini/skills/doc-sync, .github/skills/doc-sync and .opencode/skills/doc-sync in your project.

What does Doc Sync need to run?

Going by SKILL.md and its folder, Doc Sync needs the command-line tools its instructions call (git, rg and npx). Our summary lists: Node.js. Its frontmatter pre-approves these tools: Bash. Compatibility (from SKILL.md): ["claude-code"].

Does Doc Sync access the network?

SKILL.md contains no URLs. Its commands use git and npx, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Doc Sync safe to install?

Our automated static check of SKILL.md found notes only (pre-approves every shell command (allowed-tools: bash)), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.

What licence does Doc Sync use?

Doc Sync is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Doc Sync use?

About 1.7k tokens (SKILL.md is roughly 6.7k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Doc Sync?

Skills that share tags, products or a category with Doc Sync: Release (Yesterday-AI/paperclip-plugin-company-wizard, 184 stars), Sync Docs (ayutaz/piper-plus, 220 stars), Release Bump (jamiepine/voicebox, 57k stars) and Git Workflow and Versioning (addyosmani/agent-skills, 103k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Doc Sync?

Prismer-AI (a GitHub organization) maintains it in Prismer-AI/PrismerCloud, which has 1,554 GitHub stars. The repository holds 88 skills in this directory. The repository was last updated on September 30, 2026.

Source: Prismer-AI/PrismerCloud on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.