| name | task-status |
| description | Update task status and append event log in .tasks/ file |
| allowed-tools | Read, Edit, Glob |
任務狀態更新
任意角色更新任務狀態(中間狀態),自動追加事件紀錄。
使用方式
/task-status {task-id} {new-status} {備註(可選)}
範例
/task-status T3 in_progress L1 分派給 backend-architect 執行
/task-status T5 blocked 等待 T4 完成
/task-status T7 assigned 已分派給 frontend-developer
合法狀態(系統解析依賴,務必使用英文小寫值)
| 狀態值 | 說明 | 系統對應 |
|---|
created | 已建立,尚未分配 | created |
assigned | 已分配,尚未開始 | assigned |
in_progress | 進行中 | in_progress |
in_review | 審查中 | in_review |
blocked | 被阻塞 | blocked |
done | 完成(建議改用 /task-done) | done |
rejected | 被退回 | rejected |
禁止使用中文狀態值(如「進行中」)或自定義值。
系統解析器 normalizeStatus() 可容忍 ✅ 完成 / 🔄 進行中 等 emoji 前綴格式,
但 .tasks/ 檔案的狀態欄位必須使用純英文值。
執行步驟
-
解析參數:從 $ARGUMENTS 提取 task-id、new-status、備註
-
找到任務檔案(支援 Sprint 子目錄):
使用 Glob tool 搜尋 .tasks/**/$0-*.md,若無結果再搜尋 .tasks/**/$0.md。
取得檔案路徑後用 Read tool 讀取內容。
任務檔案可能在 .tasks/sprint-{N}/T3-xxx.md,不再只在 .tasks/ 根目錄。
-
取得真實時間(必要,不可跳過):
!node -e "console.log(new Date().toISOString())"
⚠️ 禁止自行編造時間。Agent 不知道真實時間,必須透過上述指令取得。將輸出存為變數 $NOW 供後續步驟使用。
-
更新狀態欄位:將 | 狀態 | xxx | 修改為 | 狀態 | {new-status} |
-
事件紀錄(必要,不可跳過):在 ## 事件紀錄 區塊底部 append:
### $NOW — 狀態變更 → {new-status}
{備註}
- 完成提示:
- 如果 new-status 是
done,提示用戶改用 /task-done(因為 done 需要同步更新 dev-plan 第 10 節)
- 否則輸出確認訊息:
✅ {task-id} 狀態已更新為 {new-status}