feat(todo-wiki,do-wiki): checklist 依群組分組、do-wiki 改以工作證逐群組領取
todo-wiki 產生的 checklist 改依專案或相依性分組(組內編號自 1 起算), frontmatter 新增 max_parallel 標明最多可平行處理的群組數;do-wiki 開工前 先產生唯一工作證,改以群組為單位領取(全被領取時列出各群組最後更新時間 詢問是否取代),群組完成與 session 停止時釋放工作證。同步更新 README skill 表格說明與三份 plugin manifest 版號(0.2.2 → 0.2.3)。 Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
---
|
||||
name: todo-wiki
|
||||
description: 把「需求 → 分析 → 產生鎖定模型的 TODO 清單 → 同步到 Gitea wiki 目錄與頁面」固定成不落地檔案的流程:先依 `/jsc-shared:spec-model` 的「需求分析」任務挑出分析模型,當前模型不符就停止;接著讀取來源(需求描述、本機檔案,或走 `/jsc-shared:spec-issue-read` 讀取的 Gitea 議題)並釐清需求,任何不清楚之處依 `/jsc-shared:spec-ask-user` 詢問;再依「依清單實作」任務挑出實作模型或採用使用者指定;最後把帶 `model`/`model_alias`/`model_reason`/`analyzed_by`/`analyzed_at`/`scope` frontmatter、強制規則區塊,以及具備實作方式/驗收條件/來源依據/必要時建議修改內容的 TODO 內容直接同步到指定 Gitea wiki 目錄頁與 todo 頁。當使用者說要把需求整理成 wiki TODO、同步 todo 到 Gitea wiki、需求轉 todo-wiki、指定模型 todo wiki、或提到 todo-wiki skill 時觸發。不適用於:產生本機 todo.md、把需求拆分成多個 Gitea 議題(用 `/jsc-doc:issues-analyze`)、實作既有 Gitea 議題的 TODO(用 `/jsc-code:issues`)。
|
||||
description: 把「需求 → 分析 → 產生鎖定模型的 TODO 清單 → 同步到 Gitea wiki 目錄與頁面」固定成不落地檔案的流程:先依 `/jsc-shared:spec-model` 的「需求分析」任務挑出分析模型,當前模型不符就停止;接著讀取來源(需求描述、本機檔案,或走 `/jsc-shared:spec-issue-read` 讀取的 Gitea 議題)並釐清需求,任何不清楚之處依 `/jsc-shared:spec-ask-user` 詢問;再依「依清單實作」任務挑出實作模型或採用使用者指定;最後把帶 `model`/`model_alias`/`model_reason`/`analyzed_by`/`analyzed_at`/`scope`/`max_parallel` frontmatter、強制規則區塊,以及具備實作方式/驗收條件/來源依據/必要時建議修改內容的 TODO 內容直接同步到指定 Gitea wiki 目錄頁與 todo 頁;checklist 依專案或相依性分組、組內編號自 1 起算、frontmatter 併帶 `max_parallel` 標明最多可平行處理的群組數。當使用者說要把需求整理成 wiki TODO、同步 todo 到 Gitea wiki、需求轉 todo-wiki、指定模型 todo wiki、或提到 todo-wiki skill 時觸發。不適用於:產生本機 todo.md、把需求拆分成多個 Gitea 議題(用 `/jsc-doc:issues-analyze`)、實作既有 Gitea 議題的 TODO(用 `/jsc-code:issues`)。
|
||||
argument-hint: "[--source <需求描述|檔案路徑|議題編號>] [--impl-model <id|alias>] [--wiki-repo <owner/repo>] [--wiki-index <英文系統名稱>_<中文系統名稱>] [--wiki-project <英文系統名稱>_<中文系統名稱>] [--wiki-page <既有頁 title|TODO_<yyyyMMdd>_<HASH>>] [--append|--overwrite] [--yes]"
|
||||
---
|
||||
|
||||
@@ -118,9 +118,12 @@ model_reason: <階段 3 產出的理由>
|
||||
analyzed_by: <階段 1 確認的分析模型 id>
|
||||
analyzed_at: <yyyy/MM/dd HH:mm:ss,Asia/Taipei>
|
||||
scope: <階段 2 產出的 scope>
|
||||
max_parallel: <X,可同時開工的群組數上限>
|
||||
---
|
||||
```
|
||||
|
||||
**`X` 的計算**:X = 彼此沒有前後相依、可同時開工的群組數上限;相依鏈上的後續群組不重複計入(例:A、B 無相依、C 相依 A 與 B → X = 2)。
|
||||
|
||||
### 強制規則區塊
|
||||
|
||||
固定加入:
|
||||
@@ -143,9 +146,17 @@ scope: <階段 2 產出的 scope>
|
||||
|
||||
### checklist
|
||||
|
||||
- **先分組再列項**:checklist 必須依**專案或相依性**分組,每個群組一個 H2 標題,**每組編號從 1 開始**、不跨群組連號,標題格式:
|
||||
|
||||
```markdown
|
||||
## 群組 {代號}:{群組名稱}(工作證:{工作證編號}|領取:{yyyy/MM/dd HH:mm:ss})
|
||||
```
|
||||
|
||||
尚未被領取時固定寫成 `(工作證:無)`,**不保留**「|領取:」欄位。
|
||||
- **群組相依標示**:群組若有前置相依,於群組名稱後加註 `(相依:{前置群組代號})`,例如 `## 群組 C:文件與版號同步(相依:A、B)(工作證:無)`;**未標註相依即視為無相依,可立即開工**。此標註是 `max_parallel` 的計算依據,也是 `do-wiki` 判斷群組可否開工的依據。
|
||||
- 逐項使用 `- [ ] **編號 短標題**:具體內容`。
|
||||
- 內容需動詞+對象+實作方式+驗收條件+來源依據齊備,並能舉證對應 `path:line` 或需求彙整中的哪一句;文件或程式修改時,必要時附上 `建議修改內容`。
|
||||
- 依影響範圍由小到大排序;範圍相同時前置依賴排前面。
|
||||
- 排序分兩層:**群組之間**依相依關係排序(無相依者在前,有相依的群組排在其所有前置群組之後);**群組之內**依影響範圍由小到大排序,範圍相同時前置依賴排前面。
|
||||
- 不得加入需求來源未提及、也無法合理推得的項目;有疑慮者標「需人工確認」。
|
||||
|
||||
## 階段 5:讀取既有 wiki 頁並決定寫入策略
|
||||
@@ -160,7 +171,7 @@ scope: <階段 2 產出的 scope>
|
||||
| 狀況 | 動作 |
|
||||
| --- | --- |
|
||||
| 頁面不存在 | 建立新 todo 頁。 |
|
||||
| 頁面存在且 frontmatter `model` 相同 | 附加到頁面最後:加 `---` 分隔與 `## 追加(<yyyy/MM/dd HH:mm:ss>)` 標題,接新的 checklist 項目;frontmatter 只更新 `analyzed_at`。 |
|
||||
| 頁面存在且 frontmatter `model` 相同 | 附加到頁面最後:加 `---` 分隔與 `## 追加(<yyyy/MM/dd HH:mm:ss>)` 標題,接新的 checklist 項目;**追加內容同樣要自成群組**(群組代號延續既有代號往後編、組內編號從 1 起算),並**重算 `max_parallel` 寫回 frontmatter**;frontmatter 更新 `analyzed_at` 與 `max_parallel` 兩欄。 |
|
||||
| 頁面存在且 frontmatter `model` 不同 | 停下來詢問使用者是否覆蓋、沿用舊模型附加、或取消;未得同意不得寫入。 |
|
||||
| 頁面存在但沒有 frontmatter | 視為不同模型處理。 |
|
||||
|
||||
@@ -202,6 +213,8 @@ API 寫入方式:
|
||||
| 分析模型 | `analyzed_by` |
|
||||
| 實作模型 | `model` / `model_alias`,並註明推薦或使用者指定 |
|
||||
| 已完成項目數 | 本次實際完成且已回寫確認的 checklist 項目數 |
|
||||
| 群組數 | 本次產生的群組數與各群組代號 |
|
||||
| 最多平行處理數 | frontmatter 的 `max_parallel`,並註明計算依據 |
|
||||
| Wiki repo | `<owner/repo>` |
|
||||
| 目錄頁 | URL;若使用者明確不要更新目錄頁,填「未更新(使用者選擇不更新目錄頁)」 |
|
||||
| Todo 頁 | URL |
|
||||
|
||||
Reference in New Issue
Block a user