174 lines
5.5 KiB
Markdown
174 lines
5.5 KiB
Markdown
---
|
||
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`
|