propose-sync
掃描專案 docs/propose/(或 frontend/docs/propose/、backend/docs/propose/)下所有功能資料夾, 判斷 03-tasks.md 是否全部任務已完成([x][cr]), 並將已完成的功能同步更新至使用者指定的規格需求文檔最上方的 ## 已完成 區塊。 觸發情境包含但不限於:「propose-sync」、「同步完成狀態」、「更新規格文檔已完成功能」、 「哪些功能已經實作完成」、「幫我把完成的 propose 同步回規格文檔」。
Propose Sync
掃描 docs/propose/ 所有功能資料夾的任務完成狀態,將已完成的功能同步回規格需求文檔。
執行流程
Step 1:確認規格文檔路徑與掃描根目錄
若使用者未提供規格文檔路徑,詢問:
請提供要同步的規格需求文檔路徑:
(例如:docs/spec.md)
讀取規格文檔,從文檔內的 > propose: 標記自動推斷掃描根目錄:
- 標記路徑以
frontend/開頭 → 掃描frontend/docs/propose/ - 標記路徑以
backend/開頭 → 掃描backend/docs/propose/ - 標記路徑以
docs/propose/開頭(無前綴)→ 掃描docs/propose/ - 文檔內無任何
> propose:標記 → 詢問使用者確認掃描目錄
Step 2:掃描 propose 目錄
讀取對應目錄下所有子資料夾的 03-tasks.md,判斷完成狀態:
完成判斷規則:
- 所有非
[manual]任務全部符合[x][cr]格式 → 視為已完成([manual]任務不納入判斷) - 有任何非
[manual]任務為[ ]或僅有[x]未有[cr]→ 視為未完成 03-tasks.md不存在 → 視為未完成
掃描完成後直接進入 Step 3 更新規格文檔,無需等待使用者確認。
Step 3:更新規格文檔
讀取規格文檔,更新最上方的 ## 已完成 區塊:
- 若
## 已完成區塊不存在,在文檔最頂部插入 - 若已存在,完整替換區塊內容(避免重複累積)
格式:
## 已完成
| 功能 | 資料夾 |
| ---------- | ------------------------------------ |
| <功能描述> | `<掃描路徑>/feature-a/` |
| <功能描述> | `<掃描路徑>/feature-b/` |
---
功能描述從規格文檔中對應的 > propose: 標記上方段落取得;若找不到對應標記,使用 folder name 作為描述。
Step 4:輸出結果
propose-sync 完成:
同步至:<規格文檔路徑>
已新增至 ## 已完成:
- feature-a
- feature-b
未完成功能不受影響,可繼續使用 apply skill 實作。