From 9f606b277b695194a1ef417c4c6a4e2e9303531e Mon Sep 17 00:00:00 2001 From: Jeffery Date: Fri, 21 Aug 2026 14:17:32 +0800 Subject: [PATCH] =?UTF-8?q?style(sdlc):=20=E4=BE=9D=20STE100=20=E6=93=AC?= =?UTF-8?q?=E4=BA=BA=E5=8F=B0=E7=81=A3=E6=84=9F=E8=A6=8F=E5=89=87=E6=94=B9?= =?UTF-8?q?=E5=AF=AB=E8=AA=9E=E6=84=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Fable 5 --- README.md | 4 ++-- skills/analyze/SKILL.md | 6 +++--- skills/implement/SKILL.md | 2 +- skills/plan/SKILL.md | 4 ++-- templates/analyze-contents.md | 2 +- templates/analyze-page.md | 4 ++-- templates/maintain-contents.md | 2 +- templates/plan-page.md | 2 +- templates/repo-page.md | 2 +- 9 files changed, 14 insertions(+), 14 deletions(-) diff --git a/README.md b/README.md index f0d1878..70d464a 100644 --- a/README.md +++ b/README.md @@ -28,7 +28,7 @@ Marketplace 統一為 `jsc`(https://gitea.jsc.idv.tw/plugins/jsc.git),安 ### `analyze` -分析:搭配現況(工作目錄 + `REPO_{HASH}` 盤點複用)分析使用者故事 → WBS 產生編號工作包 → CPM 估工時與天數 → TDD 拆待辦 → 寫回 `ANALYZE_{yyyyMMdd}_{HHmmss}_{HASH}`。純邏輯,禁止程式碼與修改檔案。 +分析:搭配現況(工作目錄與 `REPO_{HASH}` 盤點複用)分析使用者故事 → WBS 產生編號工作包 → CPM 估工時與天數 → TDD 拆待辦 → 寫回 `ANALYZE_{yyyyMMdd}_{HHmmss}_{HASH}`。純邏輯,禁止程式碼與修改檔案。 ### `implement` @@ -46,7 +46,7 @@ Marketplace 統一為 `jsc`(https://gitea.jsc.idv.tw/plugins/jsc.git),安 | --- | --- | | `templates/plan-page.md`、`templates/plan-contents.md` | 計畫頁與計畫目錄 | | `templates/analyze-page.md`、`templates/analyze-contents.md` | 分析頁(WBS / CPM / TDD 待辦)與分析目錄 | -| `templates/repo-page.md`、`templates/repo-contents.md` | 存取庫盤點頁(功能與端點 + commit sha)與盤點目錄 | +| `templates/repo-page.md`、`templates/repo-contents.md` | 存取庫盤點頁(功能與端點,附 commit sha)與盤點目錄 | | `templates/maintain-contents.md` | 維護目錄(截止日 NULL = 永久維護) | | `references/tdd.md` | 接縫、紅綠循環規則、反模式 | diff --git a/skills/analyze/SKILL.md b/skills/analyze/SKILL.md index be4ab9b..04aacdd 100644 --- a/skills/analyze/SKILL.md +++ b/skills/analyze/SKILL.md @@ -14,15 +14,15 @@ description: SDLC analysis stage. Gate on model capability tags, pick a plan fro ## 流程 1. **模型能力檢查**:依 `jsc-cli:models` 的能力標籤確認目前模型具備「分析」能力。不適合就阻擋流程,並告知使用者建議改用的模型。 -2. 經由 `jsc-gitea:wiki` 讀取 `PLAN_CONTENTS` 的**未分析**計畫(名稱 + HASH),並讀取 `ANALYZE_CONTENTS` 的既有分析。 +2. 經由 `jsc-gitea:wiki` 讀取 `PLAN_CONTENTS` 的**未分析**計畫(名稱與 HASH),並讀取 `ANALYZE_CONTENTS` 的既有分析。 3. 依 `jsc-ask:ask` 規則讓使用者選擇:**補充既有分析**或**分析新計畫**。每個選項標明影響範圍。 4. 搭配**現況**,依 `jsc-ask:ask` 決策樹逐條分析計畫頁的使用者故事,直到補全所有疑慮;只要還沒達成共識就繼續詢問。現況定義: 1. 工作目錄的所有檔案。 2. **盡量複用既有方法或端點**: - 優先查 `REPO_{HASH}` 盤點頁。若功能與端點不存在,或紀錄的 commit sha 與目前不同,就重新盤點。 - 重新盤點**必須以 sub agent 執行**:分析該存取庫的功能與端點,加上目前 commit sha,套用 `templates/repo-page.md` 寫回 `REPO_{HASH}`,並依 `templates/repo-contents.md` 更新 `REPO_CONTENTS`。 - - 對候選的複用目標,先確認檔案路徑與方法名稱,再分析其邏輯是否符合需求。 -5. 執行**工作分解結構(WBS)**:把使用者故事拆成工作包,每個工作包給編號(`WP-01`、`WP-02`…)並標明相依關係。 + - 對候選的複用目標,先確認檔案路徑與方法名稱,再分析邏輯是否符合需求。 +5. 執行**工作分解結構(WBS)**:把使用者故事拆成工作包,每個工作包給編號(`WP-01`、`WP-02` 依序遞增)並標明相依關係。 6. 以**關鍵路徑法(CPM)**估算每個工作包的工時與天數,標出關鍵路徑。 7. 以**測試驅動開發(TDD)**把每個工作包拆解成多個待辦事項,格式 `[ ]`(未完成)/ `[x]`(完成),每項為一個垂直切片(一個接縫、一個測試、一個最小實作);接縫與反模式見 `references/tdd.md`。 8. 套用 `templates/analyze-page.md` 產生或更新分析頁,經由 `jsc-gitea:wiki` 寫回。 diff --git a/skills/implement/SKILL.md b/skills/implement/SKILL.md index 665c313..2dfb795 100644 --- a/skills/implement/SKILL.md +++ b/skills/implement/SKILL.md @@ -12,7 +12,7 @@ description: SDLC implementation stage. Gate on model capability tags, claim a r 1. **模型能力檢查**:依 `jsc-cli:models` 的能力標籤確認目前模型具備「實作」能力。不適合就阻擋流程,並告知使用者建議改用的模型。 2. **產生工作證**:格式 `TICKET_{session id 前 8 碼}_{yyyyMMddHHmmss}`,並嘗試將目前 session 重新命名為工作證名稱(CLI 不支援時略過)。 -3. 經由 `jsc-gitea:wiki` 讀取 `ANALYZE_CONTENTS`,列出未完成的:計畫名稱 + HASH + 工作包編號 + 未完成項目數量。可選的工作包必須同時滿足:**未完成、無相依(或相依都已完成)、無工作證**。 +3. 經由 `jsc-gitea:wiki` 讀取 `ANALYZE_CONTENTS`,列出未完成的:計畫名稱、HASH、工作包編號、未完成項目數量。可選的工作包必須同時滿足:**未完成、無相依(或相依都已完成)、無工作證**。 4. 依 `jsc-ask:ask` 規則讓使用者選擇要實作的工作包(選項標明未完成項目數與預估工時)。把工作證寫入分析頁該工作包的「工作證」欄位並寫回 wiki,**成功標上工作證才可以進入下一步**。 5. 列出該工作包所有未完成項目,**逐項實作**: - 依 TDD 循環:先紅後綠、一次一片;規則與反模式見 `references/tdd.md`(重構留給審查階段)。 diff --git a/skills/plan/SKILL.md b/skills/plan/SKILL.md index af399b8..3ae99c9 100644 --- a/skills/plan/SKILL.md +++ b/skills/plan/SKILL.md @@ -14,13 +14,13 @@ description: SDLC planning stage. Gate on model capability tags, pick or create ## 流程 1. **模型能力檢查**:依 `jsc-cli:models` 的能力標籤確認目前模型具備「規劃」能力。不適合就阻擋流程,並告知使用者建議改用的模型。 -2. 經由 `jsc-gitea:wiki` 讀取 `PLAN_CONTENTS`,列出**未分析**的計畫名稱 + HASH。 +2. 經由 `jsc-gitea:wiki` 讀取 `PLAN_CONTENTS`,列出**未分析**的計畫名稱與 HASH。 3. 依 `jsc-ask:ask` 規則讓使用者選擇:**補充既有計畫**(列出未分析計畫為選項)或**新建計畫**。每個選項標明影響範圍。 4. 依 `jsc-ask:ask` 決策樹詢問,補全以下三項直到沒有疑慮;只要還沒達成共識就繼續詢問: - 計畫目標:要解決什麼問題、成功的判斷標準。 - 計畫範圍:包含什麼、排除什麼、涉及哪些存取庫。 - 可行性:系統架構與資料來源是否支撐目標。 -5. 由共識產生**使用者故事**(身為…我想要…以便…),逐條列出。 +5. 由共識產生**使用者故事**(身為⋯⋯我想要⋯⋯以便⋯⋯),逐條列出。 6. 套用 `templates/plan-page.md` 產生或更新計畫頁,經由 `jsc-gitea:wiki` 寫回。 7. 若是新的計畫頁,套用 `templates/plan-contents.md` 的條目格式,將其加入 `PLAN_CONTENTS`(狀態=未分析)。 diff --git a/templates/analyze-contents.md b/templates/analyze-contents.md index 4fcecb9..e6fbf01 100644 --- a/templates/analyze-contents.md +++ b/templates/analyze-contents.md @@ -2,4 +2,4 @@ | 計畫名稱 | 分析頁 | HASH | 工作包 | 未完成項目 | 狀態 | | --- | --- | --- | --- | --- | --- | -| {計畫名稱} | [[ANALYZE_{yyyyMMdd}_{HHmmss}_{HASH}]] | {HASH} | WP-01, WP-02 | {n} | 未完成 | +| {計畫名稱} | [[ANALYZE_{yyyyMMdd}_{HHmmss}_{HASH}]] | {HASH} | WP-01、WP-02 | {n} | 未完成 | diff --git a/templates/analyze-page.md b/templates/analyze-page.md index 42ca3d4..531bcd7 100644 --- a/templates/analyze-page.md +++ b/templates/analyze-page.md @@ -18,7 +18,7 @@ | WP-01 | {名稱} | - | {h} | {d} | | 未完成 | | WP-02 | {名稱} | WP-01 | {h} | {d} | | 未完成 | -- 關鍵路徑:{WP-01 → WP-02 → …},總天數 {d} +- 關鍵路徑:{WP-01 → WP-02 → ⋯⋯},總天數 {d} ## 待辦事項(TDD) @@ -30,4 +30,4 @@ ### WP-02 {工作包名稱} -- [ ] … +- [ ] ⋯⋯ diff --git a/templates/maintain-contents.md b/templates/maintain-contents.md index 57a1330..5c06110 100644 --- a/templates/maintain-contents.md +++ b/templates/maintain-contents.md @@ -4,4 +4,4 @@ | 存取庫 | 維護方式 | 維護起始日 | 維護截止日 | 前次維護時間 | | --- | --- | --- | --- | --- | -| {owner}/{repo} | {例:套件更新+安全掃描} | {yyyy-MM-dd} | NULL | {yyyy-MM-dd} | +| {owner}/{repo} | {例:套件更新與安全掃描} | {yyyy-MM-dd} | NULL | {yyyy-MM-dd} | diff --git a/templates/plan-page.md b/templates/plan-page.md index 3cfb0ab..d8e67f5 100644 --- a/templates/plan-page.md +++ b/templates/plan-page.md @@ -24,7 +24,7 @@ ## 使用者故事 1. 身為 {角色},我想要 {功能},以便 {價值}。 -2. … +2. ⋯⋯ ## 問詢共識 diff --git a/templates/repo-page.md b/templates/repo-page.md index 57c8967..fa49503 100644 --- a/templates/repo-page.md +++ b/templates/repo-page.md @@ -8,4 +8,4 @@ | 檔案路徑 | 方法/端點名稱 | 類型 | 邏輯摘要 | | --- | --- | --- | --- | -| {path} | {method 或 HTTP 動詞 + 路由} | 方法 \| 端點 | {做什麼、輸入輸出概要} | +| {path} | {method 或 HTTP 動詞加路由} | 方法 \| 端點 | {做什麼、輸入輸出概要} |