templates/claude/skills/pr/SKILL.md
GitHub PR作成・更新スキル。ユーザーが「/pr」「PR作成」「プルリクエスト作成」と言った時に使用。機能: (1) 既存PR確認と新規/更新モード判定、(2) ブランチ名からIssue番号自動抽出、(3) ベースブランチとの差分分析、(4) Issueリンクプレフィックス設定(ref/close)、(5) PRテンプレート自動生成、(6) PR作成/更新とブラウザ表示。オプション: --close, --ref でプレフィックス指定可能。
npx skillsauth add hirokimry/vibecorp prInstall 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.
GitHub PRを作成・更新する。 結果のみを簡潔に返すこと。途中経過は不要。
--worktree <path> が指定された場合、全操作を指定パス内で実行する。
cd <path> && command で実行する<path>/ を基準とした絶対パスを使用する--worktree <path> を引き継ぐgh repo view --json owner,name,defaultBranchRef --jq '.owner.login + "/" + .name + " " + .defaultBranchRef.name'
REPO_OWNER/REPO_NAME と DEFAULT_BRANCH として保持する。
以下の優先順で検出する。
1. 既存PRから取得(最優先):
gh pr view --json baseRefName,number --jq '.baseRefName + " " + (.number | tostring)'
取得できれば更新モード。baseRefName をベースブランチとする。
2. merge-base で推定(新規PR時):
候補ブランチ(DEFAULT_BRANCH, 直近の feature ブランチ等)との merge-base を比較し、最も HEAD に近いものを選ぶ。
git merge-base HEAD origin/$DEFAULT_BRANCH
3. デフォルト: DEFAULT_BRANCH(ステップ1で取得済み)
ブランチ名から取得(例: dev/12345_feature → Issue #12345)
git diff origin/$BASE_BRANCH...HEAD
git log --oneline origin/$BASE_BRANCH...HEAD
--close オプション指定時: close--ref オプション指定時: refclose).github/PULL_REQUEST_TEMPLATE.md が存在すればそれを読み込み、差分分析に基づいて各セクションを埋める。
テンプレートが存在しなければ、以下の構成で本文を生成する:
概要の書き方:
Issueリンクの書き方:
{prefix} https://github.com/{REPO_OWNER}/{REPO_NAME}/issues/{ISSUE_NUMBER}
新規作成:
git push origin HEAD && gh pr create --title "$ISSUE_TITLE" --body "$PR_BODY" --base "$BASE_BRANCH"
auto-merge の有効化(新規作成時のみ):
gh pr merge --squash --auto
リポジトリ設定で auto-merge が無効の場合はスキップし、結果報告にその旨を記載する。
更新:
git push origin HEAD && gh pr edit $PR_NUMBER --title "$ISSUE_TITLE" --body "$PR_BODY"
作成/更新後にブラウザで表示:
gh pr view --web
PR 作成 + auto-merge 設定が完了した後、セッションで生まれた知見を knowledge/buffer に蓄積するため /session-harvest を末尾同期で呼ぶ。PR 作成フローはブロックしない(呼出順: PR 作成 → auto-merge 設定 → session-harvest)。
新規 PR 時のみ実行: ステップ2で PR_NUMBER が取得できた場合は既存 PR 更新であり session-harvest は呼ばない(同一セッションの知見が重複蓄積するのを防ぐ)。PR_NUMBER が空の場合のみ新規作成と判定する。
# 新規 PR の場合のみ実行(既存 PR 更新時はスキップ)
if [ -z "${PR_NUMBER:-}" ]; then
PRESET="$(awk '/^preset:/ { sub(/^preset:[[:space:]]*/, ""); print; exit }' \
"${CLAUDE_PROJECT_DIR:-.}/.claude/vibecorp.yml" 2>/dev/null || echo "")"
case "$PRESET" in
standard|full)
# /session-harvest は minimal プリセットでは配置されないため standard 以上のみ
if ! /session-harvest; then
echo "[pr] /session-harvest が失敗しました(PR 作成は成功)" >&2
fi
;;
esac
fi
失敗しても PR 作成結果は成功扱い。呼出は末尾同期のため PR URL の返却前に完了する。
gh issue view {番号} --json title で取得したIssueタイトルを使用&& で連結実行--force は使用しない\(...) を使わない — Bash 上で \ がエスケープ文字、() がサブシェルとして解釈され、意図しない展開やパースエラーを引き起こすため。必ず + で結合する2>/dev/null、|| echo、; echo 等のリダイレクトやフォールバックを付加しない(根拠){新規/更新} {PR URL}
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 段階で挙動を壊さず適用する。自動マージ禁止。