create-conventional-branch について
許可された実装やクリーンアップで、単一のローカル受け入れブランチを管理するリポジトリ用スキルです。リモート参照を変更せず、命名、復旧、終了の規則を定めています。
主な機能
- 01ブランチ操作の許可確認
- 02リポジトリ状態とclaimの確認
- 03単一受け入れブランチの作成・再開
- 04保留・中断作業の復旧
- 05完了・キャンセル後のブランチ終了
活用シーン
- 01実装タスク用ブランチの作成
- 02既存の受け入れブランチで作業再開
- 03クリーンアップ時の中断作業の保全
- 04受け入れまたはキャンセル後のブランチ削除
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ beeltec/ skills --skill create-conventional-branchインストール後、Claude Code で/create-conventional-branchを入力して読み込まれたか確認します。
同梱ファイルagents/openai.yaml
詳細
従来型ブランチの作成
唯一のローカル受け入れブランチを作成、再開、復元、削除します。
認可
$implement または $implement-with-subagents が実装を実行する場合、$to-product が自律的なクリーンアップを実行する場合、またはユーザーがブランチやプル/マージリクエストのワークフローを明示的に要求した場合に限り、ブランチを作成または切り替えます。
$setup-project、$backlog、$discuss、$wiki、$research では決して行いません。これらは、プライマリブランチ以外であっても、ユーザーが選択したブランチにとどまります。ドキュメントやリポジトリへの書き込みだけでは、新しいブランチを作成する理由になりません。
不変条件
プライマリブランチと、ローカル受け入れブランチを1つだけ許可します。リモート参照は対象外です。ここではリモート参照を作成、プッシュ、削除しないでください。単独の作業項目またはエピックが、受け入れブランチを所有します。
開く、または再開する
- 認可を確認します。認可がなければ、何も変更せず呼び出し元のワークフローに制御を戻します。
- リポジトリの指示を読み、
git status --short --branch、リモート、claim、git for-each-ref --format='%(refname:short)' refs/heads/を確認します。 - claim がこの受け入れ単位に一致するブランチを特定します。プライマリ以外のブランチがほかにも存在する場合は停止し、それらを列挙します。ただし
$to-productの場合は、代わりに以下を実行します。- 変更のある各チェックアウトで
git stash push --include-untracked -m "to-product recovery <branch> <YYYYMMDDTHHMMSSZ>"を実行します。 - 一致するブランチがあればそれを
<baseline>とし、なければプライマリを<baseline>とします。git merge-base --is-ancestor <branch> <baseline>が成功するか、git rev-parse <branch>^{tree}がgit rev-parse <baseline>^{tree}と等しい場合は直接削除します。それ以外の場合はgit update-ref refs/recovery/to-product/<YYYYMMDDTHHMMSSZ>/<branch> <branch>で先端を保持します。 - すべての recovery ref と stash を記録します。必要に応じて
git -C <checkout> switch --detach <primary>を実行してから、git branch -D <branch>を実行します。 - リモート参照は決して変更しません。
- 変更のある各チェックアウトで
- クリーンアップ後、プライマリ以外の唯一のブランチと claim がこの単位に一致する場合に限り、再開します。既存の権限のもとで、中断によって期限切れになった claim を修復します。
- それ以外の場合は、タスク固有の名前を決めます。リポジトリでサポートされている最も適切なプレフィックスを選びます。
feature/feat、bugfix/fix、hotfix、release、choreのいずれかです。 - その名前がリモートに存在する場合は上書きせず、より具体的なローカル名を選びます。
git switch -c <branch-name>を実行し、ブランチ名を報告します。
クローズ
- 受け入れ済み: プライマリに切り替えてから、
git branch -d <branch-name>を実行します。次の受け入れ単位を開始する前に、プライマリだけが残っていることを確認します。 - 保留またはキャンセル:
--include-untrackedで stash し、git update-ref refs/recovery/<YYYYMMDDTHHMMSSZ>/<branch> <branch>で先端を保持して、その両方を記録します。プライマリ上で claim を解放してから、git branch -D <branch>を実行します。その状態から、次の唯一の受け入れブランチを再開します。 - 完了または保留状態の受け入れブランチを残さないでください。
命名規則
形式:<type>/<description>
- 説明には小文字の ASCII 文字、数字、ハイフンのみを使用します。リリースの説明では、バージョン番号のピリオドのみ使用できます(
release/v1.2.0)。 - スペース、アンダースコア、大文字、その他の特殊文字は使用しません。ハイフンやピリオドを連続、先頭、末尾に置かず、ハイフンをピリオドの隣に置きません。
- 該当する場合は、チケット識別子を含めます:
feature/issue-123-add-login。 main、master、developはプレフィックスなしの幹ブランチです。タスク作業用に作成しないでください。- リポジトリに文書化されたカスタムのブランチ種別がある場合はそれに従い、ない場合は上記の標準プレフィックスのみを使用します。
例:feature/add-login-page、feat/issue-123-add-login、fix/header-overflow、hotfix/security-patch、release/v1.2.0、chore/update-dependencies。