templates/claude/skills/review-to-rules/SKILL.md
PRレビュー指摘から規約・ナレッジ・仕様への反映を自動化。修正した指摘を分析し、CTO/CPOエージェントが管轄の rules/ / knowledge/ / docs/ に反映すべきか判断・実行する。「/review-to-rules」「指摘を規約化して」と言った時に使用。
npx skillsauth add hirokimry/vibecorp review-to-rulesInstall 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.
PRレビュー(CodeRabbit / 人間)で修正した指摘を分析し、再発防止のために CTO/CPO エージェントが各自の管轄で rules/ / knowledge/ / docs/ に反映する。
/review-to-rules # 現在のブランチのPRから指摘を取得
/review-to-rules <PR URL> # PR URLを直接指定
/review-to-rules --worktree <path> # worktree 内で実行
--worktree <path> が指定された場合、全操作を指定パス内で実行する。
cd <path> && command で実行する<path>/ を基準とした絶対パスを使用する--worktree <path> を引き継ぐ.claude/knowledge/: worktree モードでは <path>/.claude/knowledge/ を使用するPRのレビューコメントから、返信済み(=修正済み)の指摘を収集する。
「返信済み」の判定は、指摘コメントに対して in_reply_to_id で紐づく返信が存在するかで行う。
# 全トップレベルコメントのID
ALL_IDS=$(gh api repos/{owner}/{repo}/pulls/{pr_number}/comments \
--paginate \
--jq '[.[] | select(.in_reply_to_id == null) | .id]')
# 返信済みID一覧
REPLY_TO_IDS=$(gh api repos/{owner}/{repo}/pulls/{pr_number}/comments \
--paginate \
--jq '[.[] | select(.in_reply_to_id != null) | .in_reply_to_id] | unique')
# CodeRabbitの返信済み指摘を抽出
CR_IDS=$(gh api repos/{owner}/{repo}/pulls/{pr_number}/comments \
--paginate \
--jq '[.[] | select(.user.login | test("coderabbit"; "i")) | select(.in_reply_to_id == null) | .id]')
echo "$CR_IDS" | jq --argjson replied "$REPLY_TO_IDS" \
'[.[] | select(. as $id | $replied | index($id))]'
# 人間レビュアーの返信済み指摘を抽出
HUMAN_IDS=$(gh api repos/{owner}/{repo}/pulls/{pr_number}/comments \
--paginate \
--jq '[.[] | select(.user.login | test("coderabbit"; "i") | not) | select(.in_reply_to_id == null) | .id]')
echo "$HUMAN_IDS" | jq --argjson replied "$REPLY_TO_IDS" \
'[.[] | select(. as $id | $replied | index($id))]'
返信済みの指摘IDを取得したら、そのIDで指摘本文を取得する。
収集した指摘を以下の観点で分類する:
| 分類 | 反映先 | 判断する専門職 |
|------|--------|---------------|
| 全員が守るべきコーディング規約 | .claude/rules/ | CTO |
| 技術的ノウハウ・パターン | .claude/knowledge/cto/ | CTO |
| プロダクト仕様・設計パターン | docs/specification.md or .claude/knowledge/cpo/ | CPO |
| 一過性の指摘(反映不要) | なし | — |
分類基準:
分類結果に基づき、該当する専門職エージェントを 順次起動 する(ファイル競合防止)。
該当する指摘がないエージェントは起動しない。
各エージェントに以下を渡す:
あなたは {役職名} として、レビュー指摘を管轄の規約・ナレッジに反映してください。
## 最初にやること(必須)
管轄の knowledge ディレクトリが存在しない場合は作成する:
```bash
mkdir -p .claude/knowledge/{role}/
```
## あなたの管轄
- rules/: {CTO の場合のみ — 全エージェントが守るべきコーディング規約}
- docs/: {管轄ファイル}
- knowledge/{role}/: 自分のナレッジディレクトリ
## 反映すべき指摘
{指摘内容のリスト}
## 判断基準
各指摘について、以下の4つから判断すること:
1. **rules/ に追加**: 全エージェントが守るべきルール(CTO のみ)
- 例: 「テストではモックを使わない」「コードブロックに言語指定を付ける」
2. **docs/ に追加**: MUST/MUST NOT 制約
- 例: 「APIキーをクライアントに含めてはならない」
3. **knowledge/{role}/ に記事として蓄積**: 自分の判断ノウハウ
- 例: 「deprecation 対応パターン」「設計指針」
4. **反映不要**: 一過性のバグ修正、タイポ、文脈依存の指摘
## 制約
- 管轄ファイルのみ編集すること
- 既存の記述スタイル・フォーマットを維持する
- 過剰な加筆をしない
## 出力
- 反映したファイルと内容の要約
- 反映不要と判断した指摘とその理由
全エージェントの結果を統合して報告する:
## review-to-rules 結果
### 反映内容
#### CTO
- .claude/rules/testing.md: 「コードブロックに言語指定を付ける」を追加
- .claude/knowledge/cto/patterns.md: deprecation 対応パターンを記事化
#### CPO
- (該当指摘なし)
### 反映不要と判断した指摘
- [タイポ修正] — 一過性の修正のため
全エージェントの処理が完了したら、必ずスタンプを発行する(反映の有無に関わらず):
mkdir -p "$CLAUDE_PROJECT_DIR/.claude/state"
touch "$CLAUDE_PROJECT_DIR/.claude/state/review-to-rules-ok"
このスタンプがないと review-to-rules-gate フックにより gh pr merge がブロックされる。
git add / git commit / git push はこのスキル内では実行しない(呼び出し元に委ねる)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 段階で挙動を壊さず適用する。自動マージ禁止。