templates/claude/skills/sync-check/SKILL.md
コード変更に対する docs/, knowledge/, README.md の整合性チェック(読み取り専用)。 各職種エージェントを立ち上げ、管轄ファイルのみをチェックさせる。 push前に必ず実行される。「/sync-check」と言った時に使用。
npx skillsauth add hirokimry/vibecorp sync-checkInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
コード変更に対して docs/、knowledge/、README.md が整合しているかを、各職種エージェントに委任して 確認する。
このスキルは チェックのみ 行い、ファイルの編集は一切しない。
# ベースブランチとの差分(PRスコープ)
git diff main...HEAD --name-only
# 未コミットの変更も含める
git diff --staged --name-only
git diff --name-only
以下のケースは整合性チェック不要。エージェント起動をスキップしてステップ6のスタンプ発行に進む:
docs/ や knowledge/ や README.md のみの変更(コードとの整合問題が発生しない).gitignore 等の軽微な変更のみ変更内容に基づき、関連する職種のエージェントを Agent ツールで並列起動 する。 各エージェントは 自分の管轄ファイルだけ を読み取りチェックする。
.claude/vibecorp.yml から preset を取得する:
awk '/^preset:/ { sub(/^preset:[[:space:]]*/, ""); print; exit }' .claude/vibecorp.yml
minimal / standard → デフォルト(CTO / CPO のみ)full → デフォルト + 差分キーワードにヒットした C*O を自動起動CTO / CPO は常時起動する。
| エージェント | 管轄ファイル | 起動条件 |
|-------------|------------|---------|
| CTO | docs/ 内の技術設計ドキュメント、knowledge/cto/ | アーキテクチャ・技術設計・エージェント定義・hooks・スキル関連の変更 |
| CPO | docs/specification.md、knowledge/cpo/、README.md | 仕様・UI・プロンプト・スキル・フック・エージェント・README 関連の変更 |
preset: full の場合、以下のトリガー表に従い git diff main...HEAD -U0 に対してキーワード検出する。ヒットした領域の C*O を CTO / CPO に 加えて 並列起動する(Phase 3 /review-loop と同一のトリガー表)。
| 領域 | diff 内キーワード | 起動 C*O | 管轄ファイル |
|---|---|---|---|
| 課金影響 | API call, model:, claude -p, ANTHROPIC_API_KEY, rate limit, 従量, トークン消費, npx, bunx | CFO | docs/cost-analysis.md, knowledge/accounting/ |
| セキュリティ | auth, token, secret, encrypt, permission, credential, curl, wget, eval, exec | CISO | docs/SECURITY.md, knowledge/security/ |
| 法務 | dependency, LICENSE, third-party, 規約, プライバシー, 第三者, package.json, requirements.txt, go.mod | CLO | docs/POLICY.md, knowledge/legal/ |
| 組織運営 | .claude/agents/, .claude/hooks/, .claude/rules/, .claude/skills/ | SM | docs/ai-organization.md, knowledge/sm/ |
検出コマンド例(課金領域):
git diff main...HEAD -U0 | grep -iE 'API call|model:|claude -p|ANTHROPIC_API_KEY|rate limit|従量|トークン消費|npx|bunx'
該当した領域のみ起動する(複数ヒット時は該当全 CO を並列)。standard / minimal プリセットでは CO の自動起動は行わない(既存挙動維持)。
各エージェントは name を指定した永続 teammate として起動する(結果返却後も idle で残るため、ステップ5で必ず shutdown する)。起動した name はステップ5で参照するため全て保持しておく。
各エージェントに以下を渡して Agent ツールで起動する:
あなたは {役職名} として、コード変更に対する管轄ドキュメントの整合性をチェックしてください。
## あなたの管轄ファイル
{管轄ファイルリスト}
## コード変更の差分
{git diff の内容}
## チェック観点
- 矛盾: コード変更がドキュメントの記載と食い違っていないか
- 更新漏れ: ドキュメントに反映すべき変更が漏れていないか
- README 乖離(CPO): 実装と README の記載に乖離がないか
- README 未反映(CPO): 新しいスキル・フック・エージェントが追加されたのに README に未反映でないか
- POLICY.md 違反(法務のみ): MUST/MUST NOT 制約に抵触していないか
## 制約
- 読み取りのみ。ファイルを編集してはならない
- 管轄外のファイルに言及しない
- 判定は「OK / 要更新 / 矛盾あり」の3段階
## 出力フォーマット
- 管轄ファイル: {ファイル名}
- 判定: {OK / 要更新 / 矛盾あり}
- 詳細: {具体的な内容(問題がある場合のみ)}
全エージェントの結果を統合し、以下のフォーマットで出力する:
## sync-check 結果
### 変更ファイル
- {変更ファイル一覧}
### チェック結果
#### CTO(技術設計)
- docs/design-philosophy.md: ✅ OK
- knowledge/cto/decisions.md: ⚠️ 要更新 — {詳細}
#### CPO(プロダクト)
- docs/specification.md: ✅ OK
#### CFO / CISO / CLO / SM(full プリセットかつキーワードヒット時のみ)
- docs/cost-analysis.md: ✅ OK
- docs/SECURITY.md: ✅ OK
- docs/POLICY.md: ✅ OK
- docs/ai-organization.md: ✅ OK
### 総合判定
- ✅ 問題なし → push してよい
- ⚠️ 要更新あり → /sync-edit を実行してください
- ❌ 矛盾あり → /sync-edit を実行してください
ステップ3で起動した全エージェントへ shutdown_request を SendMessage で送信し、チームを解散する。
name 付きで起動された teammate は結果を返却した後も idle 状態でペインを占有し続けるため、総合判定(✅ / ⚠️ / ❌)にかかわらず必ず送信する。
{"to": "<エージェント名>", "message": {"type": "shutdown_request", "reason": "sync-check 完了"}}
shutdown_response を返した時点で terminate されるため、メイン側での応答待ちコードは不要総合判定が ✅ の場合のみ スタンプを発行する。スタンプは ~/.cache/vibecorp/state/<repo-id>/ 配下に作成され、.claude/ 配下への書込確認プロンプトを回避する:
. "$CLAUDE_PROJECT_DIR/.claude/lib/common.sh"
STAMP_DIR="$(vibecorp_stamp_mkdir)"
touch "${STAMP_DIR}/sync-ok"
⚠️ または ❌ がある場合はスタンプを発行しない。/sync-edit による修正後、再度 /sync-check を実行すること。
\(...) を使わない — Bash 上で \ がエスケープ文字、() がサブシェルとして解釈され、意図しない展開やパースエラーを引き起こすため。必ず + で結合する2>/dev/null、|| echo、; echo 等のリダイレクトやフォールバックを付加しない(根拠)data-ai
skills/**/SKILL.md 内に embed された 5 行以上のエージェント呼出プロンプトテンプレ・長文ブロックを .claude/rules/notification-prompt-extraction.md 基準で skills/<skill>/prompts/<name>.md に切り出す migration skill。「/prompts-extract-all」「プロンプト切り出し」「プロンプト extract」「SKILL.md プロンプト migration」と言った時に使用。検出は awk でフェンスコードブロックを抽出して行数カウント、要否判定は LLM が閾値・用途軸・命名規約と照合。diff 提案 → CEO 承認 → 書換の 2 段階で挙動を壊さず適用する。自動マージ禁止、自律ループ対象外。
documentation
.github/workflows/**/*.{yml,yaml} の --body 通知文と hooks/**/*.sh の長文 echo/printf/heredoc を .claude/rules/notification-prompt-extraction.md 基準で個別 .md ファイルに切り出す migration skill。「/notifications-extract-all」「通知文切り出し」「通知文 extract」「workflow 通知 migration」と言った時に使用。検出は grep で機械絞り込み、要否判定は LLM が閾値・命名規約と照合。diff 提案 → CEO 承認 → 書換の 2 段階で挙動を壊さず適用する。自動マージ禁止、自律ループ対象外。
development
`**/*.sh` / `**/*.js` / `**/*.ts` / `**/*.py` / `**/*.rb` / `**/*.go` / 設定ファイル等のコード内コメントを一括棚卸しし、 `.claude/rules/code-comments.md` と機械的に照合する。 diff 提案 → CEO 承認 → 書換の 2 段階で自動マージを禁じる。 生成コード・`node_modules`・`vendor`・`dist`・`build` 等は除外する。 「/vibecorp:comments-rewrite-all」「コメント全書き直し」「コード内コメント棚卸し」 と言った時に使用。
development
skills/**/SKILL.md・agents/*.md・.claude/rules/*.md を .claude/rules/prompt-writing.md 基準で一括書き直し提案するスキル。「/prompts-rewrite-all」「プロンプト書き直し」「スキル一括書き直し」「エージェント書き直し」と言った時に使用。claude-code-guide サブエージェントで Claude Code 公式仕様(docs.claude.com)を確認し、prompt-writing.md の指針 MUST / 禁止パターンと照合する。diff 提案 → CEO 承認 → 書き換えの 2 段階で挙動を壊さず適用する。自動マージ禁止。