ship について
ship は、コード変更の検証、コミット、プッシュを行うワークフロースキルです。通常はコミット前にコードと機密情報を確認し、変更を整理してコミットした後、プッシュ状態を検証します。
主な機能
- 01コミット前のコード検証
- 02差分内の機密情報スキャン
- 03変更を論理単位でコミット
- 04プッシュ後のブランチ状態確認
- 05制限付きの高速モード
活用シーン
- 01コードのコミット前チェック
- 02無関係な変更のコミット分割
- 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 の場合はスキップ)
- コードを検証する:validate-code スキルを呼び出します。フォーマットを自動修正し、型を検証して、テストを実行します。
validate-codeが FAIL を返した場合 → エラーを報告して停止します。コミットやプッシュは行わないでください。
- 機密データをスキャンする:ステージ済みおよび未ステージの差分のみを対象に、safe-repo スキルを呼び出します(リポジトリ全体は対象にしません)。
- 機密データが見つかった場合 → 検出結果を報告して停止します。コミットやプッシュは行わないでください。
フェーズ 2 — コミット
- ステータスと差分からすべての変更を確認します
- ログから最近のコミットスタイルを分析します
- コミットのグループ化ルール を使用して、変更したファイルを論理的な目的ごとにグループ化します
- 各グループについて、ファイル名を指定して個別にステージし、HEREDOC 形式でコミットします
- すべての変更が 1 つの論理的なまとまりを構成する場合は、ファイル名を指定してステージします(
git add -Aやgit add .は絶対に使用しないでください)
フェーズ 3 — プッシュ
git pushを実行します(現在のブランチ)- その後
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」と記録します
コメント
Markdown 対応