name: task-workflow
description: Standard workflow for executing a single task from analysis through implementation to verification. Use when working on a specific feature, fixing an issue, or implementing a change. Triggers: TW, 做任務, 執行任務, 開始做, task, do task, implement, 做這個, 實作, 處理這個, work on, 開發.
Task Workflow 技能 (任務執行流程)
描述
執行單一任務的標準流程,確保每個任務都有明確的開始、執行、驗證、完成步驟。
觸發條件
- 「開始做 {任務}」
- 「執行任務」「implement」
- 自動觸發:當 Todo List 有 in-progress 任務時
🎯 任務生命週期
┌─────────────────────────────────────────────────────────────────────┐
│ Task Lifecycle │
├─────────────────────────────────────────────────────────────────────┤
│ │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
│ │ PLAN │───▶│ EXECUTE │───▶│ VERIFY │───▶│ COMPLETE │ │
│ │ 規劃 │ │ 執行 │ │ 驗證 │ │ 完成 │ │
│ └──────────┘ └──────────┘ └──────────┘ └──────────┘ │
│ │ │ │ │ │
│ ▼ ▼ ▼ ▼ │
│ - 理解需求 - 寫程式碼 - 執行測試 - 更新文件 │
│ - 找相關檔案 - 修改檔案 - 檢查錯誤 - 更新 Memory │
│ - 設計方案 - 查看結果 - 人工確認 - 標記完成 │
│ │
└─────────────────────────────────────────────────────────────────────┘
📋 Phase 1: PLAN (規劃)
1.1 理解任務
任務:{任務描述}
□ 我理解這個任務的目標是什麼?
□ 我知道預期的輸出是什麼?
□ 我知道成功的標準是什麼?
1.2 收集上下文
使用工具:
semantic_search(query="{相關關鍵字}")
file_search(query="**/{pattern}")
read_file(filePath="{path}", startLine=1, endLine=100)
1.3 設計方案
## 任務:{任務名稱}
### 需要修改的檔案
1. `{path/to/file1}` - {修改說明}
2. `{path/to/file2}` - {修改說明}
### 執行步驟
1. {步驟 1}
2. {步驟 2}
3. {步驟 3}
### 驗證方式
- [ ] {驗證項目 1}
- [ ] {驗證項目 2}
📋 Phase 2: EXECUTE (執行)
2.1 更新狀態
manage_todo_list(
operation="write",
todoList=[
{"id": N, "title": "{任務}", "status": "in-progress", ...}
]
)
2.2 執行修改
修改檔案時的規則:
| 動作 | 工具 | 注意事項 |
|---|
| 修改現有檔案 | replace_string_in_file | 包含 3-5 行上下文 |
| 建立新檔案 | create_file | 確認目錄正確 |
| 多處修改 | multi_replace_string_in_file | 一次完成 |
| 執行命令 | run_in_terminal | 非平行執行 |
2.3 記錄變更
即時記錄(在腦中/Todo 描述):
📋 Phase 3: VERIFY (驗證)
3.1 檢查錯誤
get_errors(filePaths=["{modified_files}"])
runTests(files=["{test_files}"])
run_in_terminal(command="ruff check {path}")
3.2 驗證清單
驗證:{任務名稱}
□ 程式碼無語法錯誤
□ 相關測試通過
□ 功能正常運作
□ 沒有破壞其他功能
3.3 修復問題
如果驗證失敗:
- 分析錯誤訊息
- 定位問題
- 修復
- 重新驗證
📋 Phase 4: COMPLETE (完成)
4.1 更新 Todo List
manage_todo_list(
operation="write",
todoList=[
{"id": N, "title": "{任務}", "status": "completed", ...}
]
)
4.2 更新 Memory Bank
必要更新:
# progress.md
## Done
### YYYY-MM-DD
- {完成的任務描述}
- 修改:{file1}, {file2}
- 新增:{file3}
4.3 通知使用者
✅ 任務完成:{任務名稱}
修改的檔案:
- `{file1}` - {變更說明}
- `{file2}` - {變更說明}
驗證結果:
- 測試通過 ✅
- 無錯誤 ✅
下一步:
- {建議的下一個任務}
⚠️ 重要原則
1. 一次只做一件事
2. 頻繁驗證
3. 即時記錄
- 修改完就更新 Memory Bank
- 不要等到忘記再補
4. 交付完整
- 任務完成時要有完整的輸出
- 包含變更清單、驗證結果、下一步建議
📌 輸出範例
🔧 任務執行:新增資料驗證功能
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📋 Phase 1: PLAN
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
目標:在 upload_dataset 前新增資料格式驗證
修改檔案:
- automl-mcp-server/src/infrastructure/mcp/handlers/upload_tools.py
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
⚙️ Phase 2: EXECUTE
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
[修改 upload_tools.py]
- 新增 validate_csv_format() 函數
- 在 upload_dataset() 開頭呼叫驗證
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
✅ Phase 3: VERIFY
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
- 語法檢查:✅ 無錯誤
- 單元測試:✅ 3/3 通過
- E2E 測試:✅ 驗證功能正常
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📦 Phase 4: COMPLETE
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
✅ 任務完成!
下一個任務:撰寫驗證功能的測試案例