Files
ask/README.md
T
jiantw83 e8294f3891 feat(ask): 問詢目錄頁改條列式並修正 key-col 參數
What:
把問詢目錄頁 `QUESTION_CONTENTS` 的呈現格式從 markdown 表格改成條列式——每個存取庫一個 H2 區塊,H2 標題就是該存取庫問詢紀錄頁的頁名 `QUESTION_{HASH}`,欄位改成標題底下一層條列 `- {欄位名}:{值}`,順序維持存取庫名稱、問詢紀錄、最後更新,整頁不再留任何 markdown 表格。同一輪把 `wiki-contents.sh upsert QUESTION` 的呼叫參數從 `1 {owner}/{repo}` 改成 `2 QUESTION_{HASH}`。改動落在 `templates/question-contents.md` 的版面與參數語意、`skills/ask/SKILL.md` 與 `references/behaviors.md` 的步驟敘述與可驗證跡象,以及 `README.md` 的技能描述。

Why:
表格版面一列塞滿所有欄位,欄位一長就難讀,每一筆的鍵也埋在儲存格裡;改成一筆一個 H2 區塊之後,鍵就是標題文字,人與工具都直接看得出哪一筆對應哪一個內容頁。`key-col` 原本填 `1`,指到的是純文字的存取庫名稱欄:舊表格自動轉條列時,工具會拿那一欄的連結產生 H2 標題,填 `1` 只會做出 `## plugins/meta` 這種標題,比不到鍵 `QUESTION_{HASH}`,既有那一筆會被當成新的附加上去,同一個存取庫在頁面上出現兩個區塊,舊區塊從此再也更新不到。

How:
`templates/question-contents.md` 的範本主體從表頭加資料列換成 `## QUESTION_{HASH}` 加三條 bullet,引言補上版面段與參數語意段,寫明 `{key}` 是 H2 標題文字、第四個參數帶的是整個區塊的 markdown 而不是單列。`skills/ask/SKILL.md` 把目錄頁那幾條的 row 敘述全部改成 block,呼叫式改為 `upsert QUESTION 2 QUESTION_{HASH} {block-file} templates/question-contents.md`,並說明 `key-col` 為什麼固定是 `2`、填 `1` 會壞成什麼樣,另外在 `wiki-contents.sh` 退 1 的分支補上「頁面上還沒有自己那個區塊不算失敗,那是附加的情形」。`references/behaviors.md` 的關鍵步驟補上區塊檔的組法與參數語意,外部呼叫改成單一 H2 區塊的讀取、合併、寫回,可驗證跡象改成檢查該區塊三條 bullet 的齊全度、順序、全形冒號與整頁不留表格,並補上舊表格轉條列後 H1 與 `>` 引言原樣保留、原有資料一筆不少。`README.md` 的技能描述同步改成條列式的說法。實際的轉檔與 upsert 邏輯在另一個存取庫的 `gitea/tools/wiki-contents.sh`,本存取庫只調整敘述與範本。

Who:
屬於 wiki 目錄頁一律改條列式呈現的需求,`ask` 這一支負責 `QUESTION_CONTENTS` 的範本與敘述。`key-col` 修正是同一個需求能正確落地的必要條件,且與版面敘述改在同一段文字上,無法拆成獨立提交。
2026-09-02 17:24:49 +08:00

3.8 KiB
Raw Blame History

jsc-ask — 決策樹問詢

jsc 技能組的問詢 domain:所有技能需要問使用者時的統一規則。以選項式決策樹詢問直到沒有疑慮,每個選項標明影響範圍;問前先查 wiki 問詢紀錄避免重複問,問後把答案寫回 QUESTION_* 頁。

安裝、更新、移除

Marketplace 統一為 jsc(https://gitea.jsc.idv.tw/plugins/meta.git),安裝 token 為 jsc-ask@jsc。每個指令一行:

CLI 安裝 更新 移除
claude claude plugin marketplace add https://gitea.jsc.idv.tw/plugins/meta.git && claude plugin install jsc-ask@jsc claude plugin marketplace update jsc && claude plugin update jsc-ask@jsc claude plugin uninstall jsc-ask@jsc
codex codex plugin marketplace add https://gitea.jsc.idv.tw/plugins/meta.git && codex plugin add jsc-ask@jsc codex plugin marketplace upgrade jsc codex plugin remove jsc-ask@jsc
copilot copilot plugin marketplace add https://gitea.jsc.idv.tw/plugins/meta.git && copilot plugin install jsc-ask@jsc copilot plugin marketplace update jsc && copilot plugin update jsc-ask@jsc copilot plugin uninstall jsc-ask@jsc
antigravity git clone https://gitea.jsc.idv.tw/plugins/ask.git ~/plugins/ask && agy plugin install ~/plugins/ask git -C ~/plugins/ask pull && agy plugin uninstall jsc-ask && agy plugin install ~/plugins/ask agy plugin uninstall jsc-ask
kiro kiro-cli plugin marketplace add https://gitea.jsc.idv.tw/plugins/meta.git && kiro-cli plugin install jsc-ask@jsc kiro-cli plugin marketplace update jsc && kiro-cli plugin update jsc-ask@jsc kiro-cli plugin uninstall jsc-ask@jsc

antigravity 不支援 gitea URL 安裝,改用本地 clone 路徑。批次操作五個 CLI:使用 /jsc-cli:deploy。

舊入口 plugins/jsc 已移除,marketplace 正本移到 plugins/meta。marketplace 名稱仍是 jsc(取自 marketplace.json 的 name 欄位,與存取庫名無關),安裝 token 不變;已從舊入口安裝過的人先執行 claude plugin marketplace remove jsc,再依上表重新 add。

Skills 目錄

呼叫方式:Claude / Antigravity /jsc-ask:{name};Codex ${name};Copilot / Kiro 描述需求自動觸發。

ask

決策樹問詢:一題一個決策點、選項標明影響範圍、問到沒有疑慮為止。問前查 QUESTION_CONTENTS 與 QUESTION_{HASH},其中 {HASH} 執行 jsc-gitea/tools/hash-id 產生,原樣採用它印出的完整 40 碼大寫十六進位,不截短、不加前綴;已有答案不再問;AI 取用舊答案時依意圖判斷適用性,意圖不符就重新問。兩頁分屬兩個存取庫:目錄頁 QUESTION_CONTENTS 走 JSC_WIKI_REPO_CONTENTS,紀錄頁 QUESTION_{HASH} 走 JSC_WIKI_REPO_QUESTION,兩者都退回 JSC_WIKI_REPO。兩頁在同一個工作階段只讀一次,之後沿用手上那份,自己寫入後就更新它;問出來的 wiki 存取庫也留在工作階段內重複使用。問後套範本寫回 wiki,紀錄頁每節開頭記錄使用者意圖,目錄頁是條列式:每個存取庫一個 H2 區塊,標題就是內容頁頁名 QUESTION_{HASH},欄位一條一行,用 jsc-gitea/tools/wiki-contents.sh upsert 只改自己那個區塊、以絕對網址連到紀錄頁(沒有存取庫名稱就不記錄)。不適用於答案已有紀錄的情況。

範本

檔案 用途
templates/question-contents.md 問詢目錄 QUESTION_CONTENTS
templates/question-record.md 問詢紀錄 QUESTION_{HASH}

相關 domain

  • jsc-gitea:wiki 讀寫(jsc-gitea:wiki)
  • jsc-meta:技能準則 references/guidelines.md