| name | branch |
| description | ブランチ作成Skill。仕様策定用(spec/*)または実装用(impl/*)のブランチを作成。/spec や spec-workflow から呼び出される。 |
/branch Skill - ブランチ作成
SDDワークフローにおけるブランチ作成を担当するSkill。 仕様策定・実装それぞれのフェーズで適切なブランチを作成します。
発動条件
/branchコマンドで明示的に呼び出し/specSkill から自動呼び出し(仕様策定開始時)spec-workflowSkill から自動呼び出し(実装開始時)
ブランチ命名規則
仕様策定用
spec/{action-id}-{short-description}
例: spec/001-01-01-user-auth
実装用
impl/{action-id}-{short-description}
例: impl/001-01-01-user-auth
ワークフロー
┌─────────────────────────────────────────────────┐
│ 1. コンテキスト確認 │
│ - 呼び出し元を判定(spec or impl) │
│ - アクションIDを取得 │
│ │
│ 2. ブランチ名生成 │
│ - 命名規則に従って生成 │
│ - 重複チェック │
│ │
│ 3. ユーザー確認 │
│ 「ブランチ '{name}' を作成しますか?」 │
│ │
│ 4. ブランチ作成 │
│ git checkout -b {branch-name} │
│ │
│ 5. 完了通知 │
│ 「ブランチ '{name}' を作成しました」 │
└─────────────────────────────────────────────────┘
パラメータ
| パラメータ | 必須 | 説明 | 例 |
|---|---|---|---|
| type | Yes | ブランチタイプ | spec or impl |
| action-id | Yes | アクションID | 001-01-01 |
| description | No | 短い説明(省略時は自動生成) | user-auth |
使用例
直接呼び出し
ユーザー: /branch spec 001-01-01 user-auth
Claude: ブランチ 'spec/001-01-01-user-auth' を作成しますか?
ベースブランチ: main
ユーザー: OK
Claude: ✅ ブランチ 'spec/001-01-01-user-auth' を作成しました
現在のブランチ: spec/001-01-01-user-auth
/spec からの自動呼び出し
[/spec Skill 内部]
→ ファイル生成前に /branch を発火
→ type: spec, action-id: 生成するアクションID
spec-workflow からの自動呼び出し
[spec-workflow Skill 内部]
→ 実装開始前に /branch を発火
→ type: impl, action-id: 実装するアクションID
実行コマンド
# 現在のブランチを確認
git branch --show-current
# mainブランチが最新か確認
git fetch origin main
# ブランチ作成
git checkout -b {branch-name}
# 作成確認
git branch --show-current
エラーハンドリング
ブランチ名が既に存在する場合
Claude: ブランチ 'spec/001-01-01-user-auth' は既に存在します。
対応案:
1. 既存ブランチに切り替える
2. 別の名前で作成する(例: spec/001-01-01-user-auth-v2)
3. 既存ブランチを削除して新規作成
どれを選択しますか?
未コミットの変更がある場合
Claude: 未コミットの変更があります。
対応案:
1. 変更をスタッシュしてブランチ作成
2. 変更をコミットしてからブランチ作成
3. 変更を破棄してブランチ作成(非推奨)
どれを選択しますか?
禁止事項
- ユーザー確認なしのブランチ作成
- 命名規則に従わないブランチ名
- mainブランチへの直接コミット誘導