diff --git a/README.md b/README.md index 0a5ba97..70d58b5 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,7 @@ 一個可同時被 **Claude Code、Codex、Antigravity、OpenCode** 安裝的 plugin 模板。 核心是以 [Agent Skills(`SKILL.md`)](https://agentskills.io) 標準撰寫的共用 skills(唯一真實來源放在 `skills/`), 搭配各助理各自的 plugin manifest,讓**同一個 repo** 可用各家**原生 plugin CLI** 安裝。 -在 Claude Code 與 Antigravity 中,skill 以 **`/jsc:` 前綴**呼叫(例如 `/jsc:hello`)。 +在 Claude Code 與 Antigravity 中,skill 以 **`/jsc:` 前綴**呼叫(例如 `/jsc:spec-output`)。 --- @@ -35,7 +35,7 @@ template/ │ └── marketplace.json # Codex marketplace(name: "jsc-plugins",url source 指向本 repo) ├── plugin.json # Antigravity 外掛定義(name: "jsc",skills: "./skills/") ├── skills/ # ★ 唯一真實來源:所有 skills -│ └── hello/SKILL.md +│ └── spec-*/SKILL.md # 共用規範 skills(一規範一目錄) ├── AGENTS.md # 跨助理共用指引 └── README.md ``` @@ -68,7 +68,7 @@ claude plugin marketplace remove template - 工作階段內 slash 版(等價):把 `claude plugin` 換成 `/plugin`。 - 本機開發(免 push):`claude plugin marketplace add C:\Users\h3285\source\repos.plugins\template`(本地路徑)後再 install。 -- **呼叫**:`/jsc:`(例 `/jsc:hello`)。 +- **呼叫**:`/jsc:`(例 `/jsc:spec-output`)。 ### Codex @@ -87,7 +87,7 @@ codex plugin marketplace remove template - 安裝 token `jsc@template` = plugin 名(`.codex-plugin/plugin.json` 的 `name`)@ marketplace 名(`.agents/plugins/marketplace.json` 的 `name`)。 - 本 repo 的 Codex marketplace 以 `url` 來源指向自己,故 Codex **一律從 gitea 安裝**(需先 push);安裝後重啟 Codex。 -- **呼叫**:`$`(例 `$hello`),或用 `/skills` 選單。 +- **呼叫**:`$`(例 `$spec-output`),或用 `/skills` 選單。 ### Antigravity(`agy`) @@ -109,7 +109,7 @@ agy plugin uninstall jsc - 若把 skills 放到 GitHub,則可直接 `agy plugin install https://github.com//`。 - 其他:`agy plugin list`、`agy plugin enable jsc` / `disable jsc`、`agy plugin validate `。安裝後重啟工作階段。 -- **呼叫**:`/jsc:`(例 `/jsc:hello`)或依描述自動觸發。 +- **呼叫**:`/jsc:`(例 `/jsc:spec-output`)或依描述自動觸發。 ### OpenCode @@ -127,7 +127,7 @@ git -C ~/plugins/template pull cp -r ~/plugins/template/skills/* ~/.config/opencode/skills/ # 移除 -rm -rf ~/.config/opencode/skills/hello +rm -rf ~/.config/opencode/skills/spec-* ``` > **Windows PowerShell**:`cp -r A B` → `Copy-Item A B -Recurse -Force`、`rm -rf X` → `Remove-Item X -Recurse -Force`、`~` → `$HOME`。 @@ -140,17 +140,17 @@ rm -rf ~/.config/opencode/skills/hello 安裝好之後,不必進互動介面,一行指令就能叫某個 skill 跑完並印出結果: -| 助理 | headless 指令 | 執行 `hello` skill | +| 助理 | headless 指令 | 執行 `spec-output` skill | | --- | --- | --- | -| Claude Code | `claude -p ""` | `claude -p "/jsc:hello"` | -| Codex | `codex exec ""` | `codex exec '$hello'` | -| Antigravity | `agy -p ""` | `agy -p "/jsc:hello"` | -| OpenCode | `opencode run ""` | `opencode run "用 hello skill 打個招呼"` | +| Claude Code | `claude -p ""` | `claude -p "/jsc:spec-output"` | +| Codex | `codex exec ""` | `codex exec '$spec-output'` | +| Antigravity | `agy -p ""` | `agy -p "/jsc:spec-output"` | +| OpenCode | `opencode run ""` | `opencode run "說明 JSC 共用輸出規範的內容"` | - Claude / Antigravity 支援 `/jsc:` 前綴,直接 `-p "/jsc:"` 即可。 -- Codex 以 `$` 觸發;在 shell 請用**單引號**避免 `$` 被展開:`codex exec '$hello'`。 +- Codex 以 `$` 觸發;在 shell 請用**單引號**避免 `$` 被展開:`codex exec '$spec-output'`。 - OpenCode 沒有前綴,用自然語言描述需求,模型會自動透過 skill 工具呼叫。 -- 帶引數就接在後面,例如 `claude -p "/jsc:hello 參數"`、`codex exec '$hello 參數'`。 +- 帶引數就接在後面,例如 `claude -p "/jsc:spec-output 參數"`、`codex exec '$spec-output 參數'`。 --- @@ -161,14 +161,6 @@ rm -rf ~/.config/opencode/skills/hello -### `hello` - -範例 skill,用來驗證 jsc plugin 是否安裝成功,也是新增 skill 的範本。當使用者輸入 hello、想測試 plugin、或想看 skill 模板長什麼樣子時觸發;回覆一句問候並簡述此 plugin 的用途。 - -- **Claude Code / Antigravity**:`/jsc:hello` -- **Codex**:`$hello`,或用 `/skills` 選單 -- **OpenCode**:描述需求自動觸發 - ### 共用規範(spec-*) 以下 skills 是 **code/doc plugins 各 skill 引用的共用規範**:其他 skill 內文以 `/jsc:spec-` 引用時載入;也可單獨呼叫查看規範內容。 @@ -192,7 +184,7 @@ rm -rf ~/.config/opencode/skills/hello ## 新增一個 skill -1. 複製範本:`cp -r skills/hello skills/` +1. 複製範本:`cp -r skills/spec-output skills/`(或從 template repo 的 `skills/hello` 複製) 2. 編輯 `skills//SKILL.md` 的 frontmatter: - `name`:小寫、數字、連字號(`-`),最長 64 字元。**這就是 Claude Code / Antigravity 的 `/jsc:`**。 - `description`:第三人稱,寫清楚「何時用、何時不用」與觸發關鍵字 — 這是各助理自動載入的唯一依據。 diff --git a/skills/hello/SKILL.md b/skills/hello/SKILL.md deleted file mode 100644 index 4e54c6c..0000000 --- a/skills/hello/SKILL.md +++ /dev/null @@ -1,37 +0,0 @@ ---- -name: hello -description: 範例 skill,用來驗證 jsc plugin 是否安裝成功,也是新增 skill 的範本。當使用者輸入 hello、想測試 plugin、或想看 skill 模板長什麼樣子時觸發;回覆一句問候並簡述此 plugin 的用途。 ---- - -# hello(範例 skill) - -這是 `jsc` plugin 的範例 skill。它有兩個用途: - -1. **驗證安裝** — 跨各家 AI 助理確認 skill 已被正確載入。 -2. **作為範本** — 複製這個資料夾即可新增一個新的 skill。 - -## 呼叫方式 - -| 助理 | 呼叫方式 | -| --- | --- | -| Claude Code | `/jsc:hello` | -| Antigravity | `/jsc:hello`,或描述需求自動觸發 | -| Codex | 在提示詞輸入 `$hello`,或用 `/skills` 選單 | -| OpenCode | 直接描述需求,模型會透過 skill 工具自動呼叫 | - -## 行為 - -當這個 skill 被觸發時: - -1. 回覆「Hello from **jsc** 👋」。 -2. 用一句話說明 `jsc` 是一個跨 AI 助理的共用 skill 集合。 -3. 提示使用者可以在 README 的「Skills 目錄」查看所有可用的 skills。 - -## 如何以此為範本新增 skill - -1. 複製 `skills/hello/` 為 `skills//`。 -2. 修改 `SKILL.md` 的 frontmatter: - - `name`:小寫、數字、連字號(`-`),最長 64 字元。**這個名稱會成為 Claude Code / Antigravity 的 `/jsc:` 指令**。 - - `description`:第三人稱,寫清楚「什麼時候該用、什麼時候不該用」與觸發關鍵字 — 各家助理靠這段文字決定是否自動載入。 -3. 在內文寫下 skill 的具體步驟。 -4. 手動把新 skill 補進 README 的「Skills 目錄」區塊。