Skills
/carve
仕様書を実装可能なPR単位に分割し、Jiraチケットを一括作成する。
About
仕様書を実装可能なPR単位に分割し、Jiraチケットを一括作成する。
Category:Planning
Scope:universal
Usage
Use when user says "carve", "チケット分割", "タスク分解", "PR分割", "break down", "チケット作って".Requirements
MCP SERVERS
Atlassian
Install
Agent:
curl -sf /api/skills/carve/download | tar xz -C .claude/skills/Source
Carve
仕様書を実装可能な PR 単位に分割し、依存関係付きで Jira チケットを一括作成する。
入力
$ARGUMENTS: Confluence ページURL、Jira エピックキー、またはローカルの仕様書パス- 入力がない場合はユーザーに確認する
定数
- cloudId: 実行時に
getAccessibleAtlassianResourcesで取得する - プロジェクトキー: LLAM($ARGUMENTS で上書き可能)
手順
1. 仕様書の取得
入力ソースに応じて仕様書を読み込む:
- Confluence URL:
getConfluencePageでページ内容を取得 - Jira エピック:
getJiraIssueで description を取得 + 既存の子チケットを確認 - ローカルファイル: Read ツールで読み込み
- 直前の /shape の出力: 同一セッション内なら記憶しているのでそのまま使う
2. コードベース探索
仕様書の内容に基づき、実装に必要な技術的コンテキストを収集する:
- 変更が必要なファイル・ディレクトリの特定
- 依存関係の把握(このファイルを変えると何に影響するか)
- テスト戦略(どのレベルのテストが必要か)
3. PR 分割
以下の原則に基づいて仕様を PR 単位に分割する:
分割の原則:
- 1 PR = 1 目的(「認証APIの追加」「ログイン画面の改修」など)
- レビュー可能なサイズ: 差分が大きすぎない(目安: 変更ファイル 10 個以内)
- 小さすぎない: 1ファイル1PRのような過度な分割はしない
- 単独でマージ可能: 各PRは単独でCIが通り、壊れた状態にならない
- 依存順が明確: どの順で着手・マージすべきか
典型的な分割パターン:
- データモデル変更(Prisma schema + migration)
- バックエンド: データ層(repository / database utils)
- バックエンド: サービス層 + API エンドポイント
- フロントエンド: 共通コンポーネント
- フロントエンド: 画面実装
- 結合テスト / E2E テスト
並列実行の考慮:
- 依存関係がないチケットは並列着手可能であることを明示する
- エージェントが worktree で並列実行するケースを想定する
4. 分割案の提示
以下の形式でユーザーに提示する:
チケット一覧テーブル
| # | タイトル | タイプ | 優先度 | 依存先 | 並列可 | 概要 |
|---|
依存関係図
┌────────┐ ┌────────┐
│ #1 DB │────▶│ #2 API │──┬──▶ #4 画面A
└────────┘ └────────┘ └──▶ #5 画面B(並列可)
↓
┌────────┐
│ #3 共通 │──▶ #4, #5 が利用
└────────┘
各チケットの詳細
チケットごとに:
- 設計方針: どの層に何を追加するか、既存パターンの参照先
- AC: 具体的で検証可能な受け入れ条件
- 影響範囲: 変更対象のファイル・ディレクトリ(概要レベル)
5. ユーザー確認と調整
分割案を提示し、フィードバックを受ける:
- チケットの統合・分割の調整
- 優先度の変更
- 担当者の割り当て(任意)
- エピックの指定
6. Jira チケット一括作成
承認されたら createJiraIssue で一括作成する:
各チケットに設定する情報:
- summary: チケットタイトル
- description: 設計方針 + AC(Markdown形式)
- issueTypeName: タスク / ストーリー / バグ(内容に応じて)
- priority: 分割案で決めた優先度
- parent: 指定されたエピック
- customfield_10020: 現在のアクティブスプリント(必要に応じて)
作成後:
- チケット間の依存関係を
issuelinksで設定(blocks / is blocked by) - 仕様書(Confluence)へのリンクをチケットの description に含める
- 作成結果のサマリを表示(チケットキー + URL の一覧)
注意事項
- チケットの description にコード例は書かない。設計方針と AC のみ
customfield_10045(Steps to reproduce)はバグタイプの場合のみ ADF 形式で設定する- 並列実行可能なチケットは明示的にマークする(エージェントの worktree 活用を想定)
- 分割が不要な小さい機能の場合は「分割不要、1チケットで十分です」と伝える