Agent skill

Sync Docs

by ayutaz in ayutaz/piper-plus

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

MITAuto-check passedDevelopment

Install Sync Docs

skills CLI
$ npx skills add ayutaz/piper-plus --skill sync-docs -a claude-code

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

GitHub CLI
$ gh skill install ayutaz/piper-plus sync-docs --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/ayutaz/piper-plus.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/sync-docs .claude/skills/sync-docs && 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
sync-docs
GitHub stars
218
Token cost
~1.4k tokens
SKILL.md length
462 words
Files
1
Skills in repo
20
Repo updated
First seen
Licence
MIT

At a glance

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

  • Works in 2 steps: git diff --name-only で変更ファイルをカテゴリ分類 → 各カテゴリのファイル数と代表ファイルを記録
  • Tasks that involve Technical documentation
  • SKILL.md covers 前提, 入力, 現在の状態 and フェーズ 1: 変更サマリ収集, plus 7 more sections
  • Calls git

What it does

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

Its SKILL.md is about 1.4k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Development, covering Technical documentation, Changelog and release notes and Agent instruction files. It works with Git, Python and WebAssembly. The repository describes itself as: Multilingual neural TTS (6 languages: JA/EN/ZH/ES/FR/PT, code supports SV) — C++, C, Rust, Go, Python, npm (WASM). VITS + Prosody, streaming, CUDA/CoreML/DirectML. pip install…. The licence is MIT.

When your agent uses it

  • Tasks that involve Technical documentation
  • Tasks that involve Changelog and release notes
  • Tasks that involve Agent instruction files

Example prompts

  • “/sync-docs”

Requirements

  • Pre-approved tools (allowed-tools): Agent, Bash(git diff *), Bash(git log *), Bash(git status *), Read, Glob, Grep, Edit, Write

Workflow steps

2 steps, taken from the first numbered list in SKILL.md.

  1. git diff --name-only で変更ファイルをカテゴリ分類
  2. 各カテゴリのファイル数と代表ファイルを記録

What it can do on your machine

Read from SKILL.md and the folder at commit 05fc503. 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:

    • Agent
    • Bash(git diff *)
    • Bash(git log *)
    • Bash(git status *)
    • Read
    • Glob
    • Grep
    • Edit
    • Write

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • git

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

  • Network

    No URLs in SKILL.md. Its commands use git, 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.

Context cost

Sync Docs loads about 1.4k tokens when it runs. Until then it costs about 32 tokens; SKILL.md has 462 words of instructions outside code blocks.

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

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 passed

The automated check found no risky patterns in SKILL.md.

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 ayutaz/piper-plus at commit 05fc503, republished under its MIT licence (© ayutaz). 462 words, ~1,426 tokens.

