跳至主要内容

GitHub Copilot Agent Skills 實作指南

GitHub Copilot 的 Agent Skills 為開發者提供了一種將專業領域知識與工作流程封裝成標準「技能」的方式,讓 AI 從通用的對話者轉變為專業領域的專家。

1. 核心概念:技能的標準化

Agent Skills (agentskills.io) 是一個開放標準,旨在解決 AI 指令過於零散且難以維護的問題。與傳統的「自定義指令 (Custom Instructions)」不同,Skill 具備高度的封裝性與任務導向。

  • 自定義指令:偏向全域的偏好設定(如:使用特定的 coding style)。
  • Agent Skills:偏向特定的任務邏輯(如:執行資料庫遷移、自動生成單元測試)。

2. 技能的物理結構

一個 Skill 通常以資料夾形式存在,並包含以下核心元件:

my-skill/
├── SKILL.md # 技能的核心指令與元數據 (必要)
├── scripts/ # 供 AI 執行的自動化腳本 (選用)
├── references/ # 靜態文件或 API 規格 (選用)
└── assets/ # 模板或資源檔案 (選用)

3. 運作機制:漸進式載入 (Progressive Disclosure)

為了在有限的 Token 上下文中提供最精確的指令,GitHub Copilot 採用了漸進式載入機制:

  1. 發現階段:AI 僅讀取所有可用 Skill 的 namedescription
  2. 匹配與載入:當使用者請求與描述匹配,或手動輸入 /name 時,載入 SKILL.md 的完整內容。
  3. 資源存取:僅在需要執行腳本或讀取參考文件時,才存取資料夾內的其他資源。

4. 實作建議

4.1 精確的描述 (Description)

描述是 Skill 的「入口」,必須清晰說明該技能解決什麼問題,以便 AI 在自動載入模式下能正確選取。

4.2 任務導向的指令

SKILL.md 中,建議使用結構化的標題(如 ## Workflow)來引導 AI 執行任務。

4.3 檔案放置位置

  • 專案級別:放置於 .github/skills/,隨程式碼庫共享。
  • 個人級別:放置於 ~/.copilot/skills/,適用於本地所有專案。