commit-and-pr

SKILL.md

Commit and PR

git commit → push → PR 作成のワークフローを一括で実行する。

ワークフロー

1. 現状確認

以下を並行実行:

git status          # 未追跡・変更ファイルを確認
git diff HEAD       # 全差分を確認
git log --oneline -5  # 最近のコミットスタイルを把握
git branch -r       # リモートブランチの存在確認

2. ブランチ戦略

  • フィーチャーブランチ上(main/master 以外): そのまま使用。
  • main/master 上: 新しいブランチを作成。変更内容からブランチ名を導出(例: feat/add-loginfix/null-pointer)。
git checkout -b <branch-name>

3. ステージング

git add -A より特定ファイルの指定を優先。以下は絶対に含めない:

  • .env、シークレット、認証情報
  • 未追跡の大きなバイナリ
  • .gitignore に記載済みのビルド成果物
git add <file1> <file2> ...

全変更ファイルが安全な場合は git add -A でも可。

4. コミット作成

全変更を分析し、簡潔なコミットメッセージを日本語で作成(1〜2文、命令形、what ではなく why に焦点)。heredoc で渡す:

git commit -m "$(cat <<'EOF'
<要約行>

<追加コンテキスト(任意)>

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
EOF
)"

pre-commit hook が失敗した場合: 問題を修正して再ステージし、新しいコミットを作成(--amend 禁止)。

5. プッシュ → PR 作成

git push -u origin <branch-name>

PR を作成(本文は日本語で記述)。改行が \n のままエスケープされないよう、必ず一時ファイル経由で渡す:

cat > /tmp/pr_body.md << 'EOF'
## 背景・動機
<なぜこの変更が必要だったかの文脈>

## 概要
- <変更点1>
- <変更点2>

## レビューのポイント
- <特に見てほしい箇所や懸念点>

## テスト手順
- [ ] <CIで自動確認できないもの、手動で確認が必要なものだけ記載>

🤖 Generated with [Claude Code](https://claude.com/claude-code)
EOF

gh pr create --title "<簡潔なタイトル(70字以内)>" --body-file /tmp/pr_body.md

--body "..." に直接文字列を渡すと \n がエスケープされたまま表示される場合があるため、--body-file を使うこと。

PR の URL をユーザーに返す。

安全ルール

  • main/master へのforce pushは禁止。
  • ユーザーが明示的に求めない限り --no-verify は使わない。
  • プッシュ済みのコミットを amend しない。
  • 共有・保護ブランチへのプッシュ前はユーザーに確認する。
  • 変更がない場合(git status がクリーン)はコミットしない。
Weekly Installs
14
First Seen
Feb 20, 2026
Installed on
opencode13
gemini-cli13
github-copilot13
codex13
kimi-cli13
amp13