templates/claude/skills/ship/SKILL.md
Issue URLを指定するだけでブランチ作成からPR作成・auto-merge設定までを全自動で実行する。「/ship」「シップして」「Issue対応して」と言った時に使用。
npx skillsauth add hirokimry/vibecorp shipInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
ultrathink
GitHub Issue URL を受け取り、ブランチ作成 → 計画 → レビュー → 実装 → PR → auto-merge 設定までを一気通貫で実行する。マージは auto-merge により GitHub が自動実行する。
/ship <Issue URL>
/ship <Issue URL> --worktree <path>
--worktree <path> が指定された場合、全操作を指定パス内で実行する。
cd <path> && command で実行する<path>/ を基準とした絶対パスを使用する--worktree <path> を引き継ぐgh) が認証済みであること現在のブランチが dev/ プレフィックスで始まる場合、ブランチ作成をスキップする(Agent worktree 等で既にブランチが作成済みのケース)。
worktree モード: worktree のブランチを dev/{Issue番号}_{要約} にリネームする。
cd <path> && git branch -m <現在のブランチ名> dev/{番号}_{要約}
通常モード: Issue URL から dev/{Issue番号}_{要約} 形式のブランチを作成する。
gh issue view <Issue URL> --json number,title --jq '.number,.title'
タイトルを英語スネークケース2〜4語に要約し、ブランチを作成・チェックアウトする。
git checkout -b dev/{番号}_{要約}
Issue の本文・完了条件を読み込み、コードベースを調査して実装計画を作成する。
計画は以下に出力する(/plan スキルが vibecorp_plans_dir 経由で配置する):
~/.cache/vibecorp/plans/<repo-id>/{branch_name}.md
計画には以下を含める:
/plan-review-loop を実行する(worktree モードでは --worktree <path> を引き継ぐ)。
計画ファイルに対して以下のレビュー観点で評価し、問題0件になるまで修正を繰り返す(最大5回)。
レビュー観点:
計画の設計内容で Issue 本文を更新する。既存の💡概要、🎯背景等のセクションは保持し、設計セクションを追加・更新する。
gh issue edit <番号> --body "<更新後の本文>"
計画の Phase に従って順にコーディングを行う。
/commit で変更をコミットする(worktree モードでは --worktree <path> を引き継ぐ)。
/review-loop を実行する(worktree モードでは --worktree <path> を引き継ぐ)。
コード変更に対してレビュー→修正を繰り返し、問題0件にする(最大5回)。
レビュー指摘を妥当性検証し、修正すべき指摘のみ修正する。修正後はコミットする。
worktree モード:
cd <path> && git push origin HEAD
cd <path> && gh pr create --title "<Issueタイトル>" --body "<PR本文>" --base <ベースブランチ>
通常モード:
git push origin HEAD
gh pr create --title "<Issueタイトル>" --body "<PR本文>" --base <ベースブランチ>
auto-merge の有効化:
gh pr merge --squash --auto
close <Issue URL> を含める/pr-review-loop を実行する(worktree モードでは --worktree <path> を引き継ぐ)。
vibecorp.yml の coderabbit.enabled が false の場合、CodeRabbit レビュー待ちはスキップされ、CI パス確認と auto-merge 設定のみ実行される。
マージは auto-merge により、CI パス + approve 後に GitHub が自動実行する。
以下の状況ではユーザーに報告して判断を委ねる:
| 状況 | タイミング | |------|-----------| | 計画レビューが5回ループしても問題が残る | ステップ3 | | テストが繰り返し失敗する | ステップ5 | | コードレビューが5回ループしても問題が残る | ステップ7 | | CI が失敗する | ステップ9 | | レビュー修正ループが上限に達する | ステップ9 |
## /ship 完了
- Issue: #{issue_number}
- PR: #{pr_number}
- ブランチ: dev/{番号}_{要約}
- 計画レビュー: {n}回
- コードレビュー: {n}回
- auto-merge: 設定済み
--force、--hard、--no-verify は使用しない\(...) を使わない — Bash 上で \ がエスケープ文字、() がサブシェルとして解釈され、意図しない展開やパースエラーを引き起こすため。必ず + で結合する2>/dev/null、|| echo、; echo 等のリダイレクトやフォールバックを付加しない(根拠)cd ... && cmd | head 2>/dev/null のように cd + パイプ + リダイレクトを含む compound command は Claude Code 本体の built-in security check(path resolution bypass 検出)で止められるため(参照: #258)。単純な cd && git ... は対象外data-ai
skills/**/SKILL.md 内に embed された 5 行以上のエージェント呼出プロンプトテンプレ・長文ブロックを .claude/rules/notification-prompt-extraction.md 基準で skills/<skill>/prompts/<name>.md に切り出す migration skill。「/prompts-extract-all」「プロンプト切り出し」「プロンプト extract」「SKILL.md プロンプト migration」と言った時に使用。検出は awk でフェンスコードブロックを抽出して行数カウント、要否判定は LLM が閾値・用途軸・命名規約と照合。diff 提案 → CEO 承認 → 書換の 2 段階で挙動を壊さず適用する。自動マージ禁止、自律ループ対象外。
documentation
.github/workflows/**/*.{yml,yaml} の --body 通知文と hooks/**/*.sh の長文 echo/printf/heredoc を .claude/rules/notification-prompt-extraction.md 基準で個別 .md ファイルに切り出す migration skill。「/notifications-extract-all」「通知文切り出し」「通知文 extract」「workflow 通知 migration」と言った時に使用。検出は grep で機械絞り込み、要否判定は LLM が閾値・命名規約と照合。diff 提案 → CEO 承認 → 書換の 2 段階で挙動を壊さず適用する。自動マージ禁止、自律ループ対象外。
development
`**/*.sh` / `**/*.js` / `**/*.ts` / `**/*.py` / `**/*.rb` / `**/*.go` / 設定ファイル等のコード内コメントを一括棚卸しし、 `.claude/rules/code-comments.md` と機械的に照合する。 diff 提案 → CEO 承認 → 書換の 2 段階で自動マージを禁じる。 生成コード・`node_modules`・`vendor`・`dist`・`build` 等は除外する。 「/vibecorp:comments-rewrite-all」「コメント全書き直し」「コード内コメント棚卸し」 と言った時に使用。
development
skills/**/SKILL.md・agents/*.md・.claude/rules/*.md を .claude/rules/prompt-writing.md 基準で一括書き直し提案するスキル。「/prompts-rewrite-all」「プロンプト書き直し」「スキル一括書き直し」「エージェント書き直し」と言った時に使用。claude-code-guide サブエージェントで Claude Code 公式仕様(docs.claude.com)を確認し、prompt-writing.md の指針 MUST / 禁止パターンと照合する。diff 提案 → CEO 承認 → 書き換えの 2 段階で挙動を壊さず適用する。自動マージ禁止。