Skip to main content

Skills

Skills 是可重用的提示模組。透過載入 SKILL.md,可為 Session 加入特定領域的指令。

概觀

  • 可將領域知識封裝為 Skill 重複使用
  • 可在專案之間共用相同的行為
  • 可依 Session 切換啟用/停用
Laravel 版透過 SessionConfig 的 skillDirectories 與 disabledSkills 進行設定。

基本用法

skillDirectories 是用於探索 skill 的明確根目錄。 可獨立於 enableConfigDiscovery 的設定使用。 指定父目錄後,會探索其底下每個子目錄中的 SKILL.md。 此設定僅用於探索,不會授予 agent 一般的檔案存取權限。
也可用陣列形式指定。

停用 Skill

使用 disabledSkills 可只停用已載入 Skill 的一部分。

目錄結構

skillDirectories 需指定 skills/ 這類父目錄。 相對路徑會以指定當下有效的 workingDirectory 為基準,僅解析一次。
  • 省略或 null:不變更其他探索來源
  • []:僅清除明確指定的 SDK 根目錄
disabledSkills、來源層級的停用設定與 Managed Settings 也會套用於從明確根目錄探索到的 skill。

SKILL.md 格式

SKILL.md 為 Markdown,可選擇性附上 YAML frontmatter。
frontmatter 的主要項目:
  • name: Skill 識別碼(用於 disabledSkills 中指定)
  • description: Skill 的簡短說明
若省略 name,會使用目錄名稱。

與 Custom Agents 搭配

若在 customAgents[].skills 指定 Skill 名稱,啟用該 Agent 時會預先載入該 Skill 內容。
若省略 skills,Skill 內容不會注入該 Agent。

透過 RPC 檢查與操作

Skill 的探索與啟用/停用也可以透過 RPC 進行。

最佳實踐

  • 依領域切分 Skill(例如 skills/security、skills/testing)
  • 於 frontmatter 加上 name 與 description
  • 若指令有衝突,透過 disabledSkills 明確排除
  • 建議先單獨測試,再組合多個 Skill

參考

最後修改於 2026年10月19日