Agent Skills(簡稱 Skills)是智能體按需載入的指令與資料集合,以獨立目錄的形式組織和版本化管理。每個 Skill 的核心是一個 SKILL.md 檔案,包含中繼資料和執行指令,智能體據此判斷何時載入、如何執行。
為什麼需要 Skills
Skills 將領域流程、工具用法和組織約束封裝為可複用的檔案集合。建立一次,即可在多個會話與任務中反覆使用,確保執行一致性。Skills 具備以下核心特徵:
按需載入:智能體僅在任務匹配時載入對應 Skill,避免無關指令佔用上下文視窗。
可複用:同一 Skill 可在不同會話、不同任務中反覆使用,無需重複編寫指令。
可版本化:以檔案形式儲存在代碼倉庫中,支援 Git 版本管理、Code Review 和團隊協作。
可組合:多個 Skill 可協同工作,智能體根據任務需要動態調度和組合。
Skill 的結構
每個 Skill 以獨立目錄的形式組織,通常遵循 Agent Skills 規範,採用以下結構:
my-skill/
├── SKILL.md # 必選:主檔案,包含中繼資料與執行指令
├── references/ # 可選:深度參考資料、欄位說明、決策表等
├── tools/ # 可選:輔助指令碼、程式碼片段等
└── assets/ # 可選:示意圖、截圖、CSV 等靜態資源SKILL.md 是唯一必選檔案,由中繼資料和本文兩部分組成:
中繼資料:至少包含
name(唯一識別碼)和description(適用情境與觸發條件)。智能體根據description判斷是否載入該 Skill。本文:分步描述操作流程,可包含條件分支、檢查點和預期輸出,並定義明確的成功標準。
Skills 工作原理
Skills 採用漸進式披露機制。智能體不會一次性載入所有 Skill 的完整內容,而是分階段按需載入,控制上下文佔用:
發現:智能體啟動任務時,僅載入各 Skill 中繼資料中的名稱(
name)和描述(description),用於判斷其與當前任務的相關性。啟用:當任務與某個 Skill 的描述匹配時,智能體將該 Skill 完整的
SKILL.md檔案讀入上下文。執行:根據
SKILL.md中的指令執行操作,並按需載入引用的參考檔案或執行附帶的指令碼。
Skill 僅提供操作指引,不能替代運行時環境與權限原則。是否允許執行配置變更或訪問生產資料等操作,仍由平台的身份、策略和流程決定。
使用樣本
以查詢 ECS 執行個體狀態為例,建立一個包含完整目錄結構的 Skill 並驗證效果。
步驟 1:建立 Skill 目錄
在工程目錄下建立 skills/ecs-query 檔案夾,按以下結構組織檔案:
ecs-query/
├── SKILL.md # 主檔案:中繼資料與執行指令
├── references/
│ └── instance-status-codes.md # ECS 執行個體狀態代碼與含義對照表
├── tools/
│ ├── query-instances.py # 調用 DescribeInstances 介面查詢執行個體列表
│ └── export-csv.py # 將查詢結果匯出為 CSV 檔案
└── assets/
└── output-template.md # 查詢結果的輸出格式模板建立 SKILL.md 檔案:
---
name: ecs-query
description: 當使用者需要查看 ECS 執行個體運行狀態時,調用 DescribeInstances 介面查詢並匯總輸出。
---
# 查詢 ECS 執行個體
## 步驟
1. 確認查詢範圍:地區和篩選條件(執行個體狀態、標籤等)。未指定地區時預設查詢所有地區。
2. 執行 `tools/query-instances.py`,傳入地區和篩選條件,擷取執行個體列表。參考 `references/instance-status-codes.md` 解讀狀態代碼。
3. 參考 `assets/output-template.md` 中的模板,按以下格式輸出查詢結果:
- 查詢概要(地區、執行個體總數)
- 執行個體列表(執行個體名稱、執行個體 ID、狀態、執行個體規格、IP 位址)
4. 如果使用者需要匯出結果,執行 `tools/export-csv.py` 產生 CSV 檔案。SKILL.md 由兩部分組成:頂部的 YAML 中繼資料(name 和 description)和 Markdown 本文。本文中通過相對路徑引用 references/、tools/ 和 assets/ 中的檔案,將參考資料、指令碼和模板與執行邏輯分離。
步驟 2:匯入工程
將 Skill 檔案夾放置到智能體平台能夠識別的路徑下。常見平台的約定路徑:
平台 | Skill 存放路徑 | 說明 |
通義靈碼 |
| 按約定目錄自動探索 |
Cursor |
| 通過 Rules 或 Agent 配置載入 |
Claude Code |
| 自動掃描該目錄下所有 Skill |
例如在 Claude Code 中,將 skills/ecs-query 檔案夾移動到 .claude/skills/ 下即可完成匯入。
步驟 3:驗證效果
匯入完成後,向智能體輸入任務指令,智能體會根據各 Skill 的描述自動匹配並載入。
例如在 Claude Code 中輸入:
幫我查一下華東1地區有哪些 ECS 執行個體在運行智能體匹配 ecs-query Skill,按 SKILL.md 中定義的格式返回結果:
ECS 執行個體查詢結果
查詢概要:
- 地區:華東1(杭州)
- 運行中執行個體:3 台
執行個體列表:
| 執行個體名稱 | 執行個體 ID | 狀態 | 規格 | IP 位址 |
| ------------- | -------------------- | ------ | --------------- | -------------- |
| web-server-01 | i-bp1a2b3c4d5e6f7g8h | 運行中 | ecs.g7.xlarge | 172.16.0.10 |
| api-gateway | i-bp2c3d4e5f6g7h8i9j | 運行中 | ecs.c7.large | 172.16.0.20 |
| db-backup | i-bp3d4e5f6g7h8i9j0k | 運行中 | ecs.r7.2xlarge | 172.16.0.30 |不同平台對 Skill 的檔案格式、內容結構與安全性原則可能存在差異,具體要求請參考對應平台文檔。