conventional-branch について
Conventional Branch 1.1.0仕様に沿ったGitブランチを作成するスキルです。開発者やコーディングエージェント向けに、命名規則、例、検証方法、作成手順を提供します。
主な機能
- 01仕様に基づくブランチ命名
- 02目的別・エージェント別プレフィックス
- 03厳密な命名検証ルール
- 04ブランチ作成ワークフロー
- 05commit-checkによる検証ガイド
活用シーン
- 01機能追加やバグ修正ブランチの命名
- 02AIコーディングエージェント用ブランチの作成
- 03リポジトリへのブランチ名検証の導入
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ conventional-branch/ conventional-branch --skill conventional-branchインストール後、Claude Code で/conventional-branchを入力して読み込まれたか確認します。
詳細
Conventional Branch
Conventional Branch 1.1.0 の仕様に従って Git ブランチを作成します。人が読みやすく、機械で解析でき、自動化に適しています。
ブランチ名の形式
<type>/<description>
| 要素 | 形式 | 必須 | 例 |
|---|---|---|---|
type | 定義済みのプレフィックス(下の表を参照) | はい | feature、fix |
description | 小文字のケバブケース | はい | add-login-page |
ブランチの種類
一貫性を保つため、エイリアスよりも正式名称を優先してください。
目的を表すプレフィックス — 作業の意図を示します。
| 種類 | エイリアス | 目的 |
|---|---|---|
feature/ | feat/ | 新機能または機能強化 |
bugfix/ | fix/ | バグ修正 |
hotfix/ | — | 本番環境の緊急修正 |
release/ | — | リリース準備(バージョンにはピリオドを使用できます:release/v1.2.0) |
chore/ | — | コード以外のタスク(依存関係、ドキュメント、設定) |
AI エージェントのソースを表すプレフィックス — AI コーディングエージェントが生成したブランチを識別します。
| 種類 | エイリアス | 目的 |
|---|---|---|
ai/ | — | あらゆる AI コーディングエージェントに使える汎用プレフィックス |
copilot/ | — | GitHub Copilot |
cursor/ | — | Cursor |
claude/ | — | Anthropic の Claude Code |
codex/ | — | OpenAI Codex |
ブランチを作成するエージェントが分かっている場合はベンダー固有のプレフィックスを使い、ベンダーを問わない代替として ai/ を使ってください。
トランクブランチ
main、master、develop はトランクブランチであり、プレフィックスは付けません。トランクブランチと同じ名前のブランチを新たに作成せず、トランクブランチからブランチを作成してください。
命名規則(厳守)
ブランチ名は以下の規則に従う必要があります。従わない場合、commit-check などの検証ツールによって拒否されます。
- 小文字のみ — 大文字は一切使用できません(
a-zのみ) - 英数字、ハイフン、ピリオド —
a-z、0-9、-、. - ピリオドは説明のどこでも使用でき、通常はバージョン番号に使います(例:
release/v1.2.0、chore/upgrade-node-v20.11) - アンダースコア、スペース、特殊文字は禁止
- ハイフンの連続(
--)、ピリオドの連続(..)、ハイフンとピリオドの隣接(-.または.-)は禁止 - 説明の先頭または末尾にハイフンやピリオドを付けてはいけません
形式文法(ABNF)
branch-name = trunk-branch / prefixed-branch
trunk-branch = "main" / "master" / "develop"
prefixed-branch = type "/" description
type = "feature" / "feat" / "bugfix" / "fix"
/ "hotfix" / "release" / "chore"
/ "ai" / "copilot" / "cursor"
/ "claude" / "codex"
description = desc-segment *("-" desc-segment)
desc-segment = 1*(ALPHA / DIGIT) *("." 1*(ALPHA / DIGIT))
ALPHA = %x61-7A
DIGIT = %x30-39
有効な例
main
master
develop
feature/add-login-page
feat/add-login-page
bugfix/fix-header-bug
fix/header-bug
hotfix/security-patch
release/v1.2.0
chore/update-dependencies
feature/issue-123-new-login
ai/refactor-auth-flow
copilot/add-login-page
cursor/fix-header-bug
claude/security-patch
codex/optimize-query
無効な例(作成しないでください)
| ブランチ | 問題 |
|---|---|
Feature/Add-Login | 大文字 |
feature/new--login | ハイフンの連続 |
feature/-new-login | 先頭のハイフン |
feature/new-login- | 末尾のハイフン |
release/v1.-2.0 | ハイフンとピリオドが隣接 |
fix/header bug | スペース |
fix/header_bug | アンダースコア |
unknown/some-task | 未定義のプレフィックスの種類 |
説明のガイドライン
- 2~5 語のケバブケースを使います
- 説明的で簡潔な表現にします(全体で約50文字)
- 良い例:
add-oauth-login、fix-header-overflow、update-ci-config - 悪い例:
fix-bug、new-feature、john-working-on-stuff
ワークフロー
新しいブランチを作成するときは、以下の手順に従ってください。
1. 情報を集める
すでに明確でない場合は、ユーザーに以下を尋ねます。
- ブランチの種類 — 不明な場合は
featureをデフォルトにします - 簡単な説明 — ブランチの目的
チケット番号は尋ねないでください。ユーザーが番号を提示した場合は、説明に含めます(例:feature/issue-123-add-oauth)。
2. 名前を検証する
作成前に、組み立てた名前が上記の命名規則に従っているか確認します。規則に違反している場合は、黙って修正します。
- すべて小文字にする
- アンダースコアとスペースをハイフンに置き換える
- 連続するハイフンを1つにまとめる
- 先頭と末尾のハイフンを取り除く
3. ベースブランチを検出する
リポジトリによって使用するトランクブランチは異なります。このリポジトリで使われているものを検出します。
# Prefer the remote's default branch
git symbolic-ref --short refs/remotes/origin/HEAD 2>/dev/null | sed 's|^origin/||'
何も返されない場合は、ローカルに存在するトランクブランチを優先順(develop、main、master)に確認します。
for b in develop main master; do
git show-ref --verify --quiet "refs/heads/$b" && echo "$b" && break
done
4. 作成してチェックアウトする
git checkout <base>
git pull origin <base>
git checkout -b <type>/<description>
5. 確認
ユーザーに以下を伝えます。
- 作成したブランチ名
- 新しいブランチに切り替わっていること
- 準備ができたら
git push -u origin <branch-name>を実行するように案内します
commit-check による検証
自動でチェックするには、commit-check を案内します。設定なしで、ブランチ名が仕様で定められたタイプのプレフィックスに従っているかをデフォルトで確認します。
# Check the current branch name
commit-check --branch
プレコミットフックとして使用すると、不正な名前を最初のコミット時に検出できます。
repos:
- repo: https://github.com/commit-check/commit-check
rev: v2.19.1
hooks:
- id: check-branch
GitHub Actions では、commit-check-action がすべてのプルリクエストで同じチェックを実行します(branch: true がデフォルトです)。すべてのプラットフォーム向けのコピーしてすぐ使える設定(タイプを仕様で定められたものだけに絞り込む commit-check.toml を含む)は、https://conventionalbranch.org/enforce/ にあります。
Conventional Commits との関係
Conventional Branch は Conventional Commits に着想を得ており、自然に相補うものです。
| Conventional Branch | 一般的な Conventional Commit |
|---|---|
feature/add-login | feat: add login page |
bugfix/fix-header | fix: header overflow on mobile |
chore/update-deps | chore: bump lodash to 5.0 |
release/v1.2.0 | chore: release v1.2.0 |
可能な場合は、ブランチのタイプをコミットのタイプと揃えます(例:feature/* ブランチと feat: コミット)。コミットメッセージの規約については、conventional-commit スキルを参照してください。