新增行為清單檢查腳本,改寫相依版本準則並更新 5 支技能 #47
1 Participants
Notifications
Due Date
No due date set.
Blocks
#48 收攏行為清單檢查腳本與準則改寫,功能主幹併回 develop
plugins/meta
Reference: plugins/meta#47
Reference in New Issue
Block a user
摘要
變更內容
tools/check-behaviors.shreferences/behaviors.md與skills/,查標題、節對技能、節序、表格、五個欄位與內容欄非空,退出碼 0 相符、1 不符、2 用法錯誤、3 找不到清單或技能。references/behaviors.mdreferences/guidelines.mdcheck-behaviors.sh退出 0 這一項。skills/skill-new/SKILL.mdreferences/behaviors.md的節,依字典序擺位,五列填滿;自查改用check-behaviors.sh,逐個退出碼分流。skills/skill-update/SKILL.mdcheck-behaviors.sh,不用眼睛比。skills/skill-delete/SKILL.mdcheck-behaviors.sh確認剩下的節對得上剩下的技能。skills/skillset-update/SKILL.mdcheck-behaviors.sh,退出 0 才算過。skills/skill-check/SKILL.mdcheck-behaviors.sh併進第一組稽核,逐 domain 平行跑;第二組要跳過的既決項目從三項變四項,合併與重驗的完成條件跟著改。README.mdreferences/behaviors.md與tools/check-behaviors.sh兩列;skill-check段落改寫成第一組跑三支腳本。plugin.json.claude-plugin/plugin.json.codex-plugin/plugin.json設計重點
description的行銷語;稽核與驗證拿它比對,技能異動就在同一個 PR 內更新那一節。一個 domain 一份,技能與清單才進得了同一條 PR,跨存取庫沒有原子性,拆兩邊只會自己造出漂移。check-behaviors.sh把六項判定交給程式:標題與無 BOM、節對技能不多不少、節序照字典序、每節恰好一張表、五個欄位依序齊全、每一列內容欄非空。退出碼分流是 0 相符、1 不符(逐項印在 stderr)、2 用法錯誤、3 找不到清單或技能。退出 3 是「什麼都沒查」,一律不算通過。plugin.json的name為準,讀不到才退回 checkout 目錄名。目錄名是誰 clone 誰決定的,同一個存取庫換一台機器就可能叫別的名字,拿它當唯一來源會在別人的工作區誤報一次標題不符。deploy.sh update照樣更新、只回報缺哪一版,阻擋改由version-guard.sh在技能被呼叫的當下執行。jsc-cli/tools/check-requires.sh。hook 專屬存放於jsc-hooks,而且jsc-cli已宣告相依jsc-hooks,反過來呼叫會做出循環相依。兩支的比法要保持一致,改動任一支就回頭核對另一支。deploy照樣被相依版本擋死。測試結果
sh tools/check-behaviors.sh /root/plugins/meta→ 退出碼 0,訊息「行為清單檢查通過:/root/plugins/meta/references/behaviors.md 對上 7 支技能,五個欄位齊全」sh tools/lint-scripts.sh /root/plugins/meta→ 退出碼 0,訊息「腳本檢查通過:12 支(語法、可執行、結束碼宣告),其中 0 支判定為函式庫」前置 Push Request
feat/skill-behaviors-and-version-block/behavior-list-check-and-guidelinesto 新增行為清單檢查腳本,改寫相依版本準則並更新 5 支技能