dotfiles/claude/skills/create-pr/SKILL.md
JIRAチケットブランチからPRを自動作成するスキル。親ブランチ自動検出、JIRAリンク自動挿入、テンプレートに沿ったPR本文生成を行う。「PR作成」「PRを作って」「/create-pr」などのリクエストで使用。
npx skillsauth add octkp/dotfiles create-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.
JIRAチケット番号のブランチからPull Requestを自動作成する。親ブランチの自動検出、JIRAリンクの自動挿入、テンプレートに沿った本文生成を行う。
/create-pr
引数なしで実行。現在のブランチ名とgit履歴から全て自動判定する。
git branch --show-current でブランチ名を取得main または develop の場合はエラー終了:
gh auth status で認証状態を確認。未認証ならエラー:
gh auth login を実行してください。」gh pr list --head {ブランチ名} --json url --jq '.[0].url' で既存PRを確認。存在する場合:
git status --porcelain で未コミット変更を確認。ある場合:
以下の優先順で親ブランチを特定する:
git fetch origin
CURRENT=$(git branch --show-current)
git branch -r --list 'origin/*' | grep -v "origin/$CURRENT" | grep -v 'origin/HEAD' | while read branch; do
echo "$(git rev-list --count $(git merge-base HEAD $branch)..HEAD) $branch"
done | sort -n | head -1 | awk '{print $2}' | sed 's|origin/||'
最もmerge-baseが近い(= 分岐元に近い)リモートブランチを親とする。
方法Aで結果が得られない場合:
git rev-parse --abbrev-ref @{-1}
いずれも失敗した場合、AskUserQuestionでユーザーに確認する:
main, develop, その他git diff origin/{parent}...HEAD --stat
git log origin/{parent}..HEAD --oneline
差分の内容とコミットメッセージを確認し、変更の概要を把握する。
テンプレート(templates/pr-template.md)の構造に従い、PR本文を構築する:
https://kokopelli-inc.atlassian.net/browse/{ブランチ名} を自動挿入リモートにブランチが存在しない場合:
git push -u origin {ブランチ名}
gh pr create --base {parent} --title "{ブランチ名}: {変更の要約}" --body "$(cat <<'EOF'
# 📝 概要
{自動生成した要約}
# 🔗 関連リンク
- https://kokopelli-inc.atlassian.net/browse/{ブランチ名}
# 🧪 動作確認
# 👀 特に見て欲しいところ
EOF
)"
作成されたPRのURLを表示する。
{ブランチ名}: {変更の要約}BAX-12345: チャットメンバー表示の不整合を修正| 状況 | 対応 |
|------|------|
| main/develop上で実行 | エラーメッセージを表示して終了 |
| 未コミット変更あり | 警告を表示(続行可能) |
| 既存PRが存在 | 既存PRのURLを表示して終了 |
| gh CLI未認証 | エラーメッセージを表示して終了 |
| 親ブランチ検出失敗 | ユーザーに確認 |
documentation
base リポジトリ(~/base)の主要ディレクトリ(dotfiles / home / local / scripts / docs)の README.md と、リポジトリ直下の README.md を、実際のファイル構成に合わせて更新・新規作成するスキル。各ディレクトリの中身を実際に走査して内容を導出するので、設定追加・ディレクトリ移動のあとに走らせると README が現状と一致する。「READMEを更新して」「READMEを作り直して」「base のドキュメントを整える」「/base-readme」などのリクエストで使用。
development
旧 badev-knowledge-base リポの docs/{苗字}/ 配下を、許可リストの現役メンバー 4 人 (takano / tokita / yukioka / ushiroyama) に絞って ba2-workspace/docs/ に同期するスキル。旧リポを source of truth として、衝突時は新リポ側を旧リポで上書きする。コミット・プッシュは行わず、git add までで停止する。「badev-knowledge-base から同期して」「旧リポのナレッジを取り込んで」「badev-knowledge-sync を走らせて」「旧 docs を同期」などのリクエストでトリガー。
documentation
チケット番号(BAX-XXXX)を伝えるだけで、ba2-ticket-knowledge-logger が記録したナレッジドキュメント(README.md / LOG.md / PLAN.md)を全ユーザー・全カテゴリ横断で自動検索して読み込み、要約して提示するスキル。別セッションで過去の調査・実装内容を読み直したいときに使う。「BAX-10987」「BAX-10325のナレッジ読んで」「前に調べたBAX-XXXXの記録」「BAX-XXXXの続きをやりたい」「BAX-XXXX読み直して」などのリクエストでトリガー。
tools
チケット番号(BAX-XXXX)とカテゴリ(調査/実装/その他)を指定して、会話ログとまとめファイルを記録し、JIRAチケットにもコメントとしてナレッジを投稿するスキル。「BAX-10325の調査を記録」「実装にチケット作成」「会話ログを保存」などのリクエストで使用。