feat/assistant-domain-bootstrap/init-and-status-skill
feat/assistant-domain-bootstrap/main
plugins/assist
plugins/template
jsc-assist
status
plugin.json
jsc-template
jsc.requires
.claude-plugin/plugin.json
.codex-plugin/plugin.json
.claude-plugin/marketplace.json
sync-marketplace.sh
.agents/plugins/marketplace.json
README.md
AGENTS.md
skills/hello/SKILL.md
skills/status/SKILL.md
references/behaviors.md
templates/monitor-contents.md
MONITOR_CONTENTS
templates/monitor-page.md
MONITOR_{HASH}
tools/
tooling
check-behaviors.sh /root/plugins/assist
skills/
lint-frontmatter.sh /root/plugins/assist
ste100-lint.sh /root/plugins/assist
lint-scripts.sh /root/plugins/assist
hooks/
sync-skill-manifest.sh /root/plugins/assist
comment-scope.sh sweep
list-skills.sh
assist status
deploy-route.sh
What: - 三份 manifest 的 name 由 jsc-template 改成 jsc-assist,version 設為 0.0.1,description 改寫成助理的定位,並加上 jsc.requires 宣告對 jsc-cli、jsc-gitea、jsc-hooks、jsc-log 的最低版本。 - README.md 與 AGENTS.md 依 meta domain 的格式重寫,AGENTS.md 多一節「助理的界線」。 - 刪掉樣板的 hello 技能,新增 status 技能與 references/behaviors.md 行為清單。 Why: - 這個存取庫原本整份是 template 的樣板,四份 manifest 都還叫 jsc-template。名字沒改,marketplace 認不出它是獨立的 domain,各 CLI 也裝不上。 - 助理的閘門、心跳與巡檢要有落點,前提是存取庫先認得出自己。 - 樣板的 hello 技能只是安裝驗證用,留著會讓助理的技能清單從第一天就帶著一支沒有用途的技能。換成唯讀的 status,行為檢查與 frontmatter 檢查也才有掃描對象。 How: - status 全程唯讀:讀心跳檔判斷助理在不在跑,判準只看時間戳距現在是否不到 300 秒,不看 pid 存活——五支 CLI 與容器裡的行程互相看不到彼此的 pid。 - 心跳檔不存在時印「助理未運行」,這是正常結果,不以非 0 結束。 - 這支不新增 tools/ 腳本。讀兩個路徑印一張表還不到抽腳本的門檻,助理主體落地時再一併評估。 - 三份 manifest 的 version 由 sync-skill-manifest.sh 同步,README 的技能目錄區塊一起更新。 Who: 助理 domain 落地的第一步,後續的閘門、心跳與排程都接在這個基礎上。
What: - 兩份 marketplace 檔各加一個 jsc-assist 條目,來源網址指向 assist 存取庫。 Why: - 準則要求每個 domain 存取庫都帶同一份 marketplace 檔,任何一個存取庫都能當註冊入口。少了這個條目,各 CLI 的安裝指令找不到 jsc-assist,sync-domains 也不會把它同步下來。 How: - 條目由 meta 的 sync-marketplace.sh 產生,同時寫進正本與每個 domain 存取庫的副本,寫完逐檔比對位元組。這一支存取庫的兩份副本就是那一輪的產物。 - 條目依名稱排序,縮排與非 ASCII 描述的處理都交給同一支腳本,不手改 JSON。 Who: 助理 domain 落地的註冊步驟,其餘 domain 存取庫的同一份副本另外送出。
What: - 新增 templates/monitor-contents.md 與 templates/monitor-page.md。 - README 的「參考與工具」表補上這兩份範本,說明欄寫出兩者相反的寫入語意。 - 三份 manifest 的版本一起提升。 Why: - 監控頁是助理巡檢結果的落點。沒有範本,每次巡檢寫出來的格式都不一樣,累積久了看不出趨勢,也對不起來。 - 兩份範本的寫入語意剛好相反,必須各自寫明白。目錄頁是共用的,一列代表一台機器,整頁覆蓋會刪掉別台機器的紀錄;內容頁只屬於一台機器,記的是歷次巡檢的軌跡,所以附加不覆寫。 How: - 目錄頁範本帶欄位說明與寫入規則:比對主機與帳號兩欄,只更新自己那一列,讀不到舊內容就中止,不硬寫。 - 內容頁範本一次巡檢附加一節,節標題帶時間戳,涵蓋心跳與閘門、使用統計、hook 錯誤、版本落差、階段鎖與工作包鎖、待辦簿到期與逾期六類結果。 - 連續失敗的項目一定要標「已連續失敗 N 次」。待辦簿的項目失敗不會自動暫停,會每輪重試,不標出來就是一個壞掉的項目一直重試而沒人知道。 - 內容以圖表優先,流程用 mermaid、結果用表格,純文字每節最多三句。 Who: 技能助理落地帶出來的頁型別需求,四個存放庫同一批改。
No dependencies set.
The note is not visible to the blocked user.
摘要
plugins/assist從plugins/template的樣板改成獨立的jsc-assistdomain,登錄進統一 marketplace,附上第一支唯讀技能status,並加上監控頁的兩份範本。這是技能助理的地基:存取庫要先認得出自己,後續的閘門、心跳與排程才有落點。變更內容
plugin.jsonjsc-template改成jsc-assist,描述改寫成助理的定位,並加上jsc.requires.claude-plugin/plugin.json.codex-plugin/plugin.json.claude-plugin/marketplace.jsonjsc-assist條目,由sync-marketplace.sh產生.agents/plugins/marketplace.jsonREADME.mdAGENTS.mdskills/hello/SKILL.mdskills/status/SKILL.mdreferences/behaviors.mdtemplates/monitor-contents.mdMONITOR_CONTENTS目錄頁範本templates/monitor-page.mdMONITOR_{HASH}內容頁範本設計重點
status全程唯讀。 讀心跳檔與待辦簿,印一張現況表。不寫檔、不寫 wiki、不呼叫閘門,也不啟動或停止助理。tools/腳本。 讀兩個路徑印一張表還不到抽腳本的門檻,助理主體落地時再一併評估。這個判斷寫在 SKILL.md 裡。tooling兩份範本相反,刻意不照抄。測試結果
check-behaviors.sh /root/plugins/assist:exit 0,行為清單與skills/相符,五個欄位齊全。lint-frontmatter.sh /root/plugins/assist:exit 0。ste100-lint.sh /root/plugins/assist:exit 0,README、AGENTS、behaviors 與兩份範本全綠。lint-scripts.sh /root/plugins/assist:exit 3。這一輪 assist 確實沒有tools/也沒有hooks/,是「無腳本可掃」,不是掃不到的假通過。sync-skill-manifest.sh /root/plugins/assist:exit 0,三份 manifest 同步,README 技能目錄一致。sync-marketplace.sh:exit 0,正本與每個 domain 存取庫共 22 份 marketplace 檔逐檔比對位元組一致。comment-scope.sh sweep:exit 0。list-skills.sh:列得出assist status那一列。deploy-route.sh回 exit 3,工作樹路線。改動還沒併進預設分支,所以驗證對象是工作樹而不是已安裝副本。各 CLI 的最小提示驗證未跑——jsc-assist尚未發佈到任何 CLI,裝不上就叫不動,要等這支合併並重新部署之後才驗得了。前置 Push Request