Community程式設計與開發github.com

agent-skills

集中管理所有 AI Agent 技能檔案的 Git 儲存庫與連結工具,支援 Claude Code 與 Codex,避免建立、編輯或刪除任何技能時發生衝突。

agent-skills 是什麼?

這個技能 (agent-skills) 提供一個集中式工作流程,讓開發者能透過單一 Git 儲存庫 (`~/Dev/agent-skills`) 管理所有 AI Agent(如 Claude Code 與 Codex)的技能檔案。它使用符號連結將 `~/.claude/skills` 與 `~/.agents/skills` 指向儲存庫內的技能,因此無論從哪個目錄編輯技能,變更都會即時反映在 Git 版本控制中。技能分為三類:專案自有的技能、開發者自訂的技能 (`skills/`)、以及來自上游來源(如 pstack、Matt Pocock)的技能 (`vendor/`)。透過 `agent-skills link` 指令可建立符號連結,`agent-skills update` 則能安全更新上游技能並保留本機修改。此技能也規範了編輯原則:開發者的偏好應放在自訂技能中以避免衝突,而上游修正則直接寫入 `vendor/` 目錄,且會提醒開發者在編輯 pstack 技能後執行對應的檢查指令。移除技能時也需特別處理上游技能,必須先修改 `upstreams.ts`。整體而言,這個技能讓技能 management 更具可追蹤性、重複使用性,並降低多人或跨專案協作時的衝突風險。

相容平台✓Claude Code✓Codex CLI~Cursor
npx skills add https://github.com/serge-the-hedge/agent-skills/tree/HEAD/skills/agent-skills

Installed? Explore more 程式設計與開發 skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

在你喜歡的 AI 中提問

開啟一個已預先載入此 Agent Skill 的新對話。

說明文件

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 可查看其指令列表。

相關技能