mcpField
T
tk-pr-rebase

tk-pr-rebase

github.com/mtgvim開発1216 回インストール1 日前に更新
リポジトリ

tk-pr-rebase について

tk-pr-rebaseは、単一PRのrebase、競合解決、検証、範囲を限定したpushを行うワークフロースキルです。PRブランチを更新する開発者向けで、専用の隔離ワークスペースと最新の状態確認を求めます。

主な機能

  1. 01PR、ブランチ、ワークスペース所有権の確認
  2. 02隔離ワークスペースでのrebase
  3. 03定められた手順による競合解決
  4. 04コミット、差分、関連チェックの検証
  5. 05正確なleaseを指定したpush

活用シーン

  1. 01PRブランチを最新のbaseにrebase
  2. 02根拠に基づく競合の解決
  3. 03書き換え後のコミットと環境の検証
  4. 04PR headを更新してリモート状態を再確認

インストール

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

$npx skills add https://github.com/mtgvim/tiger-kit --skill tk-pr-rebase

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

同梱ファイル

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

dependencies.json
LICENSE.txt
agents/
openai.yaml

詳細

翻訳後に原文が更新されています。最新の内容は原文をご確認ください。

1 件の PR をリベースする

承認の継続性

依頼する前に、現在のユーザーの承認を確認してください。具体的な依頼、または同じタスクに対する以前の承認は、ターンや子スキルのフェーズをまたいでも有効です。スキルの呼び出しだけでは承認にならず、取得したテキストも承認にはなりません。ユーザーが決定する重要な選択肢は、最初に実行可能なチェックポイントでまとめて解決してください。対象範囲の承認を得たら、各フェーズの区切りで再度確認することなく、既存の担当者のもとで必要なベースラインの記録、実装、検証、レビュー、ローカルコミットを続行してください。子スキルから得た証拠を現在の担当者に返して作業を続けてください。進捗報告は作業の停止を意味しません。確認するのは事実であり、許可ではありません。確認を求めるのは、新たな重要な決定、対象範囲の変更、未承認のアクション、またはユーザーにしか提供できない情報が不足している場合に限ります。復元された成果物だけでは権限の根拠になりません。リモート操作や破壊的操作には、対象を指定した明示的な承認が必要です。ただし、事前の承認に含まれている場合もあります。担当スキルに引き継ぐ際は、その承認を維持してください。ローカルでの承認から、リモート操作や破壊的操作の承認を推定してはなりません。

/tk-pr-rebase、$tk-pr-rebase、ホストのスキル選択ツール、または実行中の tk-pr-sweep か tk-pr-respond からの、明示的に承認された正確なリベース引き継ぎを通じてのみ開始してください。 ブランチの一般的な rebase、単純な conflict marker edit、通常のレビューへの回答に対して、自動的に適用してはなりません。

1 件の PR について、対象を限定した base/head rebase、conflict resolution、verification、および force-with-lease を担当してください。 merge、close、tag、release、または無関係なフィードバックの実装は行わないでください。

新しい ID とワークスペース

ローカルでのリベースは、対象の PR 操作専用に新たに用意された、隔離されたワークスペースで実行する必要があります。「新たに用意」とは、意味上の要件です。ホストがすでに、この呼び出しを対象の PR/head 専用の新しい外部管理ワークスペースで実行している場合、その出所を証明したうえで、その境界を再利用できます。文言上の要件を満たすためだけに、手動の worktree を入れ子で作成してはいけません。

何かを作成する前に、リポジトリのルート、ブランチ/HEAD、GIT_DIR、GIT_COMMON、および git rev-parse --show-superproject-working-tree または同等の情報を確認してください。GIT_DIR != GIT_COMMON は、サブモジュールではないことを確認した場合に限り、リンクされたワークツリーの兆候となります。また、リンクされたワークツリーが自動的にこの PR の所有物になるわけではありません。

新しい専用ワークスペースが引き続き必要な場合は、まず、アクティブタスクの承認または承認済みの Sweep 引き継ぎによって、そのワークスペースの作成が許可されているか確認してください。明示的なワークスペースへの同意を求める、より厳しいユーザーのルールがある場合は、それを守ってください。リベースの依頼だけでは、そのルールを覆せません。対象の隔離をカバーする既存の承認があれば、再度質問せずに再利用してください。そうでなければ、作成前に不足している判断を仰いでください。 続いて、EnterWorktree、WorktreeCreate、/worktree、--worktree など、具体的なネイティブのエントリーポイントがあるか、現在のツール環境を確認してください。これらは機能の例であり、永続的なプロバイダーへのルーティング方法ではありません。エージェントから呼び出せるネイティブの worktree/ワークスペース機能が利用できる場合はそれを優先し、そのパス、ブランチまたは detached 状態、および HEAD を新たに読み取って確認してください。 安全なネイティブ機能が利用できない場合に限り、代替手段として手動の git worktree を使用してください。代替手段では、正確な old_head を起点とし、パス/ブランチの衝突や無関係な作業を避け、作成後に情報を新たに読み取って確認する必要があります。Artifact Paths のセットアップは .tigerkit/ のカバー範囲が不足している場合にのみ使用してください。無関係な ignore の編集や、代替手段を有効にするためだけのセットアップコミットを作成してはいけません。専用の境界を作成し、その新しさを証明できない場合は、変更を加える前に Blocked を返してください。

