--- description: 機能開発のサブタスクを作成する argument-hint: [機能名] --- # サブタスクの作成 現在の機能開発に対するサブタスクを作成し、進捗を管理します。 ## 機能名 $ARGUMENTS ## あなたの役割 `task-manager` エージェントを起動して、以下を実行してください: ### 1. メインタスク(ワークフローフタスク)の確認 まず `.tasks.json` ファイルを確認し、メインタスクが作成されていることを確認します: **必須条件**: - `/new-feature` によってワークフロータスク(ID 1-5)が既に作成されていること - メインタスクには以下が含まれます: - ID 1: 要件整理 (`/new-feature`) - ID 2: ドキュメント作成 (`/create-docs`) - ID 3: テスト作成 (`/create-tests`) - ID 4: タスク作成 (`/create-tasks`) - ID 5: 実装 (`/implement`) **メインタスクが存在しない場合**: ``` ⚠️ メインタスクが作成されていません 先に `/new-feature [機能の説明]` を実行して、 ワークフローを開始してください。 ``` ### 2. 既存サブタスクの確認 `.tasks.json` に既存のサブタスク(type: "subtask")がある場合は、それを確認します。 ### 3. サブタスクの分析と作成 **重要**: サブタスクは必ず親タスク(メインタスクID 5: 実装)に紐付けて作成してください。 ユーザーのリクエストと既存のドキュメント(機能仕様書など)を分析し、以下の観点でサブタスクに分割します: - **技術領域別**: フロントエンド、バックエンド、データベース、API、テストなど - **機能単位別**: ユーザー認証、データ保存、バリデーション、エラーハンドリングなど - **優先度別**: 必須機能、拡張機能、最適化など ### 4. タスクの粒度 各サブタスクは以下の基準を満たすようにします: - **適切なサイズ**: 独立して完了できる単位 - **テスト可能**: 独立してテストできる - **明確な完了条件**: 完了したかどうかが明確に判断できる ### 5. タスクの構造 **タスクの階層関係**: ``` メインタスク(workflow) ├─ ID 1: 要件整理 (/new-feature) ├─ ID 2: ドキュメント作成 (/create-docs) ├─ ID 3: テスト作成 (/create-tests) ├─ ID 4: タスク作成 (/create-tasks) └─ ID 5: 実装 (/implement) ← サブタスクの親 ├─ ID 6: ユーザーモデルの作成(subtask) ├─ ID 7: 認証APIエンドポイントの実装(subtask) └─ ID 8: フロントエンドフォームの作成(subtask) ``` **完全な .tasks.json の例**: ```json { "feature": "機能名", "createdAt": "2025-10-12T10:00:00Z", "updatedAt": "2025-10-12T14:00:00Z", "tasks": [ { "id": 4, "type": "workflow", "name": "タスク作成", "status": "in_progress", "command": "/create-tasks", "createdAt": "2025-10-12T10:00:00Z", "startedAt": "2025-10-12T13:00:00Z" }, { "id": 5, "type": "workflow", "name": "実装", "status": "pending", "command": "/implement", "createdAt": "2025-10-12T10:00:00Z" }, { "id": 6, "type": "subtask", "name": "ユーザーモデルの作成", "status": "pending", "parent": 5, "dependencies": [], "createdAt": "2025-10-12T14:00:00Z" }, { "id": 7, "type": "subtask", "name": "認証APIエンドポイントの実装", "status": "pending", "parent": 5, "dependencies": [6], "createdAt": "2025-10-12T14:00:00Z" } ] } ``` **重要なポイント**: - すべてのサブタスクは `"parent": 5` を持つ(メインタスク「実装」に紐付け) - `type` は "subtask" にする - ID は既存タスクと重複しない(6から開始) - **完了したタスクは `.tasks-history.json` に移動されているため、`.tasks.json` には進行中・未完了のタスクのみが含まれる** ### 6. タスクの状態 - `pending`: 未着手 - `in_progress`: 作業中 - `completed`: 完了 - `blocked`: ブロック中(依存関係や問題により進められない) ## 出力形式 サブタスクを作成したら、以下の形式でユーザーに表示してください: ``` ## サブタスク一覧 ### ワークフロータスク - [x] 1. 要件整理 (/new-feature) - [x] 2. ドキュメント作成 (/create-docs) - [x] 3. テスト作成 (/create-tests) - [x] 4. タスク作成 (/create-tasks) - [ ] 5. 実装 (/implement) ### 実装サブタスク - [ ] 6. ユーザーモデルの作成 - [ ] 7. 認証APIエンドポイントの実装 (依存: #6) - [ ] 8. フロントエンドフォームの作成 ## 進捗 - 完了: 4/8 (50%) ``` ## 次のステップ サブタスクを作成したら、ユーザーに以下を確認してください: ``` サブタスクを確認してください。 承認いただければ、次のステップ(実装)を自動的に開始します。 承認しますか? (yes/no) ``` **ユーザーが承認した場合**: SlashCommandツールを使って `/implement` を実行してください。 **タスク管理コマンド**: - タスクを確認・修正する場合: `/update-task [タスクID] [新しい状態]` - タスクを完了する場合: `/complete-task [タスクID]` - タスク一覧を表示する場合: `/list-tasks`