Files
meta/skills/skill-update/SKILL.md
T
jiantw83andClaude Fable 5 b7287239cc feat(skill-ops): 技能管理流程改以 Gitea 正本 marketplace 為準並新增深度刪除驗證
What(改了什麼):
- skill-update:流程改為先呼叫 gitea.sh 取得 plugins/jsc marketplace.json 的 domain 清單,缺少的 domain repo 先 clone 再列出技能;原 6 步改為 7 步,description 同步更新。
- skill-delete:同樣先查 marketplace 並補 clone 缺少的 repo;刪除後新增第 7 步「深度刪除驗證」——由 sub agent 透過 detect-clis.sh 實地檢查每個已安裝 CLI 的技能與 hook 保存位置(如 Claude 的 ~/.claude/plugins/cache/ 與 settings 內的 hook 設定),確認無殘留,有殘留就手動清除並複查。
- skill-new:domain 在 Gitea 已存在但工作目錄缺少時,改為 clone 既有 repo 後直接進入第 3 步,不再重建。

Why(為什麼改):
- 只掃本機 jsc-*/skills 會漏掉尚未 clone 的 domain,技能清單不完整;正本 marketplace 才是權威來源。
- 刪除技能後各 CLI 的快取與 hook 設定可能殘留,僅執行原生刪除指令不足以保證乾淨。
- domain repo 已存在卻重建會蓋掉既有內容。

How(怎麼改):
- 三個 SKILL.md 的 Flow 前段統一加入「gitea.sh api GET /repos/plugins/jsc/raw/.claude-plugin/marketplace.json 取得 domain 清單 → gitea.sh clone-url 補 clone → 重掃」步驟,並標明完成條件。
- skill-delete 新增 MUST run as a sub agent 的深度驗證步驟,涵蓋 claude / codex / copilot / antigravity / kiro 的對應保存位置。
- 後續步驟編號與回跳目標(如「回到步驟 5.2」)同步修正。

Who(影響哪個功能/使用者):
- 使用 jsc-meta:skill-update、skill-delete、skill-new 的所有使用者;技能清單自此涵蓋全部 marketplace domain,刪除技能後保證各 CLI 無殘留。

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-21 08:23:53 +00:00

19 lines
1.8 KiB
Markdown

---
name: skill-update
description: Update an existing skill in the jsc skill set. List all skills starting from the Gitea canonical marketplace (plugins/jsc marketplace.json), cloning any missing domain repo, then let the user pick one, ask update details via decision tree, apply the change, re-check against the guidelines checklist until it passes, then open a PR via jsc-git pr. Use for modifying a skill; not for creating (skill-new) or removing (skill-delete).
---
# skill-update — update a skill
Single source of guidelines: [`../../references/guidelines.md`](../../references/guidelines.md).
## Flow
1. Query Gitea for the canonical skill set first: run `jsc-gitea/tools/gitea.sh api GET /repos/plugins/jsc/raw/.claude-plugin/marketplace.json` to get the authoritative domain list, then scan local `jsc-*/skills/*/SKILL.md` and present a "domain / name / description" list covering every domain in the marketplace. Completion condition: the list covers all marketplace domains.
2. For any marketplace domain whose repo is missing from the working directory, clone it first (`gitea.sh clone-url plugins/{domain}`), then rescan. Completion condition: every domain repo exists locally.
3. Let the user pick the skill to update.
4. Ask for update details via the `jsc-ask:ask` decision tree (change the goal? the trigger? the flow? move rules down to a hook or a tool?). Every option states its impact scope (example: renaming breaks the existing invocation command).
5. Update the skill — this step MUST run as a sub agent: modify SKILL.md and related files, sync the domain README's 「Skills 目錄」 section, and bump the version in all three manifests.
6. Check every item of the guidelines.md audit checklist. On any failure, **return to step 4**: ask again and fix, until all items pass.
7. Call `jsc-git:pr` to open a Push Request.