From 1cff45bb1ffcc22f07567db54987df085f023f81 Mon Sep 17 00:00:00 2001 From: Jeffery Date: Thu, 16 Jul 2026 15:11:05 +0800 Subject: [PATCH 1/2] =?UTF-8?q?docs(doc-issues-analyze):=20=E7=94=A2?= =?UTF-8?q?=E7=94=9F=E4=BF=9D=E5=AD=98=E8=AD=B0=E9=A1=8C=E5=89=8D=E5=BF=85?= =?UTF-8?q?=E9=A0=88=E5=AE=8C=E6=95=B4=E9=87=90=E6=B8=85=E9=9C=80=E6=B1=82?= =?UTF-8?q?=EF=BC=8C=E4=B8=8D=E6=B8=85=E6=A5=9A=E8=99=95=E4=B8=80=E5=BE=8B?= =?UTF-8?q?=E8=A9=A2=E5=95=8F=E3=80=81=E4=B8=8D=E5=BE=97=E8=87=86=E6=B8=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Fable 5 --- skills/doc-issues-analyze/SKILL.md | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/skills/doc-issues-analyze/SKILL.md b/skills/doc-issues-analyze/SKILL.md index 91968f2..868684b 100644 --- a/skills/doc-issues-analyze/SKILL.md +++ b/skills/doc-issues-analyze/SKILL.md @@ -1,11 +1,11 @@ --- name: doc-issues-analyze -description: 讀取使用者選擇的一或多種來源(專案編號、議題編號、檔案文件;至少一種;若選專案編號則只讀取該專案下開啟中的議題;處理議題時必須連同所有留言與附件一起讀取,附件內容一併納入需求分析),先檢查 tea 與 GITEA_TOKEN 並詢問使用者要用 tea 或 Gitea API + token,將來源內容合併整理成保存議題內容,再拆分成多個小功能議題(標題、描述、阻擋關閉、依複雜度評估到期日;形成子母議題時母議題必須所有子議題關閉後才可關閉,優先以 issue dependency 阻擋),每個小功能議題都必須詢問使用者描述是否有補充內容,所有議題都要根據描述內容在描述最後產生 TODO list;分析完成後若議題屬於專案看板且欄位可對應進度語意(例如分析中/待處理/進行中/待測試/已完成),把議題移到「待處理」欄位(不往回移、介面不支援時改列建議清單請人工調整);再依到期日排序並在使用者逐議題確認後實作、留言進度、完成後 PR 到 develop 或 master。當使用者要把需求拆成小功能議題、依專案/議題/文件產生保存議題與功能議題、依到期日排程實作、或提到 doc-issues-analyze、issue breakdown、議題拆分、小功能議題、Gitea issue 拆解時使用此 skill。 +description: 讀取使用者選擇的一或多種來源(專案編號、議題編號、檔案文件;至少一種;若選專案編號則只讀取該專案下開啟中的議題;處理議題時必須連同所有留言與附件一起讀取,附件內容一併納入需求分析),先檢查 tea 與 GITEA_TOKEN 並詢問使用者要用 tea 或 Gitea API + token,在產生保存議題前必須完整釐清需求、任何不清楚的部分都要詢問使用者、絕不臆測或編造,確認清楚後才將來源內容合併整理成保存議題內容,再拆分成多個小功能議題(標題、描述、阻擋關閉、依複雜度評估到期日;形成子母議題時母議題必須所有子議題關閉後才可關閉,優先以 issue dependency 阻擋),每個小功能議題都必須詢問使用者描述是否有補充內容,所有議題都要根據描述內容在描述最後產生 TODO list;分析完成後若議題屬於專案看板且欄位可對應進度語意(例如分析中/待處理/進行中/待測試/已完成),把議題移到「待處理」欄位(不往回移、介面不支援時改列建議清單請人工調整);再依到期日排序並在使用者逐議題確認後實作、留言進度、完成後 PR 到 develop 或 master。當使用者要把需求拆成小功能議題、依專案/議題/文件產生保存議題與功能議題、依到期日排程實作、或提到 doc-issues-analyze、issue breakdown、議題拆分、小功能議題、Gitea issue 拆解時使用此 skill。 --- # 分析多來源需求並保存為議題 -你要先做工具可用性檢查並選擇工具;第二步詢問使用者要讀取哪些來源:專案編號、議題編號、檔案文件,至少選一種,接著讀取選定來源並彙整成保存議題內容。第三步必須把上個步驟產生的議題內容拆分成多個小功能議題,並為每個小功能議題產生標題、描述、阻擋關閉規則與依複雜度評估的到期日;若形成子母議題(保存議題為母、小功能議題為子),母議題必須所有子議題都關閉後才可關閉(優先以 issue dependency 阻擋);分析完成後,若議題屬於專案看板且欄位可對應進度語意(例如分析中/待處理/進行中/待測試/已完成),把議題移到「待處理」欄位。第四步必須將小功能議題依到期日排序,逐個議題實作並將進度留言到議題,完成後 PR 到 `develop` 或 `master`;**實作任何議題前必須先詢問使用者並取得確認,不得擅自開始修改程式碼;但使用者確認開始實作該議題後,可在該議題範圍內自行 commit、push 與開 PR**。所有中間成果都不准落地成草稿檔,必須一律使用 `tea` 或 Gitea API 保存到議題描述或留言。 +你要先做工具可用性檢查並選擇工具;第二步詢問使用者要讀取哪些來源:專案編號、議題編號、檔案文件,至少選一種,接著讀取選定來源,並在產生保存議題前完整釐清需求——只要有任何不清楚的部分都必須詢問使用者,絕對不可以幻想——確認清楚後才彙整成保存議題內容。第三步必須把上個步驟產生的議題內容拆分成多個小功能議題,並為每個小功能議題產生標題、描述、阻擋關閉規則與依複雜度評估的到期日;若形成子母議題(保存議題為母、小功能議題為子),母議題必須所有子議題都關閉後才可關閉(優先以 issue dependency 阻擋);分析完成後,若議題屬於專案看板且欄位可對應進度語意(例如分析中/待處理/進行中/待測試/已完成),把議題移到「待處理」欄位。第四步必須將小功能議題依到期日排序,逐個議題實作並將進度留言到議題,完成後 PR 到 `develop` 或 `master`;**實作任何議題前必須先詢問使用者並取得確認,不得擅自開始修改程式碼;但使用者確認開始實作該議題後,可在該議題範圍內自行 commit、push 與開 PR**。所有中間成果都不准落地成草稿檔,必須一律使用 `tea` 或 Gitea API 保存到議題描述或留言。 ## 絕對準則(不可違反) @@ -90,14 +90,19 @@ description: 讀取使用者選擇的一或多種來源(專案編號、議題 - 標籤:`GET {base}/labels`(tea:`tea labels list`) - 里程碑:`GET {base}/milestones`(tea:`tea milestones list`) - 專案(若該 Gitea 版本有此 API):`GET {base}/projects`;若不支援就記錄「此 Gitea 版本不支援 project API,需人工處理」。 -7. 把所有來源內容彙整成保存議題內容,使用 `tea` 或 Gitea API 建立或更新保存議題;不得寫入本機草稿檔。保存議題描述至少包含: +7. **需求釐清(產生保存議題前的必要關卡)**:讀取完所有來源後、建立或更新保存議題前,必須先完整釐清需求才可以繼續: + - 逐一盤點來源內容中所有不清楚、有歧義、互相矛盾、缺少上下文或無法確定的部分(包含:需求範圍不明、驗收條件缺漏、來源之間說法不一致、附件無法讀取造成的資訊缺口、名詞或系統指涉不明等)。 + - 只要有**任何**不清楚的部分,都必須以 AskUserQuestion 或對話詢問使用者,直到全部釐清;問題可分批詢問,但不得略過任何一項。 + - **絕對不可以幻想**:不得用臆測、腦補或「合理推測」填補資訊缺口來代替詢問;使用者明確表示某項「先保留、之後再確認」時,才可在保存議題中將該項標註「需人工確認」後繼續。 + - 所有不清楚的部分都已由使用者釐清(或明確指示保留標註)之前,不得進入下一項建立或更新保存議題。 +8. 把所有來源內容彙整成保存議題內容,使用 `tea` 或 Gitea API 建立或更新保存議題;不得寫入本機草稿檔。保存議題描述至少包含: - 來源清單:每筆專案/議題/檔案的來源資訊、標題或名稱、狀態、現有 labels/milestone/project(若適用),以及議題的留言數與附件清單(檔名;無法讀取的附件標註「需人工確認」)。 - 完整需求描述:整合專案、議題(含留言與附件內容)、檔案文件的內容,去除重複、補齊上下文,形成單一連貫的需求敘述。 - 驗收條件/預期結果:能從來源內容推得的,逐條列出;不能確定的標註「需人工確認」。 - 保存議題分類:labels/milestone/project 掛載方式。 - `## TODO`:根據保存議題描述內容產生 Markdown checklist,放在描述最後。 -需求彙整只做整理與歸納,不得編造來源內容未提及的需求;無法確定處保守描述並標註。 +需求彙整只做整理與歸納,不得編造來源內容未提及的需求;無法確定處必須依上方「需求釐清」關卡先詢問使用者,只有使用者明確指示保留的項目才可標註「需人工確認」後寫入。 ## 第 3 步:拆分小功能議題 -- 2.53.0 From 46e6c0ca7dabfe24c544ae0d18e1f88c9affd679 Mon Sep 17 00:00:00 2001 From: Jeffery Date: Thu, 16 Jul 2026 15:11:05 +0800 Subject: [PATCH 2/2] =?UTF-8?q?chore(plugin=20=E7=89=88=E6=9C=AC):=20bump?= =?UTF-8?q?=20=E8=87=B3=200.2.1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Fable 5 --- .claude-plugin/plugin.json | 2 +- .codex-plugin/plugin.json | 2 +- plugin.json | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.claude-plugin/plugin.json b/.claude-plugin/plugin.json index 35466ba..eedfe06 100644 --- a/.claude-plugin/plugin.json +++ b/.claude-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "jsc", - "version": "0.2.0", + "version": "0.2.1", "description": "JSC 文件化 skills(Claude Code / Codex / Antigravity / OpenCode):doc-docker 會整理 docker-compose.yaml 的行內註解與標題日期;doc-funcs 會為專案 functions 建立 .docs 草稿、補齊 XML 文件註解並重建 README 功能列表與使用範例;doc-issues-analyze-to-file 會讀取 Gitea issue、彙整需求、拆成多階段 issue 並產生實作草稿與交付留言;doc-issues-analyze 會把專案/議題/文件來源(議題連同留言與附件一起讀取)拆成小功能議題(母議題須待所有子議題關閉後才可關閉)、分析完成後把屬於專案看板的議題移到「待處理」欄位並依到期日實作;doc-issues-sync 會讀取 Gitea 專案或議題、依工作目錄檔案勾稽並同步議題的 TODO 進度、標籤與專案看板進度欄位並產生進度留言(指定關閉專案/專案完成時改為批次把專案所有議題搬到「已完成」並關閉)。所有 skills 以 SKILL.md 為共通標準,於 Claude Code 以 /jsc: 前綴呼叫。", "skills": "./skills", "author": { diff --git a/.codex-plugin/plugin.json b/.codex-plugin/plugin.json index 84e26eb..b20231f 100644 --- a/.codex-plugin/plugin.json +++ b/.codex-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "jsc", - "version": "0.2.0", + "version": "0.2.1", "description": "JSC 文件化 skills:doc-docker 會整理 docker-compose.yaml 的行內註解與標題日期;doc-funcs 會為專案 functions 建立 .docs 草稿、補齊 XML 文件註解並重建 README 功能列表與使用範例;doc-issues-analyze-to-file 會讀取 Gitea issue、彙整需求、拆成多階段 issue 並產生實作草稿與交付留言;doc-issues-analyze 會把專案/議題/文件來源(議題連同留言與附件一起讀取)拆成小功能議題(母議題須待所有子議題關閉後才可關閉)、分析完成後把屬於專案看板的議題移到「待處理」欄位並依到期日實作;doc-issues-sync 會讀取 Gitea 專案或議題、依工作目錄檔案勾稽並同步議題的 TODO 進度、標籤與專案看板進度欄位並產生進度留言(指定關閉專案/專案完成時改為批次把專案所有議題搬到「已完成」並關閉)。所有 skills 以 SKILL.md 為共通標準。", "skills": "./skills" } diff --git a/plugin.json b/plugin.json index 901bbec..83e9c78 100644 --- a/plugin.json +++ b/plugin.json @@ -1,6 +1,6 @@ { "name": "jsc", - "version": "0.2.0", + "version": "0.2.1", "description": "JSC 文件化 skills:doc-docker 會整理 docker-compose.yaml 的行內註解與標題日期;doc-funcs 會為專案 functions 建立 .docs 草稿、補齊 XML 文件註解並重建 README 功能列表與使用範例;doc-issues-analyze-to-file 會讀取 Gitea issue、彙整需求、拆成多階段 issue 並產生實作草稿與交付留言;doc-issues-analyze 會把專案/議題/文件來源(議題連同留言與附件一起讀取)拆成小功能議題(母議題須待所有子議題關閉後才可關閉)、分析完成後把屬於專案看板的議題移到「待處理」欄位並依到期日實作;doc-issues-sync 會讀取 Gitea 專案或議題、依工作目錄檔案勾稽並同步議題的 TODO 進度、標籤與專案看板進度欄位並產生進度留言(指定關閉專案/專案完成時改為批次把專案所有議題搬到「已完成」並關閉)。所有 skills 以 SKILL.md 為共通標準;於 Antigravity 以 /jsc: 前綴呼叫。", "skills": "./skills/" } -- 2.53.0