agent-skills 是做什麼的?
~/Dev/agent-skills 儲存了我在所有專案中使用的每個技能:包括我自己建立的以及上游他人的技能。agent-skills link 會將符號連結填入 ~/.claude/skills(Claude Code)與 ~/.agents/skills(Codex),因此透過這兩個資料夾編輯技能時,實際上就是在儲存庫中編輯。
技能歸屬於何處
- 專案技能(專案自己的
.agents/skills/,例如verify-*):保留在該專案中。本檔案其餘內容針對此儲存庫中的技能。 - 我的技能:
skills/<name>/。 - 上游技能:
vendor/<upstream>/,由agent-skills update從 pstack、Matt Pocock 的技能以及 good-css 拉取。upstreams.ts決定哪些技能會被建立連結。 - Agent 資料夾中如果不是指向此儲存庫的符號連結(例如
blabla-*、Claude 的synced/、Codex 的.system/),則歸安裝它的工具所有,並由該工具更新。
realpath ~/.agents/skills/<name> 會告訴你一個技能屬於哪個來源。
建立
在 ~/Dev/agent-skills/skills/<name>/SKILL.md 建立技能;此路徑優先於 skill-creator 與 /automate-me 的預設值。然後執行 agent-skills link。如果它回報名稱衝突,請選擇另一個名稱。
編輯
根據變更的性質決定路由:
- 我的偏好(風格、預設值、我喜歡的工作方式)放在我自己的技能中:擴充
skills/中的某個技能,或建立一個。我的檔案永遠不會與上游更新衝突。 - 對上游技能錯誤之處進行的修正直接寫入
vendor/。已提交的上游編輯會在agent-skills update後保留,但若上游在同一行有變更時可能發生衝突,因此請保持修改內容簡潔。編輯 pstack 後,請執行node ~/Dev/agent-skills/vendor/pstack/scripts/check-t3-native.mjs <name>直到它回傳 0。
移除
對於我的技能,刪除 skills/<name>/。對於上游技能,請先問我:這代表需要修改 upstreams.ts。
完成
當 agent-skills link 成功,且每個變更都是 ~/Dev/agent-skills 中的獨立提交並已推送時,即完成:
- 只暫存你變更過的檔案(
git add <paths>);其他 agent 可能正在那裡進行工作。 - 撰寫提交訊息說明技能變更的原因。
- 提交後立即推送。
撰寫
- 此儲存庫是公開的,因此每個技能都應以公開文字撰寫:使用通用範例,避免出現我的專案名稱、路徑和機密。
- 引用其他技能時使用完整路徑
~/.agents/skills/<name>/SKILL.md。此處使用相對路徑../<name>會失效,因為我的技能與每個上游技能位於不同的資料夾中。 - 至於撰寫本身,請遵循
~/.agents/skills/writing-for-agents/SKILL.md。
不帶參數執行 agent-skills 可查看其指令列表。