Single Issue Flow
Issue 作成から PR 作成まで自動実行するシングルエージェント開発フロー。
引数
- •
--plan: plan mode で計画書を新規作成してから実行 - •
--help: ヘルプを表示 - •
[タスク説明]: 計画書なしで直接実行(簡単なタスク用)
3つの実行モード
モード 1: 計画書実行モード(デフォルト)
引数なしで実行。既存の承認済み計画書から直接実行。
code
[既存計画書] → Issue作成 → ブランチ作成 → 実装 → ... → PR作成
モード 2: 計画書作成モード(--plan)
plan mode を使って計画書を作成・承認してから実行。
code
[ユーザー入力] → plan mode → 計画書作成 → 承認 → Issue作成 → ... → PR作成
モード 3: 直接実行モード(タスク説明あり)
計画書を作らず、タスク説明から直接実行。簡単なタスク向け。
code
[タスク説明] → Issue作成 → ブランチ作成 → 実装 → ... → PR作成
実行フロー
code
Issue作成 → ブランチ作成 → 実装 → 自己レビュー → [確認] → Issue更新 → コミット → プッシュ → PR作成
モード判定
- •先頭引数が
--planの場合 → モード 2(計画書作成モード) - •引数が1つ以上あり、
--plan/--help以外の文字列の場合 → モード 3(直接実行モード) - •引数なしの場合 → モード 1(計画書実行モード)
モード 1: 計画書実行モード(デフォルト)
重要: このモードでは plan mode を使用しません。
- •
EnterPlanModeツールを使用しないでください - •計画の承認を求めないでください
- •直接フローを実行してください
ステップ 0: 計画書の読み込み
.claude/plans/ ディレクトリから最新の計画ファイルを読み込みます。
bash
ls -t ~/.claude/plans/*.md | head -1
計画書が見つからない場合:
code
## 計画書が見つかりません 計画書が見つかりませんでした。 ### 代替手段 - `single-issue-flow --plan` で新しい計画を作成 - `single-issue-flow タスク説明` で直接実行
計画書が見つかったら、ステップ 1 から実行。
モード 2: 計画書作成モード(--plan)
EnterPlanMode ツールを使用して plan mode に入ります。
- •ユーザーに実装したい内容を確認
- •
EnterPlanModeを実行して plan mode に入る - •計画書を作成(
.claude/plans/に保存される) - •ユーザーが計画を承認したら、自動的に single-issue-flow の実行フェーズに進む
モード 3: 直接実行モード(タスク説明あり)
重要: このモードでは plan mode を使用しません。
- •
EnterPlanModeツールを使用しないでください - •計画書を作成しないでください
- •タスク説明を Issue の内容として使用してください
タスク説明を確認し、直接ステップ 1 から実行。
共通ステップ(全モード共通)
ステップ 1: Issue 作成
gh issue create で Issue を作成:
bash
gh repo view --json owner,name
gh issue create --title "{タイトル}" --body "{本文}" --label "{ラベル}"
Issue タイトル: タスク内容を簡潔に(50文字以内)
Issue ラベル:
- •
enhancement: 新機能 - •
bug: バグ修正 - •
documentation: ドキュメント - •
improvement: リファクタリング
Issue 本文フォーマット:
markdown
## 概要
{タスクの目的・背景}
## タスク
- [ ] {サブタスク1}
- [ ] {サブタスク2}
- [ ] {サブタスク3}
## 完了条件
- {達成すべき条件1}
- {達成すべき条件2}
ステップ 2: ブランチ作成
bash
git fetch origin main
git checkout main
git pull origin main
git checkout -b feature/{issue番号}
ブランチ名プレフィックス:
- •
enhancement→feature/{issue番号} - •
bug→fix/{issue番号} - •
documentation→docs/{issue番号} - •
improvement→refactor/{issue番号}
ステップ 3: 実装
Issue の内容に基づいてコードを実装:
- •必要なファイルを特定
- •コード変更を実施
- •動作確認(可能な場合)
- •サブタスク完了時に Issue を更新(バックグラウンド)
ステップ 4: セキュリティチェック&自己レビュー
セキュリティチェック:
bash
git status
以下のパターンを検出したら警告:
- •
.env*- 環境変数 - •
*.pem,*.key- 秘密鍵 - •
credentials.json- 認証情報 - •
node_modules/,vendor/- 依存パッケージ
自己レビュー:
bash
git diff
以下の観点でチェック:
- •コード品質・命名規則
- •セキュリティ(OWASP Top 10)
- •パフォーマンス(N+1、メモリリーク)
ステップ 5: ユーザー確認
重要: ここでユーザーに確認を求める。
code
## 変更内容の確認
以下の変更をコミットします:
{git diff --stat の出力}
### 変更ファイル一覧
{変更ファイルリスト}
### 自己レビュー結果
{レビューで確認した内容のサマリー}
### コミットメッセージ
{自動生成されたメッセージ}
この内容でコミット・プッシュ・PR作成を実行してよろしいですか?
ステップ 6: Issue チェックボックス完了更新
ユーザー確認後、コミット前に Issue の残りのチェックボックスを含め、全てを完了状態に更新します。
ステップ 7: コミット
bash
git add .
git commit -m "{コミットメッセージ}"
コミットメッセージ形式:
- •まず
.claude/settings.jsonのgit.commitMessage設定を確認 - •設定がある場合はその形式に従う
- •設定がない場合は Conventional Commits(日本語)を使用
ステップ 8: プッシュ
bash
git push -u origin {ブランチ名}
ステップ 9: PR 作成
bash
gh pr create --title "{PRタイトル}" --body "{PR本文}"
PR 本文:
markdown
## 概要
{変更内容の説明}
## 変更内容
- {変更点1}
- {変更点2}
## 関連 Issue
Closes #{issue番号}
## テスト計画
- [ ] {テスト項目}
ステップ 10: 完了報告
code
## 開発フロー完了
### 作成された Issue
- #{issue番号}: {タイトル}
### 作成されたブランチ
- {ブランチ名}
### 作成された PR
- PR #{pr番号}: {タイトル}
- URL: {pr_url}
PR がマージされると Issue #{issue番号} は自動的にクローズされます。
重要な注意事項
- •✅ モード 2 のみ
EnterPlanModeを使用 - •✅ モード 1, 3 では plan mode を使用しない
- •✅ コミット前に必ずユーザー確認を行う
- •✅ 機密ファイルをコミットしない
- •✅
.claude/settings.jsonのコミットメッセージ設定に従う(設定がなければ Conventional Commits) - •✅ PR で
Closes #Nを使用して Issue を参照 - •❌ ユーザー確認なしでコミット・プッシュしない
- •❌ main ブランチに直接コミットしない