refactor(shared): switch doc skills to jsc-shared

This commit is contained in:
2026-07-31 17:36:08 +00:00
parent 7ee80a87ee
commit 7b2ab8bf38
5 changed files with 44 additions and 44 deletions
+10 -10
View File
@@ -7,14 +7,14 @@ description: 讀取使用者選擇的一或多種來源(專案編號、議題
你要先做工具可用性檢查並選擇工具;第二步詢問使用者要讀取哪些來源:專案編號、議題編號、檔案文件,至少選一種,接著讀取選定來源,並在產生保存議題前完整釐清需求——只要有任何不清楚的部分都必須詢問使用者,絕對不可以幻想——確認清楚後才彙整成保存議題內容。第三步必須把上個步驟產生的議題內容拆分成多個小功能議題,並為每個小功能議題產生標題、描述、阻擋關閉規則與依複雜度評估的到期日;若形成子母議題(保存議題為母、小功能議題為子),母議題必須所有子議題都關閉後才可關閉(優先以 issue dependency 阻擋);分析完成後,若議題屬於專案看板且欄位可對應進度語意(例如分析中/待處理/進行中/待測試/已完成),把議題移到「待處理」欄位。第四步必須將小功能議題依到期日與相依關係排序,並把排序結果留言到保存議題;**本 skill 不實作程式碼**——不修改原始碼、不 commit、不 push、不開 PR,後續實作交由 `/jsc-code:issues` 或使用者另行處理。所有中間成果都不准落地成草稿檔,必須一律使用 `tea` 或 Gitea API 保存到議題描述或留言。
## 共用規範(generic plugin,必要前置)
## 共用規範(shared plugin,必要前置)
執行本 skill 前,先以 Skill 工具載入下列共用規範並全程遵守;**任一載入不到(generic plugin 未安裝)時,先詢問使用者是否安裝 generic plugin`https://gitea.jsc.idv.tw/plugins/generic.git`),使用者不安裝則直接中斷本 skill**,不得只憑下方一行摘要繼續執行:
執行本 skill 前,先以 Skill 工具載入下列共用規範並全程遵守;**任一載入不到(shared plugin 未安裝)時,先詢問使用者是否安裝 shared plugin`https://gitea.jsc.idv.tw/plugins/shared.git`),使用者不安裝則直接中斷本 skill**,不得只憑下方一行摘要繼續執行:
- `/jsc-generic:spec-output`:繁體中文為主英文為輔、UTF-8(不含 BOM)無亂碼、表格/Mermaid 呈現、個資(PII)去識別化。
- `/jsc-generic:spec-execution`:不臆測/需人工確認、已知資訊跳過詢問。
- `/jsc-generic:spec-gitea`teaAPI 工具選擇與檢查、`GITEA_TOKEN` 機密保護、不依賴 `jq`、API 分頁完整讀取。
- `/jsc-generic:spec-project-board`:看板欄位語意對應、GET 探測(404/501 不支援)、不往回移、不得新建欄位。
- `/jsc-shared:spec-output`:繁體中文為主英文為輔、UTF-8(不含 BOM)無亂碼、表格/Mermaid 呈現、個資(PII)去識別化。
- `/jsc-shared:spec-execution`:不臆測/需人工確認、已知資訊跳過詢問。
- `/jsc-shared:spec-gitea`teaAPI 工具選擇與檢查、`GITEA_TOKEN` 機密保護、不依賴 `jq`、API 分頁完整讀取。
- `/jsc-shared:spec-project-board`:看板欄位語意對應、GET 探測(404/501 不支援)、不往回移、不得新建欄位。
## 絕對準則(不可違反)
@@ -28,7 +28,7 @@ description: 讀取使用者選擇的一或多種來源(專案編號、議題
- **檔案文件**:本機文件路徑,可多筆;支援 Markdown、純文字與其他可直接讀取的需求文件。
- **保存目標**:合併整理後必須在指定專案建立一張議題保存;若輸入來源未包含可作為保存目標的專案編號,必須詢問使用者提供專案編號,不得自行臆測。
- **repositories 位置**:可另外指定本機含多個專案的資料夾;若未指定,程式碼分析參考(僅供研究、補充議題描述,不修改)以來源議題所在 repo、保存目標 repo 或使用者指定 repo 為準。
- **工具選擇**:依 `/jsc-generic:spec-gitea` 的工具選擇流程(檢查 `tea``tea login list``GITEA_TOKEN` 後詢問使用者用 `tea``api`;已明確指定工具時才可跳過詢問;不依賴 `jq`,JSON 改用 tea 結構化輸出或交給 subagent 解析)。
- **工具選擇**:依 `/jsc-shared:spec-gitea` 的工具選擇流程(檢查 `tea``tea login list``GITEA_TOKEN` 後詢問使用者用 `tea``api`;已明確指定工具時才可跳過詢問;不依賴 `jq`,JSON 改用 tea 結構化輸出或交給 subagent 解析)。
- **議題必須連同留言與附件一起讀取**:處理任何議題(含專案底下展開的議題)時,除了 `title``body` 等欄位,必須一併讀取**所有留言(comments**與**所有附件(attachments/assets,含議題本身與各留言的附件)**,其內容都是需求分析的依據:
- 附件清單:`tea` 目前沒有附件指令,一律走 API — 議題附件 `GET {base}/repos/{owner}/{repo}/issues/{index}/assets`、留言附件 `GET {base}/repos/{owner}/{repo}/issues/comments/{id}/assets`,取得每個附件的檔名、類型與下載 URL。
- 文字類附件(Markdown、純文字、CSV、JSON 等):以 `curl` 直接取得內容到對話中分析,不落地。
@@ -36,11 +36,11 @@ description: 讀取使用者選擇的一或多種來源(專案編號、議題
- 無法讀取的格式(或僅有 `tea` 而無 token 可下載附件):在保存議題內容中列出附件檔名與 URL 並標註「附件無法讀取,需人工確認」,不得忽略附件的存在,也不得臆測其內容。
- **禁止草稿落地**:所有流程都不准建立 `.docs/` 或其他本機草稿檔;需求整理、小功能拆分、排序、進度與交付資訊一律使用 `tea` 或 Gitea API 保存到對應議題描述或留言。
- **TODO list**:所有建立或更新的議題描述最後都必須加上依該描述內容推導出的 `## TODO` 區塊,使用 Markdown checklist`- [ ] ...`);TODO 必須可執行、可驗收,且不得加入描述未提及或無法合理推得的工作。
- **議題描述流程圖**:依 `/jsc-generic:spec-output` — 產生保存議題或小功能議題的描述時,有助理解就加入 Mermaid 流程圖(需求流程、狀態轉移、相依/阻擋關係),忠實反映需求與拆分結果、不得杜撰。
- **議題描述流程圖**:依 `/jsc-shared:spec-output` — 產生保存議題或小功能議題的描述時,有助理解就加入 Mermaid 流程圖(需求流程、狀態轉移、相依/阻擋關係),忠實反映需求與拆分結果、不得杜撰。
## 第 1 步:工具可用性檢查與使用方式選擇
`/jsc-generic:spec-gitea` 的工具選擇流程執行:檢查 `tea``command -v tea``tea login list`,失敗記錄原因不中止)與 `GITEA_TOKEN`(只輸出「已設定/未設定」)→ 詢問使用者要用 `tea``api`(除非使用者已明確指定,不得自行決定;選 `tea` 後續仍需確認來源 host 有對應 login)→ 兩種方式都不可用則停止並回報缺少 `tea login``GITEA_TOKEN`(不要要求使用者把 token 貼進對話)。
`/jsc-shared:spec-gitea` 的工具選擇流程執行:檢查 `tea``command -v tea``tea login list`,失敗記錄原因不中止)與 `GITEA_TOKEN`(只輸出「已設定/未設定」)→ 詢問使用者要用 `tea``api`(除非使用者已明確指定,不得自行決定;選 `tea` 後續仍需確認來源 host 有對應 login)→ 兩種方式都不可用則停止並回報缺少 `tea login``GITEA_TOKEN`(不要要求使用者把 token 貼進對話)。
## 第 2 步:選擇讀取來源、讀取內容並保存議題內容
@@ -125,7 +125,7 @@ description: 讀取使用者選擇的一或多種來源(專案編號、議題
**分析完成後:把議題移到看板「待處理」欄位**。保存議題與所有小功能議題都建立/更新完成後(即分析階段結束),對其中**確實屬於某個專案看板(project board)**的議題調整進度欄位:
-`/jsc-generic:spec-project-board` 執行(欄位語意以看板實際名稱為準、不往回移、先 GET 探測端點且 404/501 視為不支援、不得對未確認端點寫入、不得新建欄位):把議題移動到「待處理」欄位,代表需求分析已完成、等待實作;議題已在「待處理」或更後面的欄位時維持原欄位。
-`/jsc-shared:spec-project-board` 執行(欄位語意以看板實際名稱為準、不往回移、先 GET 探測端點且 404/501 視為不支援、不得對未確認端點寫入、不得新建欄位):把議題移動到「待處理」欄位,代表需求分析已完成、等待實作;議題已在「待處理」或更後面的欄位時維持原欄位。
- 看板沒有可對應「待處理」語意的欄位、或介面不支援時,不移動、不視為錯誤:改在回報與保存議題留言中列出「議題 → 待處理」建議清單,請使用者到看板手動拖曳。
## 第 4 步:依到期日排序並交棒實作