What:`README.md` 的 hook 一覽表新增 `lang-guard.sh` 一列(事件、三種模式、逃生門),所有「六支 hook」改七支,環境變數表補 `JSC_LANG_GUARD`,`tools/jsc-wrap.sh` 那列補收尾 sweep;`skills/hooks-install/SKILL.md` 六支改七支並補覆蓋範圍與備註,`description` 的括號清單加上這支;`AGENTS.md` 清單同步,並新增一條繁中無亂碼規則。 Why:文件寫六支、實際跑七支,使用者與 sub agent 都會照文件辦事,少接的那一支永遠沒有人發現。`AGENTS.md` 是各 CLI 讀得到的規則檔,新規則不寫進去就只剩 hook 在擋,模型自己不會知道。 How:README 維持 STE100 繁中;SKILL.md 維持整份英文,`description` 保持 4 句、保留觸發時機。規則正文一律不在本存取庫留副本,只指向 `jsc-meta` 的 `references/ste100.md`,字表位置指向 `hooks/simplified.txt`。 Who:`jsc-hooks` 的文件層,讀者是使用者與執行 `hooks-install` 的 sub agent。
2.4 KiB
2.4 KiB
jsc-hooks — 給 AI 助理的指引
本 repo 是 jsc 技能組的 hooks domain(跨 CLI hooks:STE100 語言強制、工時計時、技能用量記錄、SDLC 模型鎖、版本前置檢查、註解範圍檢查、繁中與編碼檢查),可同時被 Claude Code / Codex / Copilot / Antigravity / Kiro 使用。
規則
- 所有交談與輸出內容使用 STE100 繁體中文,帶擬人台灣感:短句、一句一指令、台灣用語、全形標點、去 AI 味、直接講重點。完整規則的唯一來源:
plugins/meta的references/ste100.md。 - 技能位於
skills/{name}/SKILL.md;處理任務前先比對需求與各技能的description,相符就載入並依其步驟執行。 - 技能準則的唯一來源:
plugins/meta存取庫的references/guidelines.md。 - 所有 hook 只放在
jsc-hooks;gitea 操作一律經由jsc-gitea的tools/gitea.sh;問使用者一律依jsc-ask:ask的決策樹規則。 - 註解範圍規則正文的唯一來源:
jsc-review的references/comment-scope.md。本存取庫只放hooks/comment-scope.sh的判定實作,不留規則清單副本,接線腳本要用規則文字時一律取腳本的實際輸出。comment-scope.sh有prompt、無參數逐檔掃描、sweep掃整個 git 工作區三種模式;掃描時機每個 CLI 都不同(claude 逐檔即時、codex 每輪結束、kiro 每輪提示送出時、copilot 與 antigravity 只有工作階段結束時),談覆蓋範圍時一律據實分開講,不得寫成五支一樣。 - 所有非程式碼輸出一律繁體中文、UTF-8、無亂碼、無簡體字:程式碼註解、commit 訊息、PR 描述、wiki 頁、對使用者的回報、README 與各種文件都算。規則正文的唯一來源同樣是
plugins/meta的references/ste100.md,本存取庫只放hooks/lang-guard.sh的判定實作與hooks/simplified.txt的機檢字表。那份字表是本存取庫的單一真實來源,刻意排除繁體也在用的字(后、台、干、只、里、面、制、志),增刪前先確認不會製造誤報。lang-guard.sh的三種模式與掃描時機跟comment-scope.sh一致,但它掃整個檔案而不只掃註解行,.md與純文字檔也照掃。 - 主 agent 不需要處理細節的流程,一律建立 sub agent 處理。
呼叫慣例
Claude Code / Antigravity:/jsc-hooks:{name};Codex:$name;Copilot / Kiro / OpenCode:描述需求自動觸發。