feat/assistant-domain-bootstrap/init-and-status-skill #1

Merged
admin merged 3 commits from feat/assistant-domain-bootstrap/init-and-status-skill into feat/assistant-domain-bootstrap/main 2026-09-01 04:27:21 +00:00
Member

摘要

  • 需求描述:把 plugins/assist 從 plugins/template 的樣板改成獨立的 jsc-assist domain,登錄進統一 marketplace,附上第一支唯讀技能 status,並加上監控頁的兩份範本。這是技能助理的地基:存取庫要先認得出自己,後續的閘門、心跳與排程才有落點。
  • 計畫名稱:無
  • 計畫頁:無
  • 分析頁:無

變更內容

檔案 為什麼改
plugin.json 名稱由 jsc-template 改成 jsc-assist,描述改寫成助理的定位,並加上 jsc.requires
.claude-plugin/plugin.json 同上,另外把 homepage 與 repository 指到 assist 存取庫
.codex-plugin/plugin.json 同上
.claude-plugin/marketplace.json 加入 jsc-assist 條目,由 sync-marketplace.sh 產生
.agents/plugins/marketplace.json 同上
README.md 依 meta domain 的格式重寫:五支 CLI 的安裝指令表、技能目錄、相依表、助理的狀態檔說明、參考與工具表
AGENTS.md 依 meta domain 的格式重寫,另加一節「助理的界線」
skills/hello/SKILL.md 刪除。樣板的安裝驗證技能,留著會讓助理從第一天就帶一支沒有用途的技能
skills/status/SKILL.md 新增。助理現況查詢,全程唯讀
references/behaviors.md 新增。本 domain 的技能行為清單
templates/monitor-contents.md 新增。MONITOR_CONTENTS 目錄頁範本
templates/monitor-page.md 新增。MONITOR_{HASH} 內容頁範本

設計重點

  • status 全程唯讀。 讀心跳檔與待辦簿,印一張現況表。不寫檔、不寫 wiki、不呼叫閘門,也不啟動或停止助理。
  • 心跳的判準只看時間。 檔案存在且時間戳距現在不到 300 秒才算新鮮。不看 pid 存活——五支 CLI 與容器裡的行程互相看不到彼此的 pid,pid 只當擋人訊息的線索。
  • 心跳檔不存在是正常結果。 印「助理未運行」,不以非 0 結束。待辦簿目錄不存在或零筆同樣算正常。
  • 這一輪不新增 tools/ 腳本。 讀兩個路徑印一張表還不到抽腳本的門檻,助理主體落地時再一併評估。這個判斷寫在 SKILL.md 裡。
  • 兩份範本的寫入語意相反,各自寫明白。 目錄頁是共用的,一列代表一台機器,比對主機與帳號兩欄、只更新自己那一列,禁止整頁覆蓋;內容頁只屬於一台機器,記的是歷次巡檢軌跡,一律附加一節、不覆寫。這一點與 meta 的 tooling 兩份範本相反,刻意不照抄。
  • 連續失敗的項目一定要標「已連續失敗 N 次」。 待辦簿的項目失敗不會自動暫停,會每輪重試,不標出來就是一個壞掉的項目一直重試而沒人知道。
  • 版本從新 domain 的起始值起算,不沿用樣板的號碼。

測試結果

  • 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。
  • 編碼:新增的檔案都是 UTF-8 無 BOM,全庫掃過無簡體字。
  • list-skills.sh:列得出 assist status 那一列。
  • 部署路線:deploy-route.sh 回 exit 3,工作樹路線。改動還沒併進預設分支,所以驗證對象是工作樹而不是已安裝副本。各 CLI 的最小提示驗證未跑——jsc-assist 尚未發佈到任何 CLI,裝不上就叫不動,要等這支合併並重新部署之後才驗得了。

前置 Push Request

  • 無
