merge-pr について
jackin の PR をマージするためのスキルです。CI とロードマップの確認を順に行ってから squash merge し、高影響の変更や失敗したチェックには停止・確認条件を設けます。
主な機能
- 01対象 PR の特定と確認
- 02変更の影響度に応じた確認要求
- 03CI の完了待ち、またはオプションに応じた停止
- 04ロードマップ項目の完了処理または更新
- 05PR メタデータの調整と squash merge
活用シーン
- 01jackin プロジェクトで承認済み PR をマージ
- 02保留中の CI チェックが完了してからマージ
- 03PR がロードマップ項目を完了した際の文書移動とリンク更新
- 04高影響の変更や失敗したチェックに確認手順を適用
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ jackin-project/ jackin-dev --skill merge-prインストール後、Claude Code で/merge-prを入力して読み込まれたか確認します。
詳細
merge-pr
jackin' のマージ前ゲートをフェイルクローズで順に実行し、ロードマップ項目をドキュメントに移してから、スカッシュマージします。自動読み込みされる .github/ のエージェントルールと PULL_REQUESTS.md を再利用し、順に実行しますが、内容を再記述することはありません。
使用する場合
- オペレーターが
/jackin-dev:merge-pr [<PR>]を実行して jackin' の PR をマージする場合(デフォルトは現在のブランチの PR)。
使用しない場合
- PR の作成や反復修正 →
/jackin-dev:create-pr//jackin-dev:propose。
引数
--no-poll— 保留中の CI を待たず、停止して報告します。--admin <check>— 名前を指定した失敗チェックのバイパスを許可します(影響範囲の広い変更に対する確認は引き続き必要です)。
危険信号 — 停止
- この PR に対する明確な承認がなく、影響範囲が広い → 停止し、先に確認します。
- 必須の CI チェックが失敗している → 停止します(
--admin <check>と確認なしで--adminによるバイパスはできません)。 - PR のマージまたは進行時にロードマップ項目が廃止されていない、またはステータスが変更されていない → 停止し、先に修正します。
手順
- PR を特定します。 現在のブランチの PR、または引数で指定された PR を使います。
gh pr viewとgh pr diffを読みます。 - 影響範囲を分類します。 差分がバージョン管理対象のスキーマ、認証/セキュリティ領域、
.github/workflows/**に触れる場合、または強制プッシュ/--adminが必要な場合は高です。高の場合は、明示的な確認を一度得るまで保留します。通常の場合は続行します(このスキルを呼び出すことが実行の承認です)。 - CI ゲート。
gh pr checks <PR>を実行します。保留中のチェックがあれば(--no-pollが指定されていない限り)すべて成功するまでポーリングします。失敗したチェックがあれば停止します。cargo xtask schema-checkとテスト/clippy/fmt のジョブを実行する CI を信頼し、ローカルでは再実行しません。 - ロードマップ項目の廃止。 この PR は、ロードマップ項目の最後の部分を提供しますか?
- はい →
[bin]cargo xtask roadmap retire <slug> --planを実行すると、作業リスト(ページの内容、すべての被リンク(grep <slug>)、およびmeta.jsonのエントリー)が出力されます。[agent] 判断を伴う移動を行います。オペレーター向けの詳細はguides//commands/へ、設計の詳細はreference/へ移し、roadmap/index.mdxに## Completedの箇条書きを追加して、被リンクの参照先を変更します。docs:でコミットします。[bin]cargo xtask roadmap retire <slug> --applyを実行すると、meta.jsonのエントリーを削除し、.mdxを削除して監査を実行します。被リンクのいずれかが削除済みのスラッグを指したままの場合は失敗します。bunのドキュメントゲートを実行し、プッシュします。 - 一部のみ →
cargo xtask roadmap retire <slug> --partialを実行して**Status**: Partially implementedに設定し、ページは残します。残りのフェーズを明記し、コミットしてプッシュします。
- はい →
- メタデータを整合させます。 タイトルと本文は最終的な差分に合っていますか?スカッシュマージではタイトルが履歴にそのまま記録されます。古くなっている場合は
gh pr editで修正し、返信で変更を伝えます。 - スカッシュマージします。 本文ファイルを作成します(チェックリストなしの文章による要約)。
cargo run -p jackin-pr-trailers -- --body-fileでトレーラーを追加してから、gh pr merge <PR> --squash --body-fileを実行します。タイトルに(#N)が含まれていることを確認します。 - 報告します。 マージされた SHA と、廃止処理の内容を報告します。
よくある間違い
- 以前のセッションでの「すべてをすぐマージして」という指示を承認として扱うこと — その承認は引き継がれません。
- CI が保留中または失敗している状態でマージすること、またはチェックごとの明示的な許可なしで
--adminによるバイパスを行うこと。 Status: Resolvedのロードマップページを残し、ドキュメントへの移行を行わないこと。- スカッシュタイトルに
(#N)の接尾辞や DCO/Co-authored-by トレーラーがないこと。
ツール
jackin-pr-trailers が含まれます。cargo xtask roadmap retire <slug> --plan はエージェントに廃止作業リストを提示します。--apply は機械的な削除と監査を行い、リンク切れがある場合は失敗します。--partial は Status を設定します。コンテンツの移動はエージェントが判断します。CI は cargo xtask schema-check(5 アーティファクトゲート)を実行します。このスキルはその結果を読み取るだけです。
コメント
Markdown 対応