mcpField
C
create-pr

create-pr

github.com/fradser開発596108 回インストール5 週間前に更新
リポジトリ

create-pr について

コーディングエージェント向けの GitHub Pull Request 作成スキルです。変更を検証して品質・セキュリティチェックを実行し、PR 情報を整えてレビュー工程に監視を引き継ぎます。

主な機能

  1. 01リポジトリ状態と変更の分析
  2. 02品質チェックとセキュリティスキャン
  3. 03PR タイトル・本文・ラベルの作成
  4. 04Issue との関連付け
  5. 05レビューと CI 監視への引き継ぎ

活用シーン

  1. 01PR 作成前の変更検証
  2. 02Issue に関連付けた PR の作成
  3. 03PR の CI とレビュー監視の継続

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/fradser/dotclaude --skill create-pr

インストール後、Claude Code で/create-prを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

references/
failure-resolution.md
pr-structure.md
requirements.md

詳細

GitHub プルリクエストの作成

包括的な品質検証とセキュリティスキャンを実施し、自動化された PR 作成ワークフローを実行します。

コンテキスト

  • 現在の git ステータス: !git status
  • 現在のブランチ: !git branch --show-current
  • 未プッシュのコミット: !git log --oneline -5
  • GitHub 認証: !gh auth status
  • リポジトリの変更: !git diff --stat HEAD~1..HEAD

要件の概要

リポジトリが準備できていることを確認するため、作業ツリーがクリーンで、認証が完了していることを確認します。PR を作成する前に、すべての品質チェック(lint、テスト、ビルド、セキュリティ)を完了してください。関連する issue には自動クローズキーワードでリンクし、適切なラベルを付けてください。完全なチェックリストについては、references/requirements.md を参照してください。

フェーズ 1:検証と分析

目標:リポジトリの状態を検証し、変更を分析し、テンプレートを検出して、ブロッカーを特定します。

アクション:

  1. コンテキストから GitHub 認証を確認します
  2. ブランチの状態と未プッシュのコミットを確認します
  3. コミット履歴を分析し、Conventional Commits に準拠しているか確認します
  4. 変更されたファイルを特定し、PR の対象範囲を判断します
  5. コントリビューションガイドライン(CONTRIBUTING.md)を確認し、その要件に従います
  6. PR テンプレート(.github/PULL_REQUEST_TEMPLATE.md またはルート/docs の場所)を検出します
  7. 潜在的なブロッカー(マージコンフリクト、テスト不足など)を検出します

テンプレートの検出と準拠の詳細については、references/repository-templates.md を参照してください。

フェーズ 2:品質とセキュリティのチェック

目標:包括的な品質検証とセキュリティスキャンを実施します。

アクション:

  1. プロジェクト固有の品質チェックを実行します(コマンドについては references/quality-validation.md を参照してください)
  2. 機密ファイルとハードコードされたシークレットを対象に、セキュリティスキャンを実行します
  3. コミットメッセージの形式が標準に準拠しているか検証します
  4. チェックに失敗した場合は、references/failure-resolution.md に記載された失敗解決プロセスに従います
  5. すべてのチェックに合格するまで再実行します

フェーズ 3:PR の組み立てと作成

目標:適切な構成、メタデータ、リンクを含むプルリクエストを作成します。