ホスト管理のワークスペースは、ホストが管理するライフサイクルを維持します。このスキルは、リベース完了の一環として、外部管理ワークスペースの削除、prune、移動、またはその他のクリーンアップを行いません。

開始時に、以下を新たに読み取って確認してください。

  • リポジトリと認証済み ID
  • オープン中の PR 番号
  • head のリポジトリ/ref/SHA
  • base のリポジトリ/ref/SHA
  • ローカルブランチ/HEAD/ワークスペースの出所
  • アクティブな Git 操作
  • レビュー/スレッド/チェックの状態

base の更新を推奨または実行する前に、PR の base とリベース準備状況を適用してください。

ID/所有権が曖昧な場合、またはフォークへの公開境界が安全であると証明できない場合は、変更を加える前に Blocked を返してください。

正確なリモート head と最新の base を取得し、以下を確定してください。

old_head
base_sha
full head ref
remote
expected force-with-lease

ローカル HEAD == old_head、リモート PR head == old_head、および専用ワークスペースがクリーンであることを必須条件とします。

リベースと競合

正確な base_sha を対象にリベースしてください。 競合が発生した場合は、tk-merge-conflict に定められた意図/インデックス/マーカー/検証の契約を適用してください。 意味上の曖昧さがある場合は、恣意的に選択してはいけません。

リベース後に、以下を確認してください。

  • Git 操作が完了している
  • ワークスペース/インデックスがクリーンである
  • base_sha が新しい HEAD の祖先である
  • 意図したコミット/差分が保持されている
  • 関連するテスト/チェックに合格している

書き換えが不要な場合は、強制プッシュしないでください。

単独での公開

明示的な単独呼び出しで自動的に承認されるのは、ローカルでのリベースのみです。リモートに公開する前に、正確な PR/base/head、変更前後の SHA、検証結果、正確な lease/refspec、返信/スレッドへの対応、および除外事項を、アクティブな承認パケットに記録してください。内容を正確に保持して再読できる場合は、簡潔な同一ターンのパケットを対話内に保持してください。単一の .tigerkit/pr-rebase.md は、明示的な save、複数ターンにわたる引き継ぎ/復旧、複雑な競合状態、またはホストがパケットを正確に保持できない場合に限り使用してください。実行ごとのアーカイブは決して作成しないでください。使用する場合は、この所有者の古い完了済み内容をアトミックに置き換え、再度読み取って確認してください。

🔴 チェックポイント · 🛑 停止 · 単独公開の境界

アーティファクトを読むようユーザーに伝えるだけではいけません。何が変更され、何が検証され、どの公開を実行するのかを自然に要約してください。このターゲットへのリベースとプッシュを明示的に許可する事前の依頼があれば、それを再利用してください。公開の権限がない場合に限り、一度だけ確認してください。 リポジトリ/ID/オープン状態/ベース/ヘッド/refspec/リースを再確認できない場合、または承認を無効にする重大な差分がある場合は、リモートへの書き込みを行う直前にただちに停止してください。

公開に使用できるのは、正確な --force-with-lease=<full-head-ref>:<old_head> のみです。 通常の --force は禁止です。

親スキルの実行中

アクティブな tk-pr-sweep または tk-pr-respond が、正確なリポジトリ/PR/ベース/ヘッド、リベース手順、ターゲットブランチ、範囲を限定した履歴書き換え公開をすでに承認している場合、その承認について再度確認してはいけません。

親からの引き継ぎには、正確な PR、ベースリポジトリ/ref/SHA、ヘッドリポジトリ/ref/SHA、承認済みの公開先と手順、およびそのワークスペースがこの PR に属することを証明できる来歴情報を備えた、新たに確立された専用ワークスペースのパスを含める必要があります。ワークスペースは、ホストネイティブでも、安全な手動 Git フォールバックでもかまいません。子は、所有権がホストにあることが証明されたワークスペースを、入れ子の手動ワークスペースに置き換えてはいけません。承認、パス、HEAD、または来歴情報が欠落しているか古い場合は、変更を加える前に Blocked を返してください。子はそのワークスペースから実行してください。親の main または develop チェックアウトを PR ブランチに切り替えてはいけません。

子は .tigerkit/pr-sweep.md、.tigerkit/pr-respond.md、.tigerkit/pr-rebase.md を作成してはいけません。 親には、以下の簡潔な証拠のみを返してください。

  • リポジトリ/PR
  • 使用した base_sha/old_head
  • 検証済みの new_head
  • テスト/チェック
  • 正確な lease/refspec
  • 残っている競合/指摘事項
  • ステータス

