AgentSkillsCN

commit-push-pr

将当前的代码变更提交并推送到远程仓库,同时创建PR。当您希望将代码变更正式纳入项目时,可优先使用此技能。

SKILL.md
--- frontmatter
name: commit-push-pr
description: 現在の変更をコミットしてプッシュし、PRを作成する。コードの変更をシップしたい時に使用する。

Ship Changes

現在の変更をコミットしてプッシュし、まだPRが存在していない場合は作成します。

手順

以下の手順を順番に実行してください:

1. 現在の状態を確認

  • git status で変更されたファイルを確認
  • git diff でステージされていない変更を確認
  • git diff --staged でステージされた変更を確認
  • 変更がない場合は「コミットする変更がありません」と報告して終了

2. ブランチの確認と作成

  • 現在のブランチ名を確認(git branch --show-current
  • mainブランチにいる場合:
    • 変更内容に基づいた適切なブランチ名を生成(例: feature/add-login, fix/user-validation
    • 新しいブランチを作成してチェックアウト(git checkout -b <branch-name>
    • ユーザーに作成したブランチ名を報告

3. 変更をステージング

  • 変更されたファイルを git add でステージング
  • 機密ファイル(.env、credentials など)は除外すること

4. コミットメッセージの作成とコミット

  • 変更内容を分析し、適切なコミットメッセージを作成
  • コミットメッセージは変更の「なぜ」に焦点を当てる
  • 以下の形式でコミット:
    code
    git commit -m "$(cat <<'EOF'
    コミットメッセージ
    
    Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
    EOF
    )"
    

5. リモートへプッシュ

  • 現在のブランチをリモートにプッシュ
  • 上流ブランチが設定されていない場合は -u origin <branch> を使用

6. PR作成の判断

  • 現在のブランチがmainでない場合、PRが存在するか確認(gh pr view
  • PRが存在しない場合は、 gh pr create を使用し、変更内容に基づいたタイトルと説明を生成
  • PRを作成した場合は open <PR URL> でブラウザを開く

注意事項

  • 各ステップの結果をユーザーに報告すること
  • エラーが発生した場合は適切に処理し、ユーザーに報告すること
  • pre-commit hookが失敗した場合は、問題を修正して新しいコミットを作成すること(--amendは使わない)