fix/pr-skill-tool-paths-resolve-to-plugin-root
develop
jsc-git:pr
tools/…
skills/pr/
skills/pr/tools/base-branch.sh
tools/
skills/pr/SKILL.md
base-branch.sh
slugify.sh
pick-type.sh
jsc-git/
description
.claude-plugin/plugin.json
.codex-plugin/plugin.json
plugin.json
同一份文件引用別的外掛時,本來就寫 jsc-gitea/tools/gitea.sh 與 jsc-hooks/tools/report-status.sh,兄弟技能也一律是 jsc-{domain}/tools/…。只有自家那三支掉了前綴,所以這不是要發明新寫法,是把漏掉的一致性補回去。
jsc-gitea/tools/gitea.sh
jsc-hooks/tools/report-status.sh
jsc-{domain}/tools/…
127 本身三十秒就繞得過去,真正的風險在下一步。技能第 4 步明寫「never hand-pick a base」,理由是階梯規則只有一份正本、不准各自解讀。而跑不動推導腳本的代理人,離「自己挑一個基底分支」只差一步。
那一步跨過去的話,PR 會照樣開出來,標題與描述都正常,只是接在錯的階梯上。沒有錯誤訊息,沒有失敗結束碼,要等有人回頭看分支圖才看得出來。
一個路徑打錯,變成一張開在錯基底的 PR——中間隔的是一個「腳本壞了我自己想辦法」的判斷。所以開頭那一段不只寫「路徑相對於誰解」,也寫明這個失敗會往哪裡跑。
tools/base-branch.sh
tools/pick-type.sh
tools/slugify.sh
SKILL.md
lint-scripts.sh
check-behaviors.sh
ste100-lint.sh
這一類缺失現在沒有任何機械檢核擋得住——技能本文裡的腳本路徑對不對,要等有人真的照著跑才知道。skill-check 的機械檢核那一組加一項「本文引用的腳本路徑實際存不存在」會擋掉整類,不只這一支。這一張沒有順便做,因為那要動 jsc-meta,值得單獨判一次。
skill-check
jsc-meta
base-branch.sh、pick-type.sh、slugify.sh 三支在外掛根目錄的 tools/ 底下, 但技能本文寫成不帶前綴的 tools/…,照字面解會落到 skills/pr/tools/,那個 路徑不存在、結束碼 127。同一份文件引用別的外掛時本來就寫 jsc-gitea/tools/ 與 jsc-hooks/tools/,只有自家的掉了前綴,十三處全部補齊。 這個坑比看起來嚴重。第 4 步明寫不准自己挑基底分支,而跑不動推導腳本的 代理人離「自己挑一個」只差一步——路徑打錯就變成 PR 開在錯的階梯上,而且 PR 會照樣開出來,不會有任何錯誤。開頭補一段講明每一條腳本路徑相對於誰解, 以及這個 127 為什麼不只是跑不動而已。 三份 manifest 版號 0.1.5 升到 0.1.6。 Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
No dependencies set.
The note is not visible to the blocked user.
摘要
jsc-git:pr技能本文把自家三支腳本寫成不帶前綴的tools/…。技能的基底目錄是skills/pr/,照字面解出來是skills/pr/tools/base-branch.sh——那個路徑不存在,結束碼 127。三支腳本實際在外掛根目錄的tools/底下。這張 PR 把十三處路徑補上外掛目錄名,並寫明每一條路徑相對於誰解。變更內容
skills/pr/SKILL.mdbase-branch.sh六處、slugify.sh五處、pick-type.sh兩處,共十三處補上jsc-git/前綴,含 frontmatter 的description那一處;開頭新增一段講明路徑相對於誰解,以及這個 127 為什麼不只是跑不動.claude-plugin/plugin.json、.codex-plugin/plugin.json、plugin.json為什麼是補前綴,不是改成別的寫法
同一份文件引用別的外掛時,本來就寫
jsc-gitea/tools/gitea.sh與jsc-hooks/tools/report-status.sh,兄弟技能也一律是jsc-{domain}/tools/…。只有自家那三支掉了前綴,所以這不是要發明新寫法,是把漏掉的一致性補回去。這個坑比看起來嚴重
127 本身三十秒就繞得過去,真正的風險在下一步。技能第 4 步明寫「never hand-pick a base」,理由是階梯規則只有一份正本、不准各自解讀。而跑不動推導腳本的代理人,離「自己挑一個基底分支」只差一步。
那一步跨過去的話,PR 會照樣開出來,標題與描述都正常,只是接在錯的階梯上。沒有錯誤訊息,沒有失敗結束碼,要等有人回頭看分支圖才看得出來。
一個路徑打錯,變成一張開在錯基底的 PR——中間隔的是一個「腳本壞了我自己想辦法」的判斷。所以開頭那一段不只寫「路徑相對於誰解」,也寫明這個失敗會往哪裡跑。
測試結果
tools/base-branch.sh、tools/pick-type.sh、tools/slugify.sh一處都不剩。tools/底下,skills/pr/底下只有SKILL.md一個檔案。lint-scripts.sh、check-behaviors.sh、ste100-lint.sh三支都回結束碼 0。description補了前綴之後 535 字元,沒有超標。順帶記一筆
這一類缺失現在沒有任何機械檢核擋得住——技能本文裡的腳本路徑對不對,要等有人真的照著跑才知道。
skill-check的機械檢核那一組加一項「本文引用的腳本路徑實際存不存在」會擋掉整類,不只這一支。這一張沒有順便做,因為那要動jsc-meta,值得單獨判一次。前置 Push Request