Files
2025-11-29 17:52:09 +08:00

119 lines
3.1 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
description: タスクの状態を更新する
argument-hint: [タスクID] [新しい状態] [理由(オプション)]
---
# タスク状態の更新
指定したタスクの状態を更新します。
## 引数
$ARGUMENTS
## 想定される引数形式
```
/update-task 5 in_progress
/update-task 7 blocked データベーススキーマの確認待ち
/update-task 3 pending
```
## 状態の種類
- `pending`: 未着手
- `in_progress`: 作業中
- `completed`: 完了(`/complete-task` の使用を推奨)
- `blocked`: ブロック中(理由を記載してください)
## 処理手順
### 1. 引数のパース
引数から以下を抽出します:
- **タスクID**: 数値
- **新しい状態**: pending, in_progress, completed, blocked のいずれか
- **理由**: 状態変更の理由blocked の場合は必須)
### 2. タスクファイルの読み込み
`.tasks.json` ファイルを読み込み、指定されたIDのタスクを検索します。
### 3. バリデーション
以下をチェックします:
- タスクIDが存在するか
- 状態が有効な値か
- blocked の場合、理由が提供されているか
- 依存関係の問題がないか(依存タスクが未完了なのに in_progress にしようとしていないか)
### 4. 状態の更新
タスクの状態を更新し、以下の情報も記録します:
- `updatedAt`: 更新日時
- `blockReason`: ブロック理由blocked の場合)
- `startedAt`: 開始日時pending → in_progress の場合)
### 5. 依存関係のチェック
タスクを `completed` にする場合、このタスクに依存している他のタスクがあれば通知します。
## 出力例
### 成功時
```
✅ タスク #5 の状態を更新しました
タスク: ユーザーモデルの作成
旧状態: pending → 新状態: in_progress
開始日時: 2025-10-12 14:30
このタスクに依存しているタスク:
- #6: 認証APIエンドポイントの実装
```
### ブロック時
```
🚫 タスク #7 をブロック状態にしました
タスク: データベースマイグレーション
理由: データベーススキーマの確認待ち
推奨アクション:
1. 関係者に確認を依頼
2. 他のタスク(#5, #6を先に進める
3. 問題が解決したら `/update-task 7 pending` で再開
```
### エラー時
```
❌ タスクの更新に失敗しました
原因: タスク #99 が見つかりません
利用可能なタスクID: 1, 2, 3, 4, 5, 6, 7
タスク一覧を確認: `/list-tasks`
```
### 依存関係エラー時
```
⚠️ 依存関係の警告
タスク #6 を in_progress にしようとしていますが、
依存タスク #5 (ユーザーモデルの作成) がまだ完了していません。
推奨:
- 先に #5 を完了させる
- または依存関係を見直す
```
## 次のステップ
状態に応じて以下を提案:
- `in_progress` にした場合: 作業のヒントや関連ドキュメントを提示
- `blocked` にした場合: 代わりに取り組めるタスクを提案
- `completed` にした場合: 次のタスクを提案(`/complete-task` を推奨)