mcpField
P
pr-prep

pr-prep

github.com/boshu2開発4501.1k 回インストール今日更新
リポジトリ

pr-prep について

pr-prep は、外部リポジトリへの変更を準備するコントリビューター向けスキルです。既存作業を調査し、上流の規約に沿ってブランチを検証し、レビュー用 PR を作成します。公開前に停止し、タイトル、本文、ベース、リモートの明示的な承認を待ちます。

主な機能

  1. 01重複する Issue と PR の検索
  2. 02上流のコントリビューション規約の確認
  3. 03ブランチ範囲と変更ファイルの点検
  4. 04文書化された検証コマンドの実行
  5. 05レビュー用 PR 本文の下書き
  6. 06送信前の明示的な承認要求

活用シーン

  1. 01上流への貢献用ブランチの準備
  2. 02変更の取りまとめ前に競合する作業を確認
  3. 03テスト証拠付き PR の下書き作成
  4. 04公開前の貢献内容のレビュー

インストール

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

$npx skills add https://github.com/boshu2/agentops --skill pr-prep

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

同梱ファイル

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

references/
case-study-historical-context.md
commit-split-advisor.md
lessons-learned.md
package-extraction.md
pr-prep.feature
scripts/
validate.sh

詳細

PR 準備スキル

対象リポジトリの実際の慣例に合わせ、ブランチの内容を検証し、レビュー可能な PR 本文を作成して、外部へのコントリビューションを準備します。ワークフローを実行してください。ユーザーが正確なタイトル、本文、ベース、リモートを明示的に承認するまでは、何も提出しないでください。

重要な制約

  • 理由:作業の重複を防ぎます。 コントリビューションをまとめる前に、オープン中およびマージ済みのイシュー/PRと、現在のデフォルトブランチを確認してください。
  • 理由:対象リポジトリのルールを尊重します。 対象リポジトリの AGENTS.md、CONTRIBUTING.md、PR テンプレート、リリースノート、最近受け入れられた PR を読みます。ローカルの AgentOps の慣例が、上流のコントリビューションルールに優先することはありません。
  • 理由:スコープを独立した単位に保ちます。 ブランチに無関係なテーマ、すでにマージされた変更、生成物によるノイズ、またはシークレットが含まれている場合は停止します。
  • 理由:証拠の正確性を保ちます。 リポジトリで指定されたビルド、リント、テストのコマンドを実行してください。チェックが通っていない場合、完了としてマークしてはいけません。
  • 理由:破壊的な履歴編集を避けます。 ユーザーが別途書き換えを許可しない限り、コミットの分割は提案のみにとどめます。
  • 理由:外部への公開は状態を変更します。 まず下書きを作成して正確な内容を提示し、gh pr create の実行やプッシュの前に明示的な承認を得てください。

対象範囲とモード

外部リポジトリおよびオープンソースへのコントリビューション準備に使用します。通常の内部コミットや、AgentOps の main への直接リリース経路には使用しないでください。

折りたたまれた pr-research トリガーが上流調査モードに切り替えます。このモードでは、準備に先立って既存作業の調査、コントリビューションガイドラインの分析、マージ済み PR の調査、メンテナーのパターン調査を行います。その調査結果は .agents/research/YYYY-MM-DD-upstream-<slug>.md に保存します。

入力は、対象リポジトリ、現在のコントリビューションブランチ、任意のイシュー、任意の指定ベース/リモートです。準備の過程でローカルの成果物を作成してもかまいませんが、公開、履歴の書き換え、メンテナーへの連絡を行う権限が与えられるわけではありません。