アクション:

  1. 何かを導き出す前に、$ARGUMENTS を確認します。 次の内容が任意の組み合わせで含まれる場合があります。
    • イシュー参照(Closes #456、Fixes #12、または単独の #456) — PR 本文では、自動クローズキーワードとしてそのまま使用します。再度導き出したり、正しいか疑ったりしないでください。/github:resolve-issues は、この方法で解決したイシューを渡してここに処理を委任します。
    • 自由記述の説明 — PR タイトルと「内容/理由」セクションの基礎として使用します。
    • --draft — 手順 6 で gh pr create に渡します。
    • --no-monitor — フェーズ 4 のみを対象とするオプトアウトです。説明文として扱わないでください。
    • --auto-merge — フェーズ 4 で /github:review-pr に渡し、レビューループでグリーンになったときの自動マージを有効にします。説明文として扱わないでください。 説明文/イシューのテキストとして使用する前に、フラグを取り除きます。
  2. GitHub CLI を使用して、($ARGUMENTS からの参照に加えて)関連するその他のイシューを特定し、リンクします。
  3. PR タイトルを生成します(70 文字以内、命令形、絵文字なし)。
  4. references/pr-structure.md のテンプレートに従って PR 本文を組み立てます。
  5. ファイルの変更内容に基づいて、自動ラベルを適用します。
  6. 重要:自動クローズキーワードが機能するのは、PR がリポジトリのデフォルトブランチにマージされる場合のみです。 develop などのデフォルト以外のブランチを対象にする場合、リンクされたイシューはマージ時に自動でクローズされず、手動でクローズする必要があることをユーザーに明示的に警告してください。規則とキーワードの一覧については、references/auto-closing-keywords.md を参照してください。
  7. すべてのメタデータを指定して gh pr create を使用し、PR を作成します。
    • $ARGUMENTS で指定されている場合、または早期のフィードバックが必要な場合や PR が完全に仕上がっていない場合は、--draft を使用します。
    • 指定がある場合は、--reviewer でレビュアーを、--assignee で担当者を設定します。
    • 簡単な変更では、--fill を使用してタイトルと本文を自動入力します。
  8. 最終的な PR の URL とステータスをユーザーに報告します。ここでフォアグラウンドの gh pr checks --watch は実行しないでください。フェーズ 4 では /github:review-pr に引き継ぎ、永続的な CI の監視を担当します。ブロッキングする --watch はターンを停滞させ、その監視を重複させてしまいます。
  9. 重要:フェーズ 4 に進みます。 PR の作成は、このスキルの終了ではありません。$ARGUMENTS に --no-monitor が含まれる場合、またはユーザーが明示的にオプトアウトした場合に限り、フェーズ 4 をスキップしてください。CI がグリーンに見える、レビュアーが割り当てられていない、変更が些細に見えるといった理由でスキップしないでください。

フェーズ 4:PR 作成後の引き継ぎ(デフォルトで有効)

トリガー:デフォルトの動作です。$ARGUMENTS に --no-monitor が含まれている場合、またはユーザーがオプトアウトした場合を除き、引き継ぎます。

目標:CI の監視とレビュアーコメントのトリアージを、専用スキルに委任します。

アクション:PR の作成後、Skill("github:review-pr", "<PR#>") を呼び出して、ベースラインレビューを実施し、継続的な CI とコメントの監視を開始します。review-pr スキルは、Monitor スクリプト、懐疑的なトリアージエージェント、レビュー → 修正 → コミットとプッシュ → レビュー待ちのループから、マージの判断、マージ後のブランチ整理(リモートとローカルのヘッドのクリーンアップ、fetch --prune、main/develop のファストフォワード)までを担当します。CI が成功し、すべてのコメントのトリアージが完了すると、review-pr はクローズアウトの手順に入る前に、マージするかどうかを AskUserQuestion でユーザーに尋ねます(マージコミット/スカッシュ/リベース/しない)。 マージを選択した場合に限り、サマリーコメントと本文の書き換えを実行します。マージを尋ねる処理はプラグインの Stop フックによって強制されます。停止条件が満たされると、review-pr はクローズアウト状態を設定し、判断が確定するまでユーザーの各ターンでターン終了が 1 回ブロックされるため、引き継ぎで質問が黙って省略されることはありません。マージ後の整理を含む引き継ぎの契約については、references/pr-creation-handoff.md を参照してください。このスキルはその整理を重複して行いません。整理は引き継ぎ先の責任です。

--auto-merge の引き継ぎ:$ARGUMENTS に --auto-merge が含まれていた場合は、Skill("github:review-pr", "<PR#> --auto-merge") として review-pr の呼び出しに引き継ぎます。これは review-pr に対し、マージの AskUserQuestion を省略するよう指示します。クローズアウトの手順(サマリーコメントと本文の書き換え)は先に実行され、その後、CI が成功し、エスカレーション対象外のすべてのコメントのトリアージが完了すると、gh pr merge --merge で自動マージします。契約とエスカレーション時のフォールバックについては、references/pr-creation-handoff.md を参照してください。引き継ぐのはユーザーが明示的に設定した場合に限ります。推測してはいけません。

重要:このスキルは、プラグインで PR を作成する唯一の経路です。 /github:resolve-issues などの他のスキルは、品質ゲートやこの引き継ぎを回避した PR が作成されないよう、gh pr create を直接呼び出す代わりに、ここに処理を委任します。契約の全容については、references/pr-creation-handoff.md を参照してください。回避経路を追加しないでください。

参考資料

  • 要件:references/requirements.md - 作成前チェックリストとコミット基準
  • リポジトリテンプレート:references/repository-templates.md - コントリビューションガイドラインと PR テンプレート
  • 品質検証:references/quality-validation.md - Node.js/Python の検証コマンド
  • PR の構成:references/pr-structure.md - タイトルのガイドライン、本文テンプレート、ラベル
  • 自動クローズキーワード:references/auto-closing-keywords.md - デフォルトブランチの制限とキーワード一覧
  • PR 作成の引き継ぎ:references/pr-creation-handoff.md - PR 作成専用経路の契約
  • 失敗の解決:references/failure-resolution.md - 失敗修正のためのエージェント連携
  • 例:references/examples.md - コミットメッセージの例

コメント