ワンクリックで
sync-docs
コミット前にエージェントチームで全ドキュメント (CLAUDE.md / README / CHANGELOG / docs/) を監査し、コード変更に応じて自動更新します。大規模変更時の documentation drift を予防。
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
コミット前にエージェントチームで全ドキュメント (CLAUDE.md / README / CHANGELOG / docs/) を監査し、コード変更に応じて自動更新します。大規模変更時の documentation drift を予防。
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
Python canonical (`src/python_run/piper_plus/`, `src/python/piper_train/`, `src/python/g2p/piper_plus_g2p/`) を変更した PR で、 ONNX I/O 以外の追随漏れ (phonemizer / config schema / CLI flag / data 形式 / API 変更) を 7 ランタイム + 2 docker image 範囲で fail-fast 検出する。PR
ZH-EN code-switching loanword の同期と forward-compat を 1 コマンドで検査。zh_en_loanword.json を編集したり 5 ランタイムのいずれかに新規エントリを追加する前後に呼ぶ。Python source を canonical とし、Rust×2 / Go / C# / WASM / C++ の 6 mirror + Python runtime mirror = 計 7 copy + 6 fixture mirror が byte-for-byte 一致しているかを確認。
PR 作成前の最終チェックリスト (lint/test/docs/CHANGELOG/未コミット確認)。/precheck の拡張版で、ドキュメント整合性も検証します。
推論パスの canonical Python (`export_onnx.py` / `vits/models.py:VitsModel.infer`) を変更した PR で、6 ランタイム (Python runtime / Rust / Go / C# / C++ / WASM) の inference path が追随しているかを git diff で確認。PR
piper-plus のコミットルール (CLAUDE.md 準拠) でステージ済みファイルをコミットします。--no-verify 禁止、HEREDOC、適切な prefix を強制。
9 パッケージ × 5 レジストリの version bump と関連ファイル更新 (Cargo.lock / package-lock.json / Swift checksum / CHANGELOG 昇格) を 1 コマンドで適用案にする read-mostly skill。`release-prep` (確認用) の続きに呼び、 実 bump 差分の markdown 提案 + 順序付き publish ガイドを生成する。
| name | sync-docs |
| description | コミット前にエージェントチームで全ドキュメント (CLAUDE.md / README / CHANGELOG / docs/) を監査し、コード変更に応じて自動更新します。大規模変更時の documentation drift を予防。 |
| argument-hint | [commit-range] |
| disable-model-invocation | true |
| allowed-tools | Agent Bash(git diff *) Bash(git log *) Bash(git status *) Read Glob Grep Edit Write |
コード変更に対して 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 HEADgit diff --name-only dev..HEAD 2>/dev/null | wc -l | tr -d ' 'git status --short 2>/dev/null | wc -l | tr -d ' '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/**)各カテゴリのファイル数と代表ファイルを記録
以下の 7 エージェントを 1 メッセージで並列起動 します:
subagent_type: Explore
task: CLAUDE.md の「実装済み機能」「重要なファイルパス」「OpenAI 互換 API」セクションを確認し、実装変更に対する追加・修正が必要か判定。新規モジュール/クラス/HTTP エンドポイント/テストファイルが未記載なら、具体的な diff を提案。
subagent_type: Explore
task: README.md, README_EN.md, README.*.md (他言語) の Features / Interfaces / Feature Support Matrix を確認。新機能が各ランタイムで利用可能になった場合、対応 runtime 行を更新。
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 エンドポイントが最新か判定。
subagent_type: Explore
task: CHANGELOG.md と src/wasm/openjtalk-web/CHANGELOG.md の [Unreleased] セクションが、コード変更 (新機能/バグ修正/破壊的変更) を反映しているか確認。未反映なら具体的な markdown を提案。
subagent_type: Explore
task: docs/features/*.md と docs/spec/*.toml / *.md を確認。新機能の専用ドキュメントが必要か、既存の仕様ファイル (ort-session-contract.toml, short-text-contract.toml, phoneme-timing-contract.toml など) の更新が必要か判定。
subagent_type: Explore
task: 変更された公開 API (関数・クラス・メソッド) に docstring / JSDoc / TypeScript 型定義があるか確認。新規 public API に docstring がない、または既存の docstring が実装と齟齬している箇所を検出。
subagent_type: Explore
task: 以下の 3 段階で version-drift を検出する。
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 とする。
CLAUDE.md ランタイム別パッケージ表との照合: CLAUDE.md の「ランタイム別パッケージ」表 (現在 L177-186 付近、 | ランタイム | パッケージ | バージョン | を含む table) を grep で抽出し、各ランタイムの記載バージョンが expected_prefix で始まるかを確認。不一致なら drift 報告。
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 と矛盾していないか)。
CHANGELOG.md unreleased 重複検査: CHANGELOG.md の [Unreleased] セクションに、既に release tag が付いた version (release-versions.toml::expected_prefix で始まる version) への reference が残っていないか確認。残っていれば「release 後の cleanup 漏れ」として報告。
README ランタイム matrix 整合性: README.md および README_EN.md の Feature Support Matrix / ランタイム表に書かれたバージョン番号が canonical と一致するか確認。
報告形式は他の Agent と同じく markdown diff。 drift が見つからなければ「全 N ランタイム version 整合」と報告。
各エージェントには以下を渡します:
6 エージェントの結果を収集し、以下の形式で 統合レポート を作成:
## ドキュメント監査結果
### 🔴 更新必須 (機能との不整合)
| ファイル | 問題 | 提案 |
|---------|------|------|
| CLAUDE.md | 新機能 X が未記載 | 「## 実装済み機能」に新セクション追加 |
| ... | ... | ... |
### 🟠 更新推奨 (品質向上)
| ファイル | 問題 | 提案 |
|---------|------|------|
| README.md | Feature matrix 未更新 | ... |
### 🟢 更新不要
(問題なしのファイル一覧)
git diff で最終確認適用が完了したら、以下を表示:
/commit skill を呼び出してコミットするよう促す/sync-docs --audit-only) は フェーズ 4 をスキップ/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 を一括検出:
docs/spec/*.toml 内に埋め込まれた version comment (# v1.12.0 で削除 等)[Unreleased] の release 済み version reference 残留memory feedback_data_asset_distribution.md で記録された「新規データファイル追加時 7 箇所の package metadata 更新」を補強する観点。