ワークフロー

  1. 既存作業を確認します。 上流のデフォルトブランチとリモートを特定します。対象の動作、シンボル、イシュー ID を使って、オープン中/クローズ済みのイシューと PR を検索します。競合するコントリビューションがある場合は、ユーザーが進め方を選ぶまで停止します。
  2. 慣例を調べます。 リポジトリの指示、コントリビューション文書、PR テンプレート、CI 設定、変更履歴のポリシー、最近マージされた PR、コミットの件名を確認します。メンテナーが実際に使っているタイトル、本文、テストの慣例を正確に記録します。
  3. 変更の独立性を検証します。 マージベースからの差分範囲を比較し、変更されたファイルとコミットを一覧表示して、動作ごとに分類します。無関係なファイル、シークレット、生成された成果物、デバッグ出力、ベースブランチにすでにある変更を削除するか、報告します。
  4. ブランチを検証します。 対象リポジトリで文書化されているフォーマッター、リント、ビルド、テスト、およびコントリビューション固有のチェックを実行します。コマンド、終了ステータス、関連する結果を記録します。失敗したチェックは、下書きでも失敗として記載します。
  5. コミットを分析します。 50 行未満かつ 4 ファイル以下の差分には、単一のコミットを推奨します。それ以外の場合は、commit-split-advisor.md に従います。提案ではファイルグループの順序を示し、各コミットがビルド可能な状態を保つようにします。書き換えは行いません。
  6. PR の下書きを作成します。 .agents/pr-prep/YYYY-MM-DD-<slug>.md に、提案するタイトル、上流/ベース、関連イシュー、簡潔な背景/変更の概要、変更一覧、実行した証拠だけを含むテスト計画、互換性/ロールバックに関する注記、レビュー担当者に関係するリスクを記載します。上流のテンプレートに正確に従います。
  7. 確認 — ユーザーによるレビュー必須。 タイトル、本文、ベース、リモート、ブランチ、検証結果、失敗または未テストのチェックを提示します。承認または修正を求め、返答を待ちます。無回答、「準備して」という依頼、または以前に付与されたプッシュ権限は、この PR を作成する承認にはなりません。
  8. 承認後にのみ提出します。 HEAD が移動していた場合は、差分と検証を再確認してから、gh pr create --title <approved-title> --body-file <approved-file> --base <approved-base> を実行します。作成された URL を報告し、依頼がない限り PR にそれ以上の変更を加えません。

PR 本文の形式

## Summary
<what changed and why; 1-3 sentences>

## Changes
- <reviewable behavior or implementation point>

## Test plan
- [x] `<command>` — <result>
- [ ] <not run> — <reason>

Fixes #<issue>

チェック済みボックスは、実行済みの PASS の証拠にのみ使用してください。失敗またはスキップしたチェックは表示したままにしてください。上流のポリシーで許可される場合は、末尾にクローズキーワードを記載してください。

出力仕様

  • 成果物ディレクトリ: ローカルのレビュー用ドラフトには .agents/pr-prep/、任意の上流調査には .agents/research/ を使用します。現在の Git ブランチがコードの成果物です。
  • ファイル名の規則: YYYY-MM-DD-<contribution-slug>.md。無関係なドラフトを上書きしないでください。
  • シリアライズ/スキーマ形式: 上流の PR テンプレートに沿った Markdown とし、タイトル、リモート/ベース、概要、変更点、テスト計画、リスク、課題との関連を含めます。
  • バリデーターコマンド: 承認を依頼する前に、bash skills/pr-prep/scripts/validate.sh、対象リポジトリで文書化されているチェック、git diff --check、およびリポジトリに適したシークレットスキャンを実行します。
  • 後続への引き継ぎ: まずユーザーのレビューに使用し、明示的な承認後に限り、gh pr create --body-file と上流のメンテナーに引き継ぎます。

品質基準

  • 慣例に準拠: タイトル、テンプレート、コミットの形式、チェックが上流の慣例に沿っています。
  • 分離: 変更したすべてのファイルが、ひとつの貢献内容に沿っています。
  • 証拠に基づく: テスト計画で、合格、失敗、未実施のチェックを区別しています。
  • レビューしやすい: 根拠、動作、リスク、互換性が簡潔かつ明確です。
  • 安全: シークレット、無関係な変更、破壊的な書き換え、暗黙の送信がありません。
  • 再現可能: 正確なブランチ範囲、コマンド、ベース、リモート、ドラフトのパスが記載されています。

例

ユーザーの依頼: 「このブランチを上流への PR 用に準備してください。」

上流のルールと過去の作業を調査し、ブランチを検証して、ローカルの PR ドラフトを作成したら、レビューのチェックポイントで停止します。

ユーザーの依頼: 「先ほど承認したドラフトを使って PR を送信してください。」

ドラフトと HEAD が承認時の状態に一致することを確認してから、その PR を作成し、URL を報告します。

トラブルシューティング

問題対応
競合する PR が存在する重複する内容を示し、ユーザーの指示を待ちます
ブランチに複数のテーマが混在している分割するグループを提案します。許可なく書き換えないでください
必須チェックが失敗するドラフトに失敗状態を残し、準備完了であるかのように示さないでください
上流のテンプレートがない最近マージされた PR から推測し、その推測を明記します
承認後に HEAD が変わった証拠を再生成し、再度承認を依頼します

参考資料

コメント