Download SKILL.mdSave it as .claude/skills/sync-docs/SKILL.md (or your agent's skills folder).
name
sync-docs
description
コミット前にエージェントチームで全ドキュメント (CLAUDE.md / README / CHANGELOG / docs/) を監査し、コード変更に応じて自動更新します。大規模変更時の documentation drift を予防。
allowed-tools
Agent, Bash(git diff *), Bash(git log *), Bash(git status *), Read, Glob, Grep, Edit, Write
argument-hint
[commit-range]
disable-model-invocation
true

ドキュメント同期 (エージェントチーム並列監査)

コード変更に対して CLAUDE.md / README / CHANGELOG / docs/features / docstring を一括で監査し、更新が必要な箇所を検出して自動適用します。

前提

このスキルは コミット前 に使うことを想定しています。コミット済みの変更と未ステージ変更の両方を対象にします。

入力

  • $ARGUMENTS が空: dev..HEAD (現在のブランチの全変更) + 未コミット変更
  • $ARGUMENTS = staged: ステージ済み変更のみ (git diff --cached)
  • $ARGUMENTS = HEAD~3..HEAD: 特定のコミット範囲
  • $ARGUMENTS = ファイルパス: そのファイルの変更のみ

現在の状態

  • ブランチ: !git rev-parse --abbrev-ref HEAD
  • dev との差分ファイル数: !git diff --name-only dev..HEAD 2>/dev/null | wc -l | tr -d ' '
  • 未コミット変更: !git status --short 2>/dev/null | wc -l | tr -d ' '

フェーズ 1: 変更サマリ収集

  1. git diff --name-only で変更ファイルをカテゴリ分類:

    • 実装 (src/python_run/piper_plus/*.py, src/python/g2p/**, src/rust/piper-core/**, src/cpp/*.cpp, src/csharp/**, src/go/**, src/wasm/openjtalk-web/src/*.js)
    • テスト (*/tests/**, */test/**)
    • ビルド (*.toml, *.json, CMakeLists.txt, *.yml)
    • ドキュメント (*.md, docs/**)
  2. 各カテゴリのファイル数と代表ファイルを記録

フェーズ 2: 並列ドキュメント監査 (エージェントチーム)

以下の 7 エージェントを 1 メッセージで並列起動 します:

Agent 1: CLAUDE.md 監査

subagent_type: Explore task: CLAUDE.md の「実装済み機能」「重要なファイルパス」「OpenAI 互換 API」セクションを確認し、実装変更に対する追加・修正が必要か判定。新規モジュール/クラス/HTTP エンドポイント/テストファイルが未記載なら、具体的な diff を提案。

Agent 2: ルート README 監査

subagent_type: Explore task: README.md, README_EN.md, README.*.md (他言語) の Features / Interfaces / Feature Support Matrix を確認。新機能が各ランタイムで利用可能になった場合、対応 runtime 行を更新。

Agent 3: ランタイム別 README 監査

subagent_type: Explore task: src/python_run/README.md, src/python_run/README_http.md, src/wasm/openjtalk-web/README.md, src/wasm/openjtalk-web/README.npm.md, src/rust/piper-cli/README.md, src/go/README.md を確認。API 例・CLI フラグ・HTTP エンドポイントが最新か判定。

Agent 4: CHANGELOG 監査

subagent_type: Explore task: CHANGELOG.md と src/wasm/openjtalk-web/CHANGELOG.md の [Unreleased] セクションが、コード変更 (新機能/バグ修正/破壊的変更) を反映しているか確認。未反映なら具体的な markdown を提案。

Agent 5: docs/features・docs/spec 監査

subagent_type: Explore task: docs/features/*.md と docs/spec/*.toml / *.md を確認。新機能の専用ドキュメントが必要か、既存の仕様ファイル (ort-session-contract.toml, short-text-contract.toml, phoneme-timing-contract.toml など) の更新が必要か判定。

Agent 6: docstring / JSDoc 整合性監査

subagent_type: Explore task: 変更された公開 API (関数・クラス・メソッド) に docstring / JSDoc / TypeScript 型定義があるか確認。新規 public API に docstring がない、または既存の docstring が実装と齟齬している箇所を検出。

Agent 7: Version Drift 監査 (release-versions.toml canonical)

subagent_type: Explore task: 以下の 3 段階で version-drift を検出する。

  1. Canonical 抽出: docs/spec/release-versions.toml を読み、各ランタイム (python, rust, dotnet.core, dotnet.cli, npm.synthesis, npm.g2p, swift.synthesis, swift.g2p, kotlin.android_g2p) の expected_prefix を取得 (例: "1.12.", "0.4.")。これを canonical truth とする。

  2. CLAUDE.md ランタイム別パッケージ表との照合: CLAUDE.md の「ランタイム別パッケージ」表 (現在 L177-186 付近、 | ランタイム | パッケージ | バージョン | を含む table) を grep で抽出し、各ランタイムの記載バージョンが expected_prefix で始まるかを確認。不一致なら drift 報告。

  3. docs/spec/*.toml 内 version comment 監査: 全 docs/spec/*.toml を grep で # v1\.|# v0\. 等の version reference comment を抽出し、release-versions.toml の expected_prefix とずれていないか確認 (例: audio-format-contract.toml の # v1.12.0 で HiFi-GAN は削除 が canonical と矛盾していないか)。

  4. CHANGELOG.md unreleased 重複検査: CHANGELOG.md の [Unreleased] セクションに、既に release tag が付いた version (release-versions.toml::expected_prefix で始まる version) への reference が残っていないか確認。残っていれば「release 後の cleanup 漏れ」として報告。

  5. README ランタイム matrix 整合性: README.md および README_EN.md の Feature Support Matrix / ランタイム表に書かれたバージョン番号が canonical と一致するか確認。

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

報告形式は他の Agent と同じく markdown diff。 drift が見つからなければ「全 N ランタイム version 整合」と報告。

各エージェントには以下を渡します:

  • 変更ファイル一覧 (フェーズ 1 の出力)
  • 対象ディレクトリ
  • 「読み取りのみ、変更提案は markdown diff 形式で報告」という指示

フェーズ 3: 更新提案の統合

6 エージェントの結果を収集し、以下の形式で 統合レポート を作成:

text
## ドキュメント監査結果

### 🔴 更新必須 (機能との不整合)
| ファイル | 問題 | 提案 |
|---------|------|------|
| CLAUDE.md | 新機能 X が未記載 | 「## 実装済み機能」に新セクション追加 |
| ... | ... | ... |

### 🟠 更新推奨 (品質向上)
| ファイル | 問題 | 提案 |
|---------|------|------|
| README.md | Feature matrix 未更新 | ... |

### 🟢 更新不要
(問題なしのファイル一覧)

フェーズ 4: ユーザー確認 → 自動適用

  1. 統合レポートをユーザーに提示
  2. ユーザーの承認を得る (「適用してください」等)
  3. 承認後、各エージェントが提案した変更を Edit tool で適用
  4. 変更後、git diff で最終確認

フェーズ 5: コミット準備

適用が完了したら、以下を表示:

  • 更新されたファイルのリスト
  • /commit skill を呼び出してコミットするよう促す
  • または、ドキュメント更新を別コミットに分ける提案

注意事項

  • ユーザーの承認なしに勝手に適用しない (フェーズ 3 → 4 の間で確認を取る)
  • 既存の正しい記述を破壊しない (削除・書き換えは最小限)
  • 監査のみ要求された場合 (例: /sync-docs --audit-only) は フェーズ 4 をスキップ
  • 大規模変更 (>500 行) では特に CLAUDE.md / CHANGELOG の更新を重点確認
  • 新規 test ファイルが追加された場合、CLAUDE.md の「テスト」項目に件数を追記することを検討

実行例

text
/sync-docs
→ フェーズ 1-3 を実行し、監査レポートを提示
→ ユーザー承認後、フェーズ 4-5 を実行

/sync-docs staged
→ ステージ済み変更のみを監査

/sync-docs HEAD~3..HEAD
→ 直近 3 コミットを監査

期待効果

PR #349 で発生した「ドキュメント更新を一括で後付けする」パターンを、コミット単位で小さく防止 します。エージェントチームを並列で動かすことで、7 観点の監査を短時間で完了できます。

Agent 7 (Version Drift 監査) により、release-versions.toml を canonical とした以下の drift を一括検出:

  • CLAUDE.md ランタイム別パッケージ表のバージョン番号
  • docs/spec/*.toml 内に埋め込まれた version comment (# v1.12.0 で削除 等)
  • CHANGELOG.md [Unreleased] の release 済み version reference 残留
  • README Feature Support Matrix のランタイム version

memory feedback_data_asset_distribution.md で記録された「新規データファイル追加時 7 箇所の package metadata 更新」を補強する観点。

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

Files

Just SKILL.md in .claude/skills/sync-docs of ayutaz/piper-plus.

Open the folder on GitHubat commit 05fc503

Compare with similar skills

Sync Docs 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.

Sync Docs compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Sync Docs this skillayutaz/piper-plus218—~1.4kAutomated safety check: PassMIT
CommitLennartHennigs/Button2565—~562Automated safety check: PassMIT
CommitLennartHennigs/ESPRotary188—~590Automated safety check: PassMIT
ReleaseYesterday-AI/paperclip-plugin-company-wizard183—~1.6kAutomated safety check: PassMIT
Doc-Code Sync Checkfancyboi999/open-tag201—~1.7kAutomated safety check: PassApache-2.0
Documentdcodesdev/LetterSpace100—~461Automated safety check: PassMIT

Similar skills

  • Commit

    LennartHennigs/Button2

    Stage and commit current changes for Button2 — checks for needed CHANGELOG/README/CLAUDE.md updates, creates a branch if on master, writes a commit message, and commits

    565 GitHub stars~562 tokensUpdated 4 mo ago
    DevelopmentAuto-check passed
  • Commit

    LennartHennigs/ESPRotary

    Stage and commit current changes for ESPRotary — checks for needed CHANGELOG/README/CLAUDE.md updates, creates a branch if on master, writes a commit message, and commits

    188 GitHub stars~590 tokensUpdated 2 mo ago
    DevelopmentAuto-check passed
  • 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…

    183 GitHub stars~1.6k tokensUpdated 5 mo ago
    DevelopmentAuto-check passed
  • Doc-Code Sync Check

    fancyboi999/open-tag

    Reconciles documentation with code at the end of a change or as a periodic audit, following a repo rule that code changes and doc changes land in one commit.

    201 GitHub stars~1.7k tokensUpdated 1 mo ago
    DevelopmentAuto-check passed
  • Document

    dcodesdev/LetterSpace

    Use this when writing or updating documentation — a README, docs/ page, CLAUDE.md, changelog entry, or doc comments — or when the user says 'document this'.

    100 GitHub stars~461 tokensUpdated 5 days ago
    DevelopmentAuto-check passed
  • Doc Sync

    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).

    1.6k GitHub stars~1.7k tokensUpdated 7 days ago
    DevelopmentAuto-check: notes

More from ayutaz/piper-plus

All 20 skills in this repo
  • Skill Health

    ayutaz/piper-plus

    .claude/skills//SKILL.md の frontmatter / referenced script 実在 / trigger 衝突 / .claude/hooks/.sh の executable+shebang を検査する meta-skill。

    218 GitHub stars~626 tokensUpdated yesterday
    Auto-check passed
  • Bump Deps

    ayutaz/piper-plus

    ORT / openjtalk / ruff のような cross-runtime に canonical sync が必要な依存関係を 1 コマンドで bump する read-mostly skill。

    218 GitHub stars~1.2k tokensUpdated yesterday
    Auto-check passed
  • Check Cross Runtime

    ayutaz/piper-plus

    Python canonical (src/pythonrun/piperplus/, src/python/pipertrain/, src/python/g2p/piperplusg2p/) を変更した PR で、 ONNX I/O 以外の追随漏れ (phonemizer / config schema / CLI flag / data 形式 / API 変更) を 7 ランタイム +…

    218 GitHub stars~3.5k tokensUpdated yesterday
    Auto-check passed
  • Check Loanword

    ayutaz/piper-plus

    ZH-EN code-switching loanword の同期と forward-compat を 1 コマンドで検査。zhenloanword.json を編集したり 5 ランタイムのいずれかに新規エントリを追加する前後に呼ぶ。Python source を canonical とし、Rust×2 / Go / C / WASM / C++ の 6 mirror + Python…

    218 GitHub stars~1.1k tokensUpdated yesterday
    Auto-check passed
  • Check New Runtime Asset

    ayutaz/piper-plus

    新規データアセット (JSON/TOML) を追加した PR で「7 箇所の package metadata 更新が全て揃っているか」を 1 コマンドで確認。MANIFEST.in / pyproject package-data / Cargo features / npm files / C Content / Android assets / SPM resources の更新漏れを…

    218 GitHub stars~964 tokensUpdated yesterday
    Auto-check passed
  • Check PR Ready

    ayutaz/piper-plus

    PR 作成前の最終チェックリスト (lint/test/docs/CHANGELOG/未コミット確認)。/precheck の拡張版で、ドキュメント整合性も検証します。

    218 GitHub stars~687 tokensUpdated yesterday
    Auto-check passed

Questions about Sync Docs

What does Sync Docs do?

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

When should I use Sync Docs?

Sync Docs fits situations like: tasks that involve Technical documentation; tasks that involve Changelog and release notes; tasks that involve Agent instruction files.

How do I install Sync Docs in Claude Code?

Run `npx skills add ayutaz/piper-plus --skill sync-docs -a claude-code`. Or copy the skill folder (.claude/skills/sync-docs in ayutaz/piper-plus) into .claude/skills/sync-docs in your project. Claude Code loads it when a task matches its description.

How do I install Sync Docs in Codex?

Run `npx skills add ayutaz/piper-plus --skill sync-docs -a codex`. Or copy the skill folder (.claude/skills/sync-docs in ayutaz/piper-plus) into .agents/skills/sync-docs in your project. Codex loads it when a task matches its description.

Can I use Sync Docs 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 ayutaz/piper-plus --skill sync-docs -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/sync-docs, .gemini/skills/sync-docs, .github/skills/sync-docs and .opencode/skills/sync-docs in your project.

What does Sync Docs need to run?

Going by SKILL.md and its folder, Sync Docs needs the command-line tools its instructions call (git). Its frontmatter pre-approves these tools: Agent, Bash(git diff *), Bash(git log *), Bash(git status *), Read, Glob, Grep, Edit, Write.

Does Sync Docs access the network?

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

Is Sync Docs safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Sync Docs use?

Sync Docs is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Sync Docs use?

About 1.4k tokens (SKILL.md is roughly 5.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 Sync Docs?

Skills that share tags, products or a category with Sync Docs: Commit (LennartHennigs/Button2, 565 stars), Commit (LennartHennigs/ESPRotary, 188 stars), Release (Yesterday-AI/paperclip-plugin-company-wizard, 183 stars) and Doc-Code Sync Check (fancyboi999/open-tag, 201 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Sync Docs?

ayutaz (a GitHub user) maintains it in ayutaz/piper-plus, which has 218 GitHub stars. The repository holds 20 skills in this directory. The repository was last updated on October 6, 2026.

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