From vibecorp
GitHub Issue URLからブランチを自動作成するスキル。「/branch https://github.com/owner/repo/issues/12345」のようにIssue URLを指定すると、Issueタイトルを要約してdev/{Issue番号}_{要約}形式のブランチ名を生成し、現在のブランチをベースに新規ブランチを作成・チェックアウトする。「ブランチ作成」「branch作成」と言われた時にも使用。
How this skill is triggered — by the user, by Claude, or both
Slash command
/vibecorp:branchThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
> [!IMPORTANT]
[!IMPORTANT] このスキルは Issue URL から
dev/{Issue番号}_{要約}形式のブランチを 1 コマンドで作成する。 結果のみを簡潔に返す。途中経過は出力しない。--worktree指定時はブランチ作成と同時に git worktree を作成し、.claude/を rsync で同期する。
GitHub Issue URL からブランチを作成する。
/vibecorp:branch <Issue URL>
/vibecorp:branch --worktree <Issue URL>
| オプション | 説明 |
|---|---|
--worktree | ブランチ作成と同時に git worktree を作成し、独立したディレクトリで作業できるようにする |
引数から Issue URL を受け取り、Issue 番号とタイトルを取得する。
gh issue view <Issue URL> --json number,title --jq '.number,.title'
タイトルを英語の短い要約(スネークケース)に変換し、以下の形式でブランチ名を生成する。
dev/{Issue番号}_{要約}
要約ルール:
| 項目 | ルール |
|---|---|
| 表記 | 英語のスネークケース(小文字 + アンダースコア) |
| 文字数 | 最大 30 文字 |
| 除外 | 絵文字・タイプ接頭辞(feat:, fix: 等)は除外する |
| 単語数 | 内容を端的に表す 2〜4 単語 |
例:
✨ feat: /vibecorp:ship Issue指定からマージまでの全自動スキル → dev/67_ship_auto_merge🐛 fix: mvv.md path notation inconsistency → dev/41_mvv_path_fixgit pull origin HEAD --ff-only
--worktree オプションの有無で分岐する。
--worktree なし)git checkout -b <ブランチ名>
--worktree あり)vibecorp.yml の worktree_dir を読み取る。未設定の場合はデフォルト値を使用する。
MAIN_DIR=$(git rev-parse --show-toplevel)
# vibecorp.yml の worktree_dir を読み取る(未定義なら空文字)
CONFIG_WORKTREE_DIR=$(awk '/^worktree_dir:[[:space:]]*/ { sub(/^worktree_dir:[[:space:]]*/, ""); sub(/[[:space:]]*$/, ""); print; exit }' "$MAIN_DIR/.claude/vibecorp.yml")
if [ -n "$CONFIG_WORKTREE_DIR" ]; then
# worktree_dir が定義されている場合: 絶対パスはそのまま、相対パスはプロジェクトルート基準
case "$CONFIG_WORKTREE_DIR" in
/*) WORKTREE_BASE="$CONFIG_WORKTREE_DIR" ;;
*) WORKTREE_BASE="$MAIN_DIR/$CONFIG_WORKTREE_DIR" ;;
esac
else
# デフォルト: ../{プロジェクト名}.worktrees
PROJECT_NAME=$(awk '/^name:[[:space:]]*/ { sub(/^name:[[:space:]]*/, ""); sub(/[[:space:]]*$/, ""); print; exit }' "$MAIN_DIR/.claude/vibecorp.yml" | tr -cs 'A-Za-z0-9._-' '_')
WORKTREE_BASE="${MAIN_DIR}/../${PROJECT_NAME}.worktrees"
fi
mkdir -p "$WORKTREE_BASE"
git worktree add "$WORKTREE_BASE/<ブランチ名>" -b <ブランチ名>
.claude/ の同期メインワークツリーの .claude/ を worktree にコピーする。git 追跡状況に関わらず全ケースで同じコマンドで動作する。
rsync -a "$MAIN_DIR/.claude/" "$WORKTREE_BASE/<ブランチ名>/.claude/"
\(...) を使わない — Bash 上で \ がエスケープ文字、() がサブシェルとして解釈され、意図しない展開やパースエラーを引き起こすため。必ず + で結合する。2>/dev/null、|| echo、; echo 等のリダイレクトやフォールバックを付加しない(根拠)。<ブランチ名>
<ブランチ名>
worktree: <ワークツリーの絶対パス>
.claude/rules/workflow.md.claude/rules/prompt-writing.md.claude/rules/markdown.md.claude/rules/shell.mdnpx claudepluginhub hirokimry/vibecorp --plugin vibecorpCreates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.