skills/branch/SKILL.md
GitHub Issue URLからブランチを自動作成するスキル。「/branch https://github.com/owner/repo/issues/12345」のようにIssue URLを指定すると、Issueタイトルを要約してdev/{Issue番号}_{要約}形式のブランチ名を生成し、現在のブランチをベースに新規ブランチを作成・チェックアウトする。「ブランチ作成」「branch作成」と言われた時にも使用。
npx skillsauth add hirokimry/vibecorp branchInstall 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.
[!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.mddata-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 段階で挙動を壊さず適用する。自動マージ禁止。