mcpField
S
ship-it

ship-it

github.com/rubenflamshepherd開発0146 回インストール4 週間前に更新
リポジトリ

ship-it について

ship-it は2つの連携スキルを調整し、PRの作成、CI監視、指定PRのマージ、安全なローカルブランチ整理を行います。既存のチェックと停止条件を維持するワークフロー向けです。

主な機能

  1. 01チェックアウト、コミット、プッシュ、PR作成
  2. 02マージ前のCI監視
  3. 03指定PRのマージ確認
  4. 04記録したローカルブランチの安全な整理

活用シーン

  1. 01PRを通じた変更の作成とマージ
  2. 02マージ前のCIチェック確認
  3. 03マージ確認後のローカルブランチ削除

インストール

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

$npx skills add https://github.com/rubenflamshepherd/ruben-agent-skills --skill ship-it

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

同梱ファイルagents/openai.yaml

詳細

Ship It

2 つの兄弟スキルを、それぞれの指示を置き換えたり弱めたりせずに連携させます。

ワークフロー

  1. このスキルのディレクトリを基準に、以下のパスを解決します。

    • ../checkout-commit-push-pr/SKILL.md
    • ../soft-delete-git/SKILL.md

    どちらかのファイルを利用できない場合は、処理を停止し、不足している依存関係を報告します。

  2. 後で同じブランチをクリーンアップできるよう、現在のブランチ名を記録します。

  3. ../checkout-commit-push-pr/SKILL.md を最後まで読み、PR の作成と CI の監視まで、その指示に従います。安全確認と停止条件をすべて維持します。作成された PR の URL または番号を記録します。

  4. ship-it の呼び出しは、この実行で作成した PR のみをマージする許可として扱います。必須のチェックがすべて合格したら、gh pr merge でマージします。

    • リポジトリのガイダンスに必須のマージ戦略が記載されている場合は、それに従います。
    • それ以外の場合は、ブランチの祖先関係を維持できるため、後続の安全な削除で git branch -d を使用できる --merge を優先します。
    • マージコミットが明示的に無効になっている場合は、許可された戦略に切り替え、--squash、次に --rebase の順で優先します。PR にコンフリクトがある、承認がない、またはポリシーによってブロックされているという理由だけで戦略を変更してはいけません。
    • --delete-branch は指定しないでください。ローカルブランチのクリーンアップは soft-delete-git に任せます。
    • --admin の使用やブランチ保護の回避は決して行わないでください。レビュー、コンフリクト、権限、ポリシーに関するブロッカーがあれば報告します。
  5. マージコマンドの終了ステータスを信用せず、マージを確認します。

    gh pr view <PR-NUMBER> --json state,mergedAt,url
    

    リポジトリでマージキューを使用している場合は、PR が MERGED と報告するまで監視します。PR がオープンのままである間は、ブランチのクリーンアップを開始しないでください。

  6. 対象の PR が MERGED と確認できたら、../soft-delete-git/SKILL.md を最後まで読み、手順 2 で記録したブランチに対してその指示に従います。作業ツリーが汚れていないことの確認と、マージ済み PR の検証に関する保護策を維持します。検証済みのスカッシュマージまたはリベースマージの場合、元の ship-it リクエストは、子スキルの git branch -D 例外に対する事前確認として扱います。ただし、対象は記録したブランチと、マージ済みであることを確認した特定の PR に限ります。未マージのブランチや別のブランチを強制削除してはいけません。

  7. 最後に、PR の URL、CI の結果、マージ結果、ローカルブランチが削除されたかどうかを報告します。

いずれかの子スキルが処理を停止するか失敗した場合は、その時点で一連の処理を停止し、該当する正確なブロッカーを報告します。先に進んだり、子スキルの手順を記憶から再現して実行したりしてはいけません。

コメント