mcpField
M
make-pr

make-pr

github.com/prathamdby開発6631 回インストール5 日前に更新
リポジトリ

make-pr について

make-pr は、固定した Git 差分を基にプルリクエストを作成・更新するスキルです。開発者向けに、事前確認、根拠を追跡できる説明文の作成、公開、リモート状態の検証を案内します。

主な機能

  1. 01ブランチとPRの状態確認
  2. 02差分からタイトルと本文を作成
  3. 03プッシュとPRの作成・更新
  4. 04記録と照合してリモート状態を検証

活用シーン

  1. 01ブランチ状態を確認してPRを作成
  2. 02既存PRの設定を保って内容を更新
  3. 03差分や上流状態の変化時に公開を停止

インストール

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

$npx skills add https://github.com/prathamdby/skills --skill make-pr

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

同梱ファイル

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

REFERENCE.md
references/
body-hygiene.md
views.md

詳細

PR を作成する

オプション

デフォルト:base は main、チケット/issue なし、命令形のセンテンスケースのタイトル、非ドラフトで 作成します。「Target 」で base を選択し、「draft PR」でドラフトとして作成します。 更新時は、ユーザーが明示的に変更を要求しない限り、既存のドラフト状態を維持します。「Ticket 」/「prefix []」で、その正確なプレフィックスのみを指定します。 「Issue N」/「fixes #N」/「closes #N」は、issue ごとに Closes #N を1つ付けることを許可します。 issue の URL から N を取得できるのは /issues/N の場合のみです。pull の URL からは取得できません。単独の #N、値の欠落、またはオプションの競合がある場合は処理を中断します。他のコンテキストからチケット/issue を推測しません。 「Conventional title」では、書式と却下のルールを ../commit/REFERENCE.md から読み込みます。先にその依存ファイルの存在を確認します。

1. 事前確認

ブランチ、ターゲット、状態、upstream、未完了の PR を確認します。設定済みの push リモート、または origin を使用し、比較の前に fetch します。detached HEAD、ターゲットが現在のブランチと同一、ターゲットの欠落、fetch の失敗、upstream との遅れ/分岐、未コミット/未追跡のファイル、複数の未完了 PR、または既存の base が異なる場合は処理を中断します。 クローズ済みの PR は無視します。 branch/base | remote | diff hash | PR | draft | title/body/depth | mutation | terminal を記録します。 ブランチがクリーンで、base が確定し、作成/更新のどちらを行うかが判明したら完了です。

2. 固定した差分から下書きを作成

git diff <target>...HEAD のみを読み取り、ハッシュを計算します。空の場合は NO_CHANGES とします。 デフォルトのタイトルは命令形のセンテンスケースで、60文字以内、type なし、末尾にピリオドなしとします。Conventional の場合はコミットの50文字制限を維持します。明示されたチケットのプレフィックスは、文字数制限とチケットの却下対象からは除外されますが、チケットに関する記述の根拠にはなりません。

差分が空でない場合は、REFERENCE.md の本文、詳細度、スタイルのルールを適用します。 フェンス付きビューが必要なテーマの場合に限り、references/views.md を使用します。 タイトルのすべての語句、本文の各行、キャプション、視覚的なラベルを差分のハンクに対応付けます。明示的に許可された Closes フッターのみ例外です。 書式、詳細度、issue の正確な集合、クリーンルームでのトレースを確認できたら完了です。

3. 公開

状態と差分のハッシュを再確認します。変化があれば事前確認に戻ります。不足分/先行分のある upstream には通常どおり push し、強制 push は行いません。fetch して、upstream がローカルの HEAD と一致することを確認します。 明示的な base/head と要求されたドラフト状態を指定して作成するか、ドラフト状態、レビュアー、ラベル、担当者、プロジェクトを維持して内容を更新します。ドラフト状態の変更を許可するのは、ドラフトへの変換が明示的に要求された場合のみです。 成功した変更をそれぞれ記録します。中断した場合は、成功済みの push/作成を繰り返さず、事前確認をやり直します。利用可能であれば、既存の PR も含め、作業開始時にホストの PR リンクツールへ URL を登録します。 PR の URL または記録された変更エラーがあれば完了です。

4. 読み戻し

URL、base/head、タイトル/本文、ドラフト状態、維持されたフィールドを台帳と照合して確認します。API の結果が一部のみの場合、または本文以外に不一致がある場合は、読み戻し後に1回だけ変更を再試行できます。その後はフィールドの差異を示して BLOCKED とします。本文またはフッターが追加された場合は、references/body-hygiene.md を適用します。 本文に3つの見出しがあること、Why が1文であること、Special の制約、Closes の集合が正確であることを確認します。認証/レート制限/fetch/push/プラットフォームのエラーが発生した場合は処理を中断します。 作成/更新、push、URL、詳細度、本文の削除、トレースは、一致を確認してから報告します。 リモートの状態と台帳が一致したら完了です。

最終状態:SUCCESS、NO_CHANGES、BLOCKED。このリーフでは、コミット、強制 push、クローズ済み PR の再オープン、ビルド、テストは行いません。

コメント