## 摘要 - 需求描述:把 `plugins/assist` 從 `plugins/template` 的樣板改成獨立的 `jsc-assist` domain,登錄進統一 marketplace,附上第一支唯讀技能 `status`,並加上監控頁的兩份範本。這是技能助理的地基:存取庫要先認得出自己,後續的閘門、心跳與排程才有落點。 - 計畫名稱:無 - 計畫頁:無 - 分析頁:無 ## 變更內容 | 檔案 | 為什麼改 | | --- | --- | | `plugin.json` | 名稱由 `jsc-template` 改成 `jsc-assist`,描述改寫成助理的定位,並加上 `jsc.requires` | | `.claude-plugin/plugin.json` | 同上,另外把 homepage 與 repository 指到 assist 存取庫 | | `.codex-plugin/plugin.json` | 同上 | | `.claude-plugin/marketplace.json` | 加入 `jsc-assist` 條目,由 `sync-marketplace.sh` 產生 | | `.agents/plugins/marketplace.json` | 同上 | | `README.md` | 依 meta domain 的格式重寫:五支 CLI 的安裝指令表、技能目錄、相依表、助理的狀態檔說明、參考與工具表 | | `AGENTS.md` | 依 meta domain 的格式重寫,另加一節「助理的界線」 | | `skills/hello/SKILL.md` | 刪除。樣板的安裝驗證技能,留著會讓助理從第一天就帶一支沒有用途的技能 | | `skills/status/SKILL.md` | 新增。助理現況查詢,全程唯讀 | | `references/behaviors.md` | 新增。本 domain 的技能行為清單 | | `templates/monitor-contents.md` | 新增。`MONITOR_CONTENTS` 目錄頁範本 | | `templates/monitor-page.md` | 新增。`MONITOR_{HASH}` 內容頁範本 | ## 設計重點 - **`status` 全程唯讀。** 讀心跳檔與待辦簿,印一張現況表。不寫檔、不寫 wiki、不呼叫閘門,也不啟動或停止助理。 - **心跳的判準只看時間。** 檔案存在且時間戳距現在不到 300 秒才算新鮮。**不看 pid 存活**——五支 CLI 與容器裡的行程互相看不到彼此的 pid,pid 只當擋人訊息的線索。 - **心跳檔不存在是正常結果。** 印「助理未運行」,不以非 0 結束。待辦簿目錄不存在或零筆同樣算正常。 - **這一輪不新增 `tools/` 腳本。** 讀兩個路徑印一張表還不到抽腳本的門檻,助理主體落地時再一併評估。這個判斷寫在 SKILL.md 裡。 - **兩份範本的寫入語意相反,各自寫明白。** 目錄頁是共用的,一列代表一台機器,比對主機與帳號兩欄、只更新自己那一列,禁止整頁覆蓋;內容頁只屬於一台機器,記的是歷次巡檢軌跡,一律附加一節、不覆寫。這一點與 meta 的 `tooling` 兩份範本相反,刻意不照抄。 - **連續失敗的項目一定要標「已連續失敗 N 次」。** 待辦簿的項目失敗不會自動暫停,會每輪重試,不標出來就是一個壞掉的項目一直重試而沒人知道。 - 版本從新 domain 的起始值起算,不沿用樣板的號碼。 ## 測試結果 - `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。 - 編碼:新增的檔案都是 UTF-8 無 BOM,全庫掃過無簡體字。 - `list-skills.sh`:列得出 `assist status` 那一列。 - 部署路線:`deploy-route.sh` 回 exit 3,**工作樹路線**。改動還沒併進預設分支,所以驗證對象是工作樹而不是已安裝副本。各 CLI 的最小提示驗證**未跑**——`jsc-assist` 尚未發佈到任何 CLI,裝不上就叫不動,要等這支合併並重新部署之後才驗得了。 ## 前置 Push Request - 無
jiantw83 added 2 commits 2026-09-01 03:53:31 +00:00
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 存取庫的同一份副本另外送出。
jiantw83 added 1 commit 2026-09-01 04:12:58 +00:00
What:
- 新增 templates/monitor-contents.md 與 templates/monitor-page.md。
- README 的「參考與工具」表補上這兩份範本,說明欄寫出兩者相反的寫入語意。
- 三份 manifest 的版本一起提升。

Why:
- 監控頁是助理巡檢結果的落點。沒有範本,每次巡檢寫出來的格式都不一樣,累積久了看不出趨勢,也對不起來。
- 兩份範本的寫入語意剛好相反,必須各自寫明白。目錄頁是共用的,一列代表一台機器,整頁覆蓋會刪掉別台機器的紀錄;內容頁只屬於一台機器,記的是歷次巡檢的軌跡,所以附加不覆寫。

How:
- 目錄頁範本帶欄位說明與寫入規則:比對主機與帳號兩欄,只更新自己那一列,讀不到舊內容就中止,不硬寫。
- 內容頁範本一次巡檢附加一節,節標題帶時間戳,涵蓋心跳與閘門、使用統計、hook 錯誤、版本落差、階段鎖與工作包鎖、待辦簿到期與逾期六類結果。
- 連續失敗的項目一定要標「已連續失敗 N 次」。待辦簿的項目失敗不會自動暫停,會每輪重試,不標出來就是一個壞掉的項目一直重試而沒人知道。
- 內容以圖表優先,流程用 mermaid、結果用表格,純文字每節最多三句。

Who:
技能助理落地帶出來的頁型別需求,四個存放庫同一批改。
admin merged commit f09830a636 into feat/assistant-domain-bootstrap/main 2026-09-01 04:27:21 +00:00
admin deleted branch feat/assistant-domain-bootstrap/init-and-status-skill 2026-09-01 04:27:22 +00:00
Sign in to join this conversation.
No Reviewers
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: plugins/assist#1