mcpField
S
ship

ship

github.com/helderberto開発1952 回インストール4 日前に更新
リポジトリ

ship について

ship は、コード変更の検証、コミット、プッシュを行うワークフロースキルです。通常はコミット前にコードと機密情報を確認し、変更を整理してコミットした後、プッシュ状態を検証します。

主な機能

  1. 01コミット前のコード検証
  2. 02差分内の機密情報スキャン
  3. 03変更を論理単位でコミット
  4. 04プッシュ後のブランチ状態確認
  5. 05制限付きの高速モード

活用シーン

  1. 01コードのコミット前チェック
  2. 02無関係な変更のコミット分割
  3. 03ブランチのプッシュと状態確認

インストール

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

$npx skills add https://github.com/helderberto/agent-skills --skill ship

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

詳細

変更をプッシュする

コミット前に、Ship はリリース前ゲートを実行します。デフォルトでは、validate-code と safe-repo が実行されます。このゲートにより、壊れたものや安全でないものが作業ツリーから外部へ出ないようにします。

引数

  • --fast — リリース前ゲートをスキップします。ホットフィックス、一時的なブランチ(スパイク/プロトタイプ/CI)、またはこのセッション中にゲートを手動で通過済みの場合に限り使用してください。main/release では使用しないでください。理由をコミット本文に記載してください。

ワークフロー

フェーズ 1 — リリース前ゲート(--fast の場合はスキップ)
  1. コードを検証する:validate-code スキルを呼び出します。フォーマットを自動修正し、型を検証して、テストを実行します。
    • validate-code が FAIL を返した場合 → エラーを報告して停止します。コミットやプッシュは行わないでください。
  2. 機密データをスキャンする:ステージ済みおよび未ステージの差分のみを対象に、safe-repo スキルを呼び出します(リポジトリ全体は対象にしません)。
    • 機密データが見つかった場合 → 検出結果を報告して停止します。コミットやプッシュは行わないでください。
フェーズ 2 — コミット
  1. ステータスと差分からすべての変更を確認します
  2. ログから最近のコミットスタイルを分析します
  3. コミットのグループ化ルール を使用して、変更したファイルを論理的な目的ごとにグループ化します
  4. 各グループについて、ファイル名を指定して個別にステージし、HEREDOC 形式でコミットします
  5. すべての変更が 1 つの論理的なまとまりを構成する場合は、ファイル名を指定してステージします(git add -A や git add . は絶対に使用しないでください)
フェーズ 3 — プッシュ
  1. git push を実行します(現在のブランチ)
  2. その後 git status を実行して確認します

ルール

  • リリース前ゲートはデフォルトで実行します。スキップできるのは、理由を明記した --fast の使用時のみです。main/release ブランチでは --fast を絶対に使用しないでください
  • 異なる目的の変更は、アトミックなコミットに分けてグループ化します
  • 強制プッシュ(-f または --force)は絶対に行わないでください

エラー処理

  • git push が拒否された場合(non-fast-forward)→ git pull --rebase を実行してから、プッシュを 1 回だけ再試行します
  • pre-commit フックが失敗した場合 → 報告された問題を修正し、再度ステージして、新しいコミットを作成します(--amend は絶対に使用しないでください)
  • --fast を使用した場合 → 追跡可能性を確保するため、エージェントの出力に「Pre-launch gate skipped via --fast」と記録します

コメント