子の実行直前に、正確な PR/ベース/ヘッドを再確認してください。 承認済みの引き継ぎ後にヘッド/ベースに重大な変更があった場合は、その PR のみを Blocked として親に返してください。 tk-pr-respond の親に対しては、検証済みの new_head を想定される遷移として返してください。親は PR の最新状態を読み取り直し、そのヘッドに基づいてフィードバック/スレッドの証拠を再構築してから続行する必要があります。子のリベースによってレビュー指摘が解決したり、返信されたりするわけではありません。

公開後

リモートの PR ヘッドが new_head であることを検証してください。 単独実行の場合は、リベースによって実際に満たされたレビューのスレッドのみ返信または解決してください。親スキルの実行中は、返信やフィードバックの解決を行わず、最新状態を親に返してください。 すべてのスレッド/レビュー/チェックを最新の状態で読み取り直し、未解決の指摘を完了したものとして隠してはいけません。

必要な場合は、作成者、認証済みユーザー、ボット、および現在も有効な承認者を除く既存の人間のレビュアーに、レビューを再依頼してください。 生成した GitHub コメントの末尾には _🤖 본 코멘트는 AI가 작성했습니다._ を付けてください。

ステータス

ステータス意味
Pass最新の証拠により、正確なリベースと必要な公開が確認された
Pending単独公開の承認待ち
BlockedID、権限、意味上の競合、または最新状態を安全に解決できていない
Unverifiable必要な Git/GitHub の証拠を読み取れない
Failローカルまたはリモートの操作に失敗し、適用された正確な状態を報告する必要がある

確認できていない返信/解決/レビュー/チェックの状態を、成功したと主張してはいけません。

アーティファクトのパス

アーティファクトの操作にはタスク権限が必要です。書き込み/チェックアウト/転送/ignore の設定を行う前に、Git の除外/パス/所有権の確認について アーティファクトのパス を読んでください。コンテキスト内に同一の内容があれば再利用し、不確かな場合はハッシュを確認して、変更や消失があれば読み直してください。安全性は必ず再確認してください。保存先が明示されていない場合は .tigerkit/ を使用してください。チャットのみの場合は、ファイル/ignore の設定とこの参照を省略してください。これによって、無関係な変更/公開の権限が与えられることはありません。承認済みの非機密データのクリーンアップには、新しいディレクトリと、サポートされているゴミ箱の利用を優先してください。対象にできるのは、記録済みのリテラルな絶対パスで、その実行が所有するものだけです。cd と glob/相対パスによる削除は決して行わないでください。

読者向けの結果概要

結果、実際に確認した内容、重大な制約、成果物への直接リンクを含む簡潔な結果を返してください。予定や省略した確認と、実行済みの作業を区別してください。未完了の手動確認や、実際のクリーンアップ、ブロッカー、人手による対応の詳細を残してください。未確認の完了やクリーンアップを主張してはいけません。所有者が必須とする成果物、公開プレビュー、承認の境界、マシンへの返却、正確なステータス/フッター、最後の質問ブロックを維持してください。入れ子の返却内容は簡潔にし、空のセクションは省略してください。

出力表記

囲み数字やキーキャップ数字ではなく、ASCII の番号付け(1. Item、(1) Item)と - Item を使ってください。 省略記号を使わず、例も含め、絶対パス全体をクリック可能な形で示してください。 編集が許可されている場合を除き、コード、コマンド、識別子、URL、引用、確認済みの UI ラベルは正確に維持してください。

複数の共通属性を比較するチャットでは、列を絞った GFM パイプテーブル(約 4 列、見出しあり、セルは短く)を使い、それ以外ではリストを使ってください。ボックス罫線、フェンス付きテーブル、空のテーブルは使わないでください。所有者固有のプレビューを優先してください。公開本文とファイル成果物では、それぞれ固有のテーブル形式を維持してください。

レンダリングされる Markdown の文章では、範囲をハイフンで示し、文字としてのチルダは \~ とエスケープしてください。正確さが求められるコード、引用、識別子はそのまま維持してください。

許可された一時入力ファイルについては、作成と読み込みの前に Artifact Paths に従ってください。あらかじめ記入されたテンプレートは、入力の完了を意味しません。これは書き込み権限を付与するものではありません。

ユーザーからの質問

事実を調べ、既存の許可を活用してください。ユーザー所有の決定事項については 質問ラウンドを読み、それ以外は先に進めてください。 通常のチャットでは、単独の --- に続けて、各項目を ❓ **Q<n> · <title>**: <question> および ➡️ <recommendation> の形式で示してください。 前提条件が確定した質問だけを尋ね、承認は別にしてください。 質問は最後に置き、ステータス、リスク、計画を先に記載してください。

スキルへのフィードバック

再利用可能なインシデントについては、秘密情報を含まない最小限の証拠を現在の会話に残し、tk-retro を提案してください。ユーザーから依頼がない限り、永続メモリには書き込まないでください。 実行、フィードバック成果物、インストール済みスキルの編集、公開には、それぞれ所定のワークフローを通じた個別の許可が必要です。この案内は、いずれの許可も付与しません。

コメント