develop
master
tools/check-behaviors.sh
skills/
references/behaviors.md
references/guidelines.md
skills/skill-new
skill-update
skill-delete
skillset-update
skills/skill-check/SKILL.md
check-behaviors.sh
README.md
jsc-meta
plugin.json
name
version-guard.sh
check-requires.sh
lint-scripts.sh
ste100-lint.sh
list-skills.sh
skill-check
What:新增 references/behaviors.md,一支技能一節,共七支技能。每節五列,記下觸發時機、關鍵步驟、外部呼叫、完成條件、可驗證跡象。新增 tools/check-behaviors.sh,比對 skills/ 與這份清單。skill-new、skill-update、skill-delete、skillset-update 加上同步更新清單的步驟。skill-check 把這支腳本併進第一組稽核。 Why:技能驗證原本沒有基準,稽核只能靠眼睛比對 SKILL.md。十個 domain 每輪都要重做一遍,還會漏掉。行為清單當基準,技能改了、清單沒跟著改,就是漂移。漂移交給程式判定才穩。 How:腳本檢查節數、節名、節序、每節一張表、五個欄位齊全、內容欄非空。退出碼 0 代表相符,1 代表不符,2 代表用法錯誤,3 代表找不到清單或找不到 skills 目錄。domain 名以 plugin.json 的 name 為準,checkout 目錄名只是退路。四支異動技能在同一個 PR 內改清單,並照退出碼分流。 Who:屬於「技能行為清單」這件需求,提供技能驗證的參考基準。
What:「Manifest 相依版本」第 5 條改成部署端照樣更新,只在回報裡寫明缺哪一版。「版本前置檢查」補上相依版本檢查三列。新增「技能行為清單」一節,訂出位置、標題、節、表格、欄位與更新時機。審核檢查清單加上行為清單這一項。README 補上 behaviors.md 與 check-behaviors.sh 兩列,並把 skill-check 段落改成三組腳本。 Why:跳過更新會讓落後的 domain 永遠更新不到。它落後所以被跳過,被跳過所以永遠落後。相依版本不符要擋的是拿舊版去跑,不是把舊版換成新版。阻擋改到技能被呼叫的當下,才擋得住真正會出事的動作。行為清單要有一份格式合約,check-behaviors.sh 才有判定依據。 How:阻擋交給 jsc-hooks/hooks/version-guard.sh。版本比對由它自己實作,不呼叫 jsc-cli/tools/check-requires.sh。hook 專屬存放於 jsc-hooks,而且 jsc-cli 已宣告相依 jsc-hooks,反向呼叫會做出循環相依。兩道檢查共用同一份豁免清單。行為清單一個 domain 一份,放進該 domain 的 references/behaviors.md,技能改動與清單改動才進得了同一個 PR。 Who:涵蓋這次兩件需求的準則與說明文件,一件是相依版本不符改為阻擋執行,一件是技能行為清單。
What:plugin.json、.claude-plugin/plugin.json、.codex-plugin/plugin.json 的 version 從 0.2.3 提升到 0.2.4。 Why:這次新增了行為清單與檢查腳本,也改了五支技能的內文。版本不提升,version-guard.sh 就比不出遠端已經有新版,部署端也拿不到更新提示。 How:三份 manifest 只改 version 一個欄位,三份的值保持一致,其餘欄位原樣保留。 Who:收尾這次技能行為清單與相依版本阻擋兩件需求,對應審核檢查清單的 manifest 同步項。
No dependencies set.
The note is not visible to the blocked user.
摘要
變更內容
tools/check-behaviors.shskills/與references/behaviors.md,把清單一致性檢查放到程式層references/behaviors.mdreferences/guidelines.mdskills/skill-new、skill-update、skill-delete、skillset-update的 SKILL.mdskills/skill-check/SKILL.mdcheck-behaviors.sh併進第一組稽核README.md設計重點
jsc-meta:技能改動與清單在同一個 PR 才不會漂移,也不用跨 repo 開兩條 PR 互卡。plugin.json的name為準,checkout 目錄名只是退路。目錄名是誰 clone 誰決定的,拿它當唯一來源會在別人的工作區誤報。version-guard.sh自己實作,不再寫成「只認check-requires.sh」——原文指向一個不存在的呼叫。測試結果
check-behaviors.sh的 0、1、2、3 逐一實測,與檔頭宣告相符;對 10 個 domain 全部退出 0,34 節對上 34 支技能。plugin.json。lint-scripts.sh退出 0(12 支);ste100-lint.sh退出 0。list-skills.sh印出 34 支技能,skill-check的 description 已含check-behaviors.sh。前置 Push Request