--- description: 次に実行すべきタスクを取得して実行する argument-hint: [issue_number] [--category=CAT] [--priority=high|medium|low] allowed-tools: Bash, Read, Write, Edit, MultiEdit, Glob, Grep --- # 次タスクの選択と実行 指定されたPBI($1が指定された場合)または全PBIから次に実行すべきタスクを選択し、実行します。 ## 実行オプション ```bash /task-next # 全PBIから最適なタスクを選択 /task-next 123 # PBI #123から次タスクを選択 /task-next 123 --category=setup # 特定カテゴリのタスクを優先 /task-next --priority=high # 高優先度タスクのみ検索 ``` ## 実行内容 ### 1. 次タスクの特定(カテゴリ・優先度考慮) **PBI指定時($1が存在):** - `tasks/pbi-$1/` ディレクトリ内の `todo-*.md` ファイルを検索 - カテゴリ別ファイル命名規則: `todo-{category}-{number}.md` - 優先度とカテゴリ依存関係を考慮してタスク選択 **全PBI検索時(引数なし):** - `tasks/` 配下のすべての `pbi-*` ディレクトリを検索 - カテゴリ依存関係による実行可能タスクをフィルタリング - 優先度・作成日時・ブロック状況を総合評価 **カテゴリ依存関係**: ``` Setup → Models → Services → UI → Tests ↓ ↓ ↓ ↓ ↓ 基盤 データ層 API層 UI層 品質保証 ``` ### 2. 詳細タスク情報の表示 選択されたタスクの内容を表示: ``` 【次のタスク】 PBI: # カテゴリ: (Setup/Models/Services/UI/Tests) 優先度: (High/Medium/Low) 推定時間: 時間 タスク: ファイル: === 前提条件 === ✅ 完了済み依存タスク: ⚠️ 未完了依存タスク: === タスク詳細 === === リファインメント情報 === 関連する要件: 技術仕様: ``` ### 3. 実行確認と開始処理 **依存関係チェック**: - 前提タスクの完了状況確認 - ブロック状況があれば警告表示 - 実行可能性の判定 **ユーザー確認**: - 実行確認とブロック解除オプション提示 - 確認後、以下の処理を実行: 1. `todo-{category}-N.md` → `wip-{category}-N.md` にリネーム 2. YAMLフロントマターの `started` フィールドを現在時刻で更新 3. 作業開始をユーザーに通知 ### 4. 実装作業のガイド(カテゴリ別) **Setup系タスク**: - 環境構築、依存関係インストール - 設定ファイル作成、初期構造構築 - 他のカテゴリの前提条件を満たす **Models系タスク**: - データモデル・スキーマ定義 - データベース migration作成 - ORM/モデルクラス実装 **Services系タスク**: - ビジネスロジック実装 - API エンドポイント作成 - 外部サービス連携 **UI系タスク**: - コンポーネント実装 - 画面・フォーム作成 - ユーザーインタラクション **Tests系タスク**: - 単体テスト・統合テスト - E2Eテスト実装 - テストデータ準備 ### 5. 完了処理とカテゴリ連携 **状態更新**: 1. `wip-{category}-N.md` → `done-{category}-N.md` にリネーム 2. YAMLフロントマターの `completed` フィールドを現在時刻で更新 3. 親PBIの `README.md` のカテゴリ別タスク一覧を更新 **次タスクの解放**: - 依存関係チェーンの確認 - ブロックされていたタスクの実行可能化 - 次の実行可能タスクの通知 **GitHub Issue連携**: - カテゴリ付きタスク完了コメント投稿 - 進捗状況の更新(カテゴリ別進捗含む) ### 6. 進捗状況とカテゴリ分析 **PBI進捗の詳細表示**: ``` 【PBI #123 進捗状況】 全体: 3/8 タスク完了 (37.5%) カテゴリ別進捗: ✅ Setup: 1/1 完了 (100%) 🔄 Models: 1/2 進行中 (50%) ⏳ Services: 0/2 待機中 (Models完了待ち) ⬜ UI: 0/2 未開始 ⬜ Tests: 0/1 未開始 次に実行可能: - Models残り1タスク (高優先度) ``` **全体最適化提案**: - 並行実行可能タスクの提案 - ボトルネックとなっているカテゴリの特定 - 実装順序の最適化提案 ## 利用可能な検索・操作コマンド ```bash # PBI一覧の取得 find tasks -name "pbi-*" -type d | sort # カテゴリ別タスク検索 find tasks/pbi-$1 -name "todo-setup-*.md" # Setup系タスク find tasks/pbi-$1 -name "todo-models-*.md" # Models系タスク find tasks/pbi-$1 -name "todo-services-*.md" # Services系タスク find tasks/pbi-$1 -name "todo-ui-*.md" # UI系タスク find tasks/pbi-$1 -name "todo-tests-*.md" # Tests系タスク # 優先度別検索 grep "priority: high" tasks/pbi-$1/todo-*.md grep "priority: medium" tasks/pbi-$1/todo-*.md # 依存関係確認 grep "depends_on:" tasks/pbi-$1/todo-*.md # タスクファイルの状態変更(カテゴリ保持) mv tasks/pbi-$1/todo-setup-1.md tasks/pbi-$1/wip-setup-1.md mv tasks/pbi-$1/wip-setup-1.md tasks/pbi-$1/done-setup-1.md # 進捗状況の取得 find tasks/pbi-$1 -name "done-*.md" | wc -l # 完了タスク数 find tasks/pbi-$1 -name "wip-*.md" | wc -l # 実行中タスク数 find tasks/pbi-$1 -name "todo-*.md" | wc -l # 未着手タスク数 # カテゴリ別進捗確認 find tasks/pbi-$1 -name "done-setup-*.md" | wc -l find tasks/pbi-$1 -name "*-models-*.md" | wc -l # GitHub Issueへのカテゴリ付きコメント投稿 gh issue comment $1 --body "✅ [Setup] タスク完了: " ``` ## カテゴリ依存関係の管理 ```bash # 依存関係チェック関数例 check_dependencies() { local task_file="$1" local depends_on=$(grep "depends_on:" "$task_file" | cut -d: -f2) for dep in $depends_on; do if [ ! -f "tasks/pbi-$1/done-$dep.md" ]; then echo "❌ 依存タスク未完了: $dep" return 1 fi done return 0 } # 次実行可能タスクの特定 find_executable_tasks() { for todo_file in tasks/pbi-$1/todo-*.md; do if check_dependencies "$todo_file"; then echo "$todo_file" fi done } ``` ## エラーハンドリング ### 基本エラー処理 - 指定されたPBIが存在しない場合の適切なエラー - 実行可能なタスクが見つからない場合の案内 - GitHub CLI未認証時のエラー処理 - ファイル操作失敗時のロールバック ### カテゴリ特有のエラー処理 - 依存関係未満足時の詳細説明 - カテゴリ間の循環依存検出 - 優先度指定時の該当タスクなしエラー - 推定時間超過時の警告 ### 復旧支援機能 - 中断されたwipタスクの復旧提案 - 依存関係エラー時の解決パス提示 - カテゴリ順序の修正提案 ## 完了条件 ### 基本完了条件 - 次タスクが正常に特定・表示されている - カテゴリと優先度が適切に考慮されている - 依存関係チェックが正常に機能している ### 状態管理の完了条件 - タスク状態が適切に更新されている(todo→wip→done) - カテゴリ情報がファイル名に保持されている - 依存関係の解放が正常に実行されている ### 進捗管理の完了条件 - PBI進捗状況が正確に表示されている(カテゴリ別含む) - GitHub Issueに適切なコメントが投稿されている - 次の実行可能タスクが適切に提案されている 実行を開始しますか?