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` 修正是同一個需求能正確落地的必要條件,且與版面敘述改在同一段文字上,無法拆成獨立提交。
44 lines
3.8 KiB
Markdown
44 lines
3.8 KiB
Markdown
# 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 描述需求自動觸發。
|
||
|
||
<!-- JSC-SKILLS:START -->
|
||
|
||
### `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` 只改自己那個區塊、以絕對網址連到紀錄頁(沒有存取庫名稱就不記錄)。不適用於答案已有紀錄的情況。
|
||
|
||
<!-- JSC-SKILLS:END -->
|
||
|
||
## 範本
|
||
|
||
| 檔案 | 用途 |
|
||
| --- | --- |
|
||
| `templates/question-contents.md` | 問詢目錄 `QUESTION_CONTENTS` |
|
||
| `templates/question-record.md` | 問詢紀錄 `QUESTION_{HASH}` |
|
||
|
||
## 相關 domain
|
||
|
||
- [`jsc-gitea`](https://gitea.jsc.idv.tw/plugins/gitea):wiki 讀寫(`jsc-gitea:wiki`)
|
||
- [`jsc-meta`](https://gitea.jsc.idv.tw/plugins/meta):技能準則 `references/guidelines.md`
|