admin
|
6de2aa9321
|
Merge pull request '收尾寫一筆 skill-end 事件,執行狀態才回報得到助理' (#66) from feat/status-report into develop
Reviewed-on: #66
|
2026-09-02 08:04:08 +00:00 |
|
jiantw83
|
2fa8d86045
|
chore(plugin 版本): 三份 manifest 升版至 0.3.0
|
2026-09-02 16:01:16 +08:00 |
|
jiantw83
|
b87dbb12cd
|
feat(狀態回報): 收尾寫一筆 skill-end 事件
現行紀錄只記「被叫用」,沒有成敗也沒有結束碼。跑完整輪的技能與開場就
中止的技能,在紀錄裡長得一模一樣。
start 由技能用量 hook 順手發,不必改技能文件。end 只能由技能自己在收尾
步驟寫——hook 接在技能工具呼叫上,而實際工作發生在之後的模型輪次,它在
原理上看不到成敗。有 start 沒有配對的 end,就是那一輪中止了。
status 五選一,每支技能各自寫明什麼情況選哪一個。找不到回報腳本就安靜
跳過,回報失敗一律不改變技能自己的結論。
|
2026-09-02 16:01:16 +08:00 |
|
admin
|
03188837d3
|
Merge pull request '連結一律寫成 [文字](絕對網址),並在寫入前驗證連得到' (#65) from feat/link-verification/main into develop
Reviewed-on: #65
|
2026-09-02 06:46:18 +00:00 |
|
jiantw83
|
c987d237e4
|
chore(plugin 版本): 三份 manifest 升版至 0.2.9
|
2026-09-02 14:27:18 +08:00 |
|
jiantw83
|
651ddb3a6f
|
feat(link): 連結一律寫成 [文字](絕對網址),寫入前先驗證連得到
取消 [[頁名]] 與 [[顯示文字|頁名]] 兩種同 wiki 寫法,不再分「同存取庫」與
「跨存取庫」兩條規則。那種寫法只在自己那個 wiki 內解析,寫錯不報錯,畫面上
看起來像普通文字或死連結,巡不到也修不了。
連結寫進頁面前先過 jsc-gitea 的 link-check.sh,結束碼 0 才寫。驗證一律走 API,
不看網頁狀態碼:私有存取庫的網頁網址對未登入請求一律回 404,拿狀態碼判會把
好連結判成壞的。認證失敗回 7,與死連結的 1 分開,免得金鑰一過期就把還在的頁
整批判死。
|
2026-09-02 14:27:18 +08:00 |
|
admin
|
3c9137a81d
|
Merge pull request 'feat(wiki): 目錄頁專用存取庫入準則,skill-check 加入優化建議流程' (#63) from feat/wiki-contents-repo/main into develop
Reviewed-on: #63
|
2026-09-02 03:28:05 +00:00 |
|
jiantw83
|
f13724cb79
|
feat(wiki): 目錄頁專用存取庫入準則,skill-check 加入優化建議流程
What:準則的環境變數表與命名總表加入 JSC_WIKI_REPO_CONTENTS 與目錄頁專用存取庫
一節,HASH 規則改為完整 40 碼。skill-check 的 Group 3 先讀上一輪決議,建議表加上
決議與決議日期兩欄,新增步驟 8 把稽核結果寫進 SKILLSET 頁。新增 check-page-name.sh
與兩份 SKILLSET 範本。
Why:優化建議原本每輪產出後就散掉,決議為延後的項目下一輪會重新掃、重新問一次,
正是 skill-check 自己第三個面向點名的毛病。SKILLSET_CONTENTS 是 14 個目錄頁裡
唯一沒有範本的,四支技能都被要求寫它,卻沒有欄位定義可套。
How:Group 1 補進三支現成但沒人呼叫的檢查腳本——ste100-lint.sh、check-wiki-rules.sh
與新增的 check-page-name.sh。讀不到上一輪決議時只停掉 Group 3,不再中止整輪:那兩組
完全不碰 wiki,金鑰失效就會鎖死整組技能唯一的稽核路徑。另外四支 meta 技能原本把目錄頁
寫進 SKILLSET 存取庫,一併改走 CONTENTS。
|
2026-09-02 11:02:48 +08:00 |
|
admin
|
e8539ecfb2
|
Merge pull request '釋出 jsc-meta 0.2.7:助理運行閘門的準則' (#61) from docs/assistant-gate/main into develop
Reviewed-on: #61
Reviewed-by: 系統管理員 <1+admin@noreply.localhost>
|
2026-09-01 07:51:35 +00:00 |
|
admin
|
bb26c73504
|
Merge pull request 'docs/assistant-gate/guideline-section' (#60) from docs/assistant-gate/guideline-section into docs/assistant-gate/main
Reviewed-on: #60
|
2026-09-01 07:41:28 +00:00 |
|
jiantw83
|
7b6b9076ea
|
docs(guidelines): 補上助理運行閘門與 fail-closed 閘門的專屬規則
What:
- 新增「助理運行閘門」一節:規格表、心跳判定的六碼處置、豁免清單十一支。
- 節內另立「fail-closed 閘門的專屬規則」四條,那是準則現在完全沒有的東西。
- 環境變數表補上閘門開關與心跳門檻兩列。
- 三份 manifest 的版本一起提升。
Why:
- 整組 hook 的通則是資料不足就放行,這一道相反。例外不點名,後來的人會以為可以隨便再開一道 fail-closed 的閘門,而那種閘門開錯就是整組技能鎖死。
- 豁免清單與腳本檔頭是同一件事實。準則沒有那張表,兩邊就會各走各的,改一支忘了另一支。
How:
- 四條專屬規則裡有兩條是這一輪實作時才想清楚的。逃生門的判斷要擺在載入共用函式庫之前——函式庫讀不到時 sh 會就地結束並回擋人的那個碼,逃生門也跟著跑不到,人就繞不過去;這一條只對 fail-closed 成立。豁免清單只收解鎖路徑,方向與重啟閘門相反,那一道解鎖靠閘門外的動作,這一道解鎖靠跑一支技能。
- 「清單認技能名不認呼叫鏈」那一條補了一個更狠的實例:巡檢要先把結果寫上監控頁才寫心跳,只豁免助理自己會做出自咬環。所以新增豁免技能時不只要想它會呼叫誰,還要想那條呼叫鏈上有沒有一步是解鎖條件本身的前置。
- 心跳判定回「檔案系統問不出來」時放行不擋,理由與代價都寫進去了。那一碼與「時間戳壞掉」的差別在有沒有出路。
Who:
助理閘門實作完之後,把當中的判斷收進準則,讓下一道同類閘門有依據。
|
2026-09-01 15:27:06 +08:00 |
|
admin
|
3beca714fc
|
Merge pull request '放行 jsc-assist 的 marketplace 條目到預設分支' (#58) from chore/marketplace-assist-registry/main into develop
Reviewed-on: #58
|
2026-09-01 04:55:27 +00:00 |
|
admin
|
a4df38d974
|
Merge pull request 'chore/marketplace-assist-registry/sync-copies' (#57) from chore/marketplace-assist-registry/sync-copies into chore/marketplace-assist-registry/main
Reviewed-on: #57
|
2026-09-01 04:53:43 +00:00 |
|
jiantw83
|
06f530d589
|
chore(marketplace): 把 jsc-assist 登錄進統一 marketplace
What:
- 兩份 marketplace 檔各加一個 jsc-assist 條目,來源網址指向 assist 存放庫。
Why:
- 準則要求每個 domain 存放庫都帶同一份 marketplace 檔,任何一個存放庫都能當註冊入口。副本之間只要有一份沒跟上,稽核就會報出不一致。
- 正本少了這個條目,各 CLI 的安裝指令就找不到 jsc-assist,這個 domain 等於發佈不出去。
How:
- 條目由 meta 的 sync-marketplace.sh 產生,同時寫進正本與每個 domain 存放庫的副本,寫完逐檔比對位元組。這一支存放庫的兩份副本就是那一輪的產物。
- 條目依名稱排序,縮排與非 ASCII 描述的處理都交給同一支腳本,不手改 JSON。
- 這一批是從最新的預設分支重新產生的。前一輪的分支基底早於監控頁型別那批改動,直接合併會把那些改動回退掉,所以整批重做而不是解衝突。
Who:
助理 domain 落地的註冊步驟在這個存放庫的同步。
|
2026-09-01 12:50:04 +08:00 |
|
admin
|
e3054961ec
|
Merge pull request '釋出 jsc-meta 0.2.6:命名總表新增 MONITOR' (#55) from feat/monitor-wiki-page-type/main into develop
Reviewed-on: #55
|
2026-09-01 04:42:55 +00:00 |
|
admin
|
9c7e192f33
|
Merge pull request 'feat/monitor-wiki-page-type/naming-table' (#54) from feat/monitor-wiki-page-type/naming-table into feat/monitor-wiki-page-type/main
Reviewed-on: #54
|
2026-09-01 04:28:06 +00:00 |
|
jiantw83
|
970b7a4f71
|
docs(guidelines): 命名總表加入 MONITOR 頁型別
What:
- Wiki 頁命名總表新增 MONITOR 一列,擁有者是技能助理。
- 表下補三段說明:雜湊來源、為什麼不帶工具名稱、寫入語意。
- CHECK 那一段拿掉「是唯一例外」的斷言,改成指向新的機器層規則。
- 三份 manifest 的版本一起提升。
Why:
- 總表是所有 wiki 頁命名的唯一來源。新型別沒登錄進來,各技能就沒有依據,只能各自猜。
- CHECK 原本寫著「是唯一例外」,指的是雜湊來源取主機名與帳號而不是存放庫。加了第二個同樣取法的型別之後,這句話就不成立了,留著會讓讀的人以為只有一個。
How:
- MONITOR 的雜湊來源比照 CHECK,取主機名與登入帳號。助理巡檢的是一台機器,不是一個存放庫。
- 刻意不帶工具名稱,這一點與 TOOLING 相反。TOOLING 一支 CLI 一頁,因為每支 CLI 各有自己的已安裝 plugin 與 hook 接線;助理看的是整台機器一份心跳、一本待辦簿,不分 CLI。
- 監控頁一律附加,不覆寫。助理的寫入是背景行為,覆寫錯了沒人在現場。TOOLING 內容頁是每次盤點覆寫整頁,兩者語意相反,所以各自寫明白。
- 只動總表那一節,其餘章節不碰。
Who:
技能助理落地帶出來的頁型別需求,四個存放庫同一批改。
|
2026-09-01 12:10:55 +08:00 |
|
jiantw83
|
06fe739070
|
Merge pull request '收攏 frontmatter 檢查與五支 CLI 的 hook 接線準則改寫' (#51) from feat/cli-hook-rewire/main into develop
|
2026-09-01 00:58:42 +00:00 |
|
jiantw83
|
c4fdd8b2d8
|
Merge pull request '新增 frontmatter 解析檢查,改寫五支 CLI 的 hook 接線準則' (#50) from feat/cli-hook-rewire/frontmatter-lint-and-guidelines into feat/cli-hook-rewire/main
|
2026-09-01 00:56:11 +00:00 |
|
jiantw83
|
7894fa073e
|
chore(manifest): 三份 manifest 版本號提升到 0.2.5
What:
- plugin.json、.claude-plugin/plugin.json、.codex-plugin/plugin.json 的 version 由 0.2.4 提升到 0.2.5。
Why:
- 準則要求改動連帶提升三份 manifest 的 version,README 的「Skills 目錄」與 manifest 同步。
- 版本前置檢查靠 manifest 版本判定本機載入版本有沒有落後遠端發佈版本。版本號不動,這批新增的 frontmatter 檢查與改寫過的 hook 準則就發不出去,各機器也擋不到舊版。
How:
- 由主流程的 sync-skill-manifest.sh 同步三份,只動 version 欄,其餘欄位不變。
- 三份的 name 與 description 逐位元一致,避免各 CLI 讀到不同內容。
Who:
屬 CLI hook 接線修正(jsc-hooks 0.3.4)在 meta 這一側的發版收尾。
|
2026-08-31 19:13:03 +08:00 |
|
jiantw83
|
4a741071e5
|
docs(frontmatter-lint): 同步 README 與行為清單的 frontmatter 檢查
What:
- README 的 skill-check 段落,第一組稽核補上 lint-frontmatter.sh。
- README 的工具表新增 tools/lint-frontmatter.sh 一列,寫明五項檢查、不相依 YAML 套件、四種結束碼、退出 3 不等於通過。
- references/behaviors.md 的 skill-check 表改寫四列:關鍵步驟、外部呼叫、完成條件、可驗證跡象。
Why:
- 準則要求該 domain 的 behaviors.md 與 skills/ 相符,check-behaviors.sh 才會退出 0;README 的「Skills 目錄」也要跟著改動同步。
- 文件沒跟上,稽核就查不到這支新腳本,也不知道退出 3 是什麼都沒掃。這支腳本擋的正是靜默失效,文件本身先靜默漏掉它,等於白做。
How:
- 照 skills/skill-check/SKILL.md 的新流程改寫,關鍵步驟寫明第一組平行跑腳本檢查、frontmatter 檢查、行為清單檢查與 hook smoke。
- 外部呼叫清單依實際呼叫順序插入 tools/lint-frontmatter.sh。
- 完成條件補上「frontmatter 檢查退出 3 是什麼都沒掃,不算通過」,可驗證跡象補上「每個 domain 的 lint-frontmatter.sh 退出 0」。
- 第二組留白項目由四項改五項,同步寫進關鍵步驟的合併說明。
Who:
屬 CLI hook 接線修正(jsc-hooks 0.3.4)在 meta 這一側的文件同步。
|
2026-08-31 19:13:03 +08:00 |
|
jiantw83
|
beede79d3a
|
docs(guidelines): 改寫 hook 準則裡五支 CLI 的接線事實
What:
- 改寫「Hook 規則」第 3 條,寫明五支 CLI 的 hook 負載形態各不相同,沒有哪一支是基準格式。
- 新增「技能名解析與阻擋輸出的共用腳本」節,列出 skill-name.sh 與 deny.sh 的用法、各 CLI 的技能名取值來源、抽成共用腳本的理由。
- 改寫「版本前置檢查」,補上五支 CLI 的接線位置表、逐支陷阱表、未實測部分的標明規則。
- 改寫「部署後重啟閘門」,指名 restart-gate.sh,並寫明接線位置與版本前置檢查完全相同。
- 審核檢查清單新增一項:該 domain 的 lint-frontmatter.sh 要退出 0,退出 3 不算通過。
Why:
- 這一節以前寫著「只有 claude 接得上,其餘四支沒有 pre-tool hook」。那是錯的。四支全都有能阻擋的 pre-tool 事件,是我們接錯位置。
- 四個無聲失效逐一坐實了這件事:codex 的 matcher 用 Skill,但 Codex 沒有 Skill 工具,技能是模型用 Bash 讀 SKILL.md;codex 的 hooks 鍵寫成內嵌物件,實際規格是路徑字串;antigravity 的 PreToolUse 寫成 Flat,實際要 matcher 加 hooks 包一層的 Grouped;三支新接的命令沒帶 JSC_CLI={代號},閘門認不出自己跑在哪支 CLI 上,一次都擋不下來。
- 錯誤的結論被寫進準則之後就沒有人再去查。版本前置檢查與部署後重啟閘門因此在四支 CLI 上長期失效,而且失效是安靜的:hook 沒被觸發不會報錯,看起來就跟「沒有東西該擋」一樣。
How:
- 接線位置表每一列都經過執行檔抽出或本機實測,事件名、matcher、寫入檔案、阻擋方式逐欄寫死。
- verdict 據實分級:claude、codex、copilot、antigravity 寫 wired;kiro 的技能叫用走 ResolveSkill 內部請求、不走工具管線,攔不到,寫 degraded,不寫 failed。
- antigravity 與 kiro 的觸發沒有實跑驗證,另段標明,回報時不得混進已驗證的結論。
- 兩道閘門共用同一套接線,就共用同一份事實表。重啟閘門那節只指回接線位置表,不另寫一份能力描述,避免改一份、漏一份。
Who:
屬 CLI hook 接線修正(jsc-hooks 0.3.4)在 meta 這一側的規範文件。
|
2026-08-31 19:13:03 +08:00 |
|
jiantw83
|
d879e634c0
|
feat(frontmatter-lint): 新增 SKILL.md frontmatter 解析檢查並併入例行稽核
What:
- 新增 tools/lint-frontmatter.sh,掃一個 domain 每支 skills/*/SKILL.md 的 frontmatter,檢查分隔線成對、必要鍵齊全、未加引號的純量不含「冒號加空白」、起頭字元不是 YAML 特殊字元、加了引號的值收得起來,共五項。
- 改寫 skills/skill-check/SKILL.md 的第一組稽核,把這支腳本併進去成為第 2 步,原本的行為清單檢查、結束碼路由檢查、hook smoke 依序後移。
- 第二組留白的檢查清單項目由四項改成五項,第 3 步的合併說明、三組的完成條件、第 6 步的重驗完成條件同步改寫。
Why:
- 抓到 6 支技能的 description 是未加引號的 YAML 純量、內容含「冒號加空白」。那在 YAML 是鍵的分隔符號,整份 frontmatter 當場語法錯誤。
- Antigravity 讀到語法錯誤就靜默丟棄整支技能。磁碟上 34 支,它只認 28 支。載入器不報、CLI 不報,技能清單只是少了幾列。
- 這種缺陷唯一的發現途徑是逐檔比對磁碟數量與載入數量。人工比對 10 個 domain 每次稽核都要重做一遍,還會漏。輸入輸出固定的判定就交給程式。
How:
- 腳本用 awk 自己判定 YAML 1.2 的 plain scalar 規則,不相依 pyyaml。護欄不綁在一個不保證存在的相依上,才跑得到每一台機器。
- 單引號的跳脫是重複一次、雙引號的跳脫是反斜線,兩套規則不同,所以引號改用逐字掃描,不用正規表示式一次比對兩種。
- 結束碼分四種:0 是掃到 SKILL.md 且五項全過、1 是有不合格項目(清單走 stderr,格式 {檔案}:{鍵}:{說明})、2 是用法錯誤、3 是什麼都沒掃。
- SKILL.md 明寫退出 3 不算通過,並把「每個 domain 的 lint-frontmatter.sh 退出 0」列進第 6 步的完成條件。
Who:
屬 CLI hook 接線修正(jsc-hooks 0.3.4)在 meta 這一側的稽核工具。
|
2026-08-31 19:13:03 +08:00 |
|
jiantw83
|
1cfd727436
|
Merge pull request '收攏行為清單檢查腳本與準則改寫,功能主幹併回 develop' (#48) from feat/skill-behaviors-and-version-block/main into develop
|
2026-08-31 08:10:37 +00:00 |
|
jiantw83
|
9ed26de7ba
|
Merge pull request '新增行為清單檢查腳本,改寫相依版本準則並更新 5 支技能' (#47) from feat/skill-behaviors-and-version-block/behavior-list-check-and-guidelines into feat/skill-behaviors-and-version-block/main
|
2026-08-31 08:09:24 +00:00 |
|
jiantw83
|
f5f2cb05bd
|
chore(manifest): 同步三份 manifest 的版本到 0.2.4
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 同步項。
|
2026-08-31 13:37:33 +08:00 |
|
jiantw83
|
651dc19be9
|
docs(guidelines): 改寫相依版本準則並補上技能行為清單合約
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:涵蓋這次兩件需求的準則與說明文件,一件是相依版本不符改為阻擋執行,一件是技能行為清單。
|
2026-08-31 13:37:22 +08:00 |
|
jiantw83
|
2e237b7674
|
feat(behaviors): 新增技能行為清單與檢查腳本
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:屬於「技能行為清單」這件需求,提供技能驗證的參考基準。
|
2026-08-31 13:37:04 +08:00 |
|
admin
|
29e9800da8
|
Merge pull request 'fix(skillset): 技能組稽核修正與技能盤點頁型' (#45) from fix/skill-check-compliance-and-flow into develop
Reviewed-on: #45
|
2026-08-31 03:54:01 +00:00 |
|
jiantw83
|
66b865456c
|
chore(manifest): 同步三份 manifest 的版本與相依範圍
這次異動用到 hook 的重啟閘門豁免清單,也用到 hook 那份簡體字表。
相依範圍沒跟著調,裝到舊版 hook 的機器會在部署之後被自己的閘門鎖住,
而且語言檢查與 hook 會各自認一份字表,判定不一致。
三份 manifest 一起把版本往上帶一號,補上 hook domain 的相依下限,
並拉高 gitea domain 的相依下限,讓版本前置檢查擋得住不相容的組合。
|
2026-08-31 11:11:13 +08:00 |
|
jiantw83
|
6d28e207c7
|
docs(guidelines): 修正版本閘門、重啟閘門與維護頁的準則記載
版本前置檢查的豁免表只列了四項,重啟閘門的豁免表少了 hook 修復技能。
照著這兩張表設定,hook 壞掉時唯一的修復路徑會被自己擋住,修不好也繞不過。
兩張表逐項對齊三方實作與腳本現況,補成七項與十項,
並寫明各自的唯一真實來源是哪一支 hook 腳本,兩邊以後要一起改。
Wiki 頁命名總表原本替維護類型列了內容頁。
技能與樣板都沒有產生那一頁的步驟,照著總表找,只會找到一個不存在的頁。
改成只列目錄頁,並寫清楚維護登記全寫在目錄頁的表格裡;
要補內容頁就先補技能步驟與樣板,不能只在總表上寫著。
另外登記技能盤點頁的類型、環境變數與雜湊來源,說明為什麼雜湊要帶工具名稱,
補上唯讀稽核要帶唯讀旗標、行數一律讀腳本自己印的那一行兩項檢查,
並把新增的共用說明、兩份樣板與三支工具寫進 README 的檔案一覽。
|
2026-08-31 11:11:12 +08:00 |
|
jiantw83
|
5aa4a3da57
|
feat(skills): 新增技能盤點頁與共用部署驗證流程,並把技能驗證移到新行程
技能盤點以前只回到對話裡,換一台機器就得重跑才知道裝了什麼。
現在新增技能盤點這個 wiki 頁類型,雜湊取「主機、工具名稱、登入帳號」三段。
每支 CLI 各有自己的 plugin 集合,也各有自己的 hook 接線,那是互相獨立的事實。
少了工具名稱那一段,同一台機器上五支 CLI 會算出同一個雜湊,五份盤點互相覆蓋,
讀的人還看不出被蓋掉。技能盤點新增寫入這兩頁的步驟,整步規定必須開 sub agent。
兩份樣板刻意分開:內容頁每次盤點覆寫整頁,目錄頁只更新自己那一列,
兩者的寫入語意剛好相反,合成一份遲早有人把別台機器的紀錄刪掉。
四支異動技能原本在部署完的同一個工作階段,就叫用剛做好的技能。
部署收尾自己立起重啟閘門,那支技能必被擋下,驗證做不完。
解法不是把它加進豁免清單。豁免擋得住閘門,擋不住「行程還載著舊版」這件事,
硬過關驗到的是舊版行為,等於假通過。所以把判路線、部署、驗證、失敗分流
抽成一份共用說明,驗證一律另開 CLI 行程執行,四支技能只留一行指標指過去。
新增腳本檢查工具,一次做完語法、執行權限與結束碼宣告三項檢查,
只被 source 的函式庫豁免後兩項,而且逐支記在錯誤輸出,不靜默略過。
新增部署路線判定工具,判定改動有沒有進存取庫的預設分支,
取代四支技能各抄一段、各自漂移的散文;判不出來就回報停下,不自己挑路線走。
同時把四支技能裡的中文段落抽到共用說明、指標改回英文,
修正六處相對路徑,把技能盤點的模糊描述改成查得出來的條件,
並讓 manifest 同步的每一個呼叫端逐碼分流。
七支技能改為併行執行:例行稽核從九步併成七步,技能盤點併成六步。
技能盤點不再重跑盤點腳本內部已經跑過的三支腳本,
而那三支原本兼作獨立交叉檢查,拿掉就少一層保護,
所以把少掉的是什麼、風險由誰擋住,明白寫進 Notes,不當作沒發生。
|
2026-08-31 11:11:12 +08:00 |
|
jiantw83
|
7dc5c32de3
|
fix(tools): 改用共用推導取得技能組根目錄,並補齊結束碼宣告
以 plugin 形式安裝時,腳本會落在 CLI 的 plugin 快取目錄。
六支腳本原本一律取「腳本位置的上兩層」當技能組根目錄,這時一定推錯。
這一輪例行稽核的第一步就實際踩到:不先手動設環境變數,腳本根本跑不動,
而叫用它們的技能說明也沒提要設,等於留了一個必炸的預設值。
把推導規則抽成共用腳本,依序試環境變數、從目前目錄往上找、
腳本位置的上兩層、家目錄底下的 plugins,並以 gitea.sh 在不在當判準。
marketplace 每個 domain 存取庫都帶一份,單看它會把 domain 誤判成根。
推不出來就結束並指名要設環境變數,同時列出試過的每一個候選,
呼叫端一眼看得出要設什麼。只 clone 單一存取庫的環境留了逃生門:
環境變數有設且是目錄就照用,並在錯誤輸出提醒。
順手補上語言檢查與 manifest 同步兩支腳本的結束碼宣告與環境變數說明。
沒有宣告,呼叫端只能猜;猜錯就把失敗當成功。
|
2026-08-31 11:11:12 +08:00 |
|
admin
|
9dabe98f2b
|
Merge pull request 'docs/skill-check/main' (#43) from docs/skill-check/main into develop
Reviewed-on: #43
Reviewed-by: 系統管理員 <1+admin@noreply.localhost>
|
2026-08-28 09:46:25 +00:00 |
|
admin
|
7dd230d9b4
|
Merge pull request 'docs/skill-check/cost-efficiency-audit' (#42) from docs/skill-check/cost-efficiency-audit into docs/skill-check/main
Reviewed-on: #42
|
2026-08-28 09:44:44 +00:00 |
|
jiantw83
|
0669b64c5f
|
chore(manifest): 同步更新 jsc-meta 外掛 manifest 版本。
|
2026-08-28 17:41:38 +08:00 |
|
jiantw83
|
7127999eb3
|
docs(skill-check): 補上成本效率稽核範圍與驗證條件。
|
2026-08-28 17:41:38 +08:00 |
|
admin
|
d159847c94
|
Merge pull request 'fix/skill-check-script-hook-validation' (#40) from fix/skill-check-script-hook-validation into develop
Reviewed-on: #40
|
2026-08-28 09:00:51 +00:00 |
|
jiantw83
|
0cf2392ae7
|
fix(skill-check): 納入腳本與 hook 驗證
|
2026-08-28 16:55:48 +08:00 |
|
admin
|
74aff34872
|
Merge pull request 'feat(skill-validation): 要求 CLI Prompt 實測與修復 PR' (#39) from feat/skill-validation/cli-prompt-repair into develop
Reviewed-on: #39
|
2026-08-28 08:07:15 +00:00 |
|
jiantw83
|
b48665f946
|
feat(skill-validation): 要求 CLI Prompt 實測與修復 PR
|
2026-08-28 16:02:29 +08:00 |
|
admin
|
2f6c9b05c3
|
Merge pull request 'feat(meta): 發佈工具盤點指南到 develop' (#37) from feat/skill-set-tooling-guide/main into develop
Reviewed-on: #37
|
2026-08-28 07:40:17 +00:00 |
|
admin
|
137491fcb6
|
Merge pull request 'feat(meta): 新增工具盤點指南技能' (#36) from feat/skill-set-tooling-guide/add-tooling-guide into feat/skill-set-tooling-guide/main
Reviewed-on: #36
|
2026-08-28 07:38:50 +00:00 |
|
jiantw83
|
ec35ad9a52
|
chore(tooling-guide): 更新 manifest 版本至 0.1.8
|
2026-08-28 15:33:16 +08:00 |
|
jiantw83
|
c593803ed5
|
docs(tooling-guide): 更新 README 技能與工具目錄
|
2026-08-28 15:33:13 +08:00 |
|
jiantw83
|
a88bfe3d21
|
feat(tooling-guide): 新增技能組工具盤點指引
|
2026-08-28 15:33:09 +08:00 |
|
admin
|
d183f4fba5
|
Merge pull request 'feat/plugin-dependencies/main' (#34) from feat/plugin-dependencies/main into develop
Reviewed-on: #34
|
2026-08-28 04:05:08 +00:00 |
|
admin
|
4ac03f9ae1
|
Merge pull request 'feat/plugin-dependencies/declare-requires' (#33) from feat/plugin-dependencies/declare-requires into feat/plugin-dependencies/main
Reviewed-on: #33
|
2026-08-28 04:03:10 +00:00 |
|
jiantw83
|
771d71c28e
|
docs(guidelines): 定義 jsc requires 相依宣告規則
|
2026-08-28 11:59:16 +08:00 |
|
jiantw83
|
32c619bfb3
|
feat(manifest): 宣告 meta 技能相依版本
|
2026-08-28 11:59:16 +08:00 |
|