Claude Agent Skills:從第一性原理深入剖析
Claude 的 Agent Skills 系統(tǒng)是一套基于提示的元工具架構(gòu),通過(guò)“注入專(zhuān)門(mén)指令”來(lái)擴(kuò)展大模型能力。它既不是傳統(tǒng)意義上的函數(shù)調(diào)用,也不執(zhí)行實(shí)際代碼,而是借助“提示展開(kāi)”與“上下文改寫(xiě)”,讓 Claude 在后續(xù)對(duì)話(huà)中換一種“大腦配置”去處理任務(wù),而無(wú)需寫(xiě)一行可執(zhí)行程序。
本文從第一性原理拆骨式解構(gòu) Claude 的 Agent Skills 系統(tǒng),完整記錄“Skill”這一元工具如何把領(lǐng)域?qū)偬崾咀⑷雽?duì)話(huà)上下文的機(jī)制。我們將以 ??skill-creator???(技能生成器)與 ??internal-comms??(內(nèi)部通訊)兩條技能為案例,走完文件解析、API 請(qǐng)求結(jié)構(gòu)、Claude 決策流程等全生命周期。
一、Claude Agent Skills 全景速覽
Claude 用 Skills 來(lái)“把特定任務(wù)做得更專(zhuān)業(yè)”。一個(gè) Skill 就是一個(gè)文件夾,內(nèi)含指令、腳本與資源;Claude 在需要時(shí)動(dòng)態(tài)加載。整個(gè)系統(tǒng)采用“聲明式、純提示”的發(fā)現(xiàn)與調(diào)用邏輯:
- 沒(méi)有算法級(jí)技能路由,也沒(méi)有代碼層的意圖識(shí)別。
- 是否調(diào)用、調(diào)用哪一個(gè),全由 Claude 自己讀描述后推理決定。
- Skills 不是可執(zhí)行文件——不跑 Python、不跑 JavaScript,更不啟 HTTP 服務(wù)。
- 它們也不硬編碼在系統(tǒng)提示里,而是躺在 API 請(qǐng)求結(jié)構(gòu)的獨(dú)立字段。
一句話(huà):Skills 就是“領(lǐng)域?qū)偬崾灸0濉?。被觸發(fā)時(shí),它把一段詳細(xì)指令注入對(duì)話(huà)上下文,同時(shí)可能切換工具權(quán)限甚至模型版本。
對(duì)用戶(hù)請(qǐng)求,Claude 每次收到三件套:
- 用戶(hù)消息
- 普通工具列表(Read、Write、Bash…)
- Skill 工具(元工具)
Skill 工具的描述字段里拼好了所有可用技能的“目錄”,Claude 用原生語(yǔ)義理解把用戶(hù)意圖與技能描述匹配。例如用戶(hù)說(shuō)“幫我寫(xiě)一封公司內(nèi)部公告”,Claude 看到 ??internal-comms??? 的描述“當(dāng)用戶(hù)想按公司慣用格式寫(xiě)內(nèi)部通訊時(shí)”,即判斷匹配,于是調(diào)用 Skill 工具并傳入?yún)?shù) ??"internal-comms"??。
1、術(shù)語(yǔ)對(duì)照
術(shù)語(yǔ) | 含義 |
Skill 工具 (首字母大寫(xiě)) | 出現(xiàn)在工具數(shù)組里的唯一元工具,負(fù)責(zé)加載所有技能。 |
skills (小寫(xiě)) | 單個(gè)技能,如 ? |
可視化調(diào)用流程:
技能選擇機(jī)制在代碼層無(wú)算法路由或意圖分類(lèi)。Claude Code 不用嵌入、分類(lèi)器、正則或關(guān)鍵詞匹配,而是把所有技能格式化成文本描述嵌入 Skill 工具提示,讓 Claude 的語(yǔ)言模型自行決定。這是純 LLM 推理,決策發(fā)生在 transformer 前向傳播中,而非應(yīng)用代碼。
調(diào)用技能時(shí),系統(tǒng):加載 SKILL.md 文件 → 展開(kāi)為詳細(xì)指令 → 作為新用戶(hù)消息注入對(duì)話(huà)上下文 → 修改執(zhí)行上下文(允許工具、模型)→ 繼續(xù)對(duì)話(huà)。與傳統(tǒng)工具“執(zhí)行并返回結(jié)果”不同,Skills “讓 Claude 準(zhǔn)備好解決問(wèn)題”。
下表區(qū)分 Tools 與 Skills 及其能力:
2、構(gòu)建Agent Skills
現(xiàn)在讓我們深入了解如何通過(guò)檢查來(lái)自Anthropic的??"skill-creator"??來(lái)構(gòu)建Skills。Skill從Anthropic的skill庫(kù)作為案例研究。作為提醒,agent skills是動(dòng)態(tài)發(fā)現(xiàn)的文件夾,包含指令、腳本和資源,這些資源允許agents發(fā)現(xiàn)和讀取動(dòng)態(tài)執(zhí)行能力,以包括可組合的資源供Claude使用,將通用目的agents轉(zhuǎn)換為適合您需求的專(zhuān)門(mén)agents。
關(guān)鍵見(jiàn)解:
Skill = 提示模板 + 對(duì)話(huà)上下文注入 + 執(zhí)行內(nèi)容修改 + 可選數(shù)據(jù)文件和Python腳本
每個(gè)Skill都在一個(gè)名為??SKILL.md??(區(qū)分大小寫(xiě))的markdown文件中定義,其中包含技能的元數(shù)據(jù)。SKILL.md文件可以是Python腳本、shell腳本、字體定義、模板等。使用skill-creator作為示例,它包含SKILL.md、LICENSE.txt for the license,以及tech/scripts文件夾skill-creator:不包含任何/references或/assets。
每個(gè)技能都定義在一個(gè)名為 ??SKILL.md???(不區(qū)分大小寫(xiě))的 Markdown 文件中,并附帶一些可選的捆綁文件,這些文件存儲(chǔ)在 ??/scripts???、??/references??? 和 ??/assets??? 目錄下。這些捆綁文件可以是 Python 腳本、Shell 腳本、字體定義、模板等。以 ??skill-creator??? 為例,它包含 ??SKILL.md???、用于說(shuō)明許可證的 ??LICENSE.txt??? 文件,以及 /scripts 文件夾下的幾個(gè) Python 腳本。??skill-creator?? 沒(méi)有 /references 或 /assets 目錄。
Skills 可以從多個(gè)來(lái)源被發(fā)現(xiàn)并加載。Claude Code 會(huì)掃描用戶(hù)設(shè)置目錄(~/.config/claude/skills/)、項(xiàng)目設(shè)置目錄(.claude/skills/)、插件提供的技能以及內(nèi)置技能,以構(gòu)建可用技能列表。對(duì)于 Claude Desktop,我們可以按以下方式上傳自定義技能。
3、編寫(xiě)SKILL.md
SKILL.md是skill提示的核心。它是一個(gè)遵循兩部分組成結(jié)構(gòu)的markdown文件:frontmatter和內(nèi)容。frontmatter配置skill如何運(yùn)行(權(quán)限、模型、元數(shù)據(jù)),而markdown內(nèi)容告訴Claude使用YAML編寫(xiě)frontmatter的頭部。
3.1、Frontmatter
Frontmatter包含控制Claude如何發(fā)現(xiàn)和使用skill的元數(shù)據(jù)。例如,以下是skill-creator的frontmatter:
name: skill-creator
description: Guide for creating effective skills. This skill should be used when users want to create a new skill (or update an existing skill) that extends Claude's capabilities with specialized knowledge, workflows, or tool integrations.
license: Complete terms in LICENSE.txt3.2、SKILL.md提示內(nèi)容
在frontmatter之后是markdown內(nèi)容:Claude在調(diào)用??skill???時(shí)接收的實(shí)際提示。這是您定義skill行為、指令和工作流程的地方。技能的markdown內(nèi)容應(yīng)以??SKILL.md??中定義的指令提供核心指令,并減少外部文件或詳細(xì)內(nèi)容的引用。
推薦的內(nèi)容結(jié)構(gòu):
3.3、常見(jiàn)技能模式
正如所有工程實(shí)踐一樣,理解常見(jiàn)模式有助于設(shè)計(jì)出高效的技能。以下是工具集成與工作流設(shè)計(jì)中最實(shí)用的幾種模式。
模式1:腳本自動(dòng)化
用例:完成需要多個(gè)命令或確定性邏輯的復(fù)雜任務(wù)。此模式將計(jì)算任務(wù)卸載到Python或Bash腳本中。技能提示告訴Claude執(zhí)行腳本并將輸出作為結(jié)果。
SKILL.md 示例:
Run scripts/analyzer.py on the target directory:
`python {baseDir}/scripts/analyzer.py --path "$USER_PATH" --output report.json`
Parse the generated `report.json` and present findings.
allowed-tools: "Bash(python {baseDir}/scripts/*:*), Read, Write"模式2:讀取-處理-寫(xiě)入
用例:文件轉(zhuǎn)換和數(shù)據(jù)處理。
最簡(jiǎn)單的模式——讀取輸入,按照以下指令轉(zhuǎn)換,寫(xiě)入輸出。適用于格式轉(zhuǎn)換、數(shù)據(jù)清理或報(bào)告生成。
SKILL.md 示例:
## Processing Workflow
1. Read input file using Read tool
2. Parse content according to format
3. Transform data following specifications
4. Write output using Write tool
5. Report completion with summary所需工具:
allowed-tools: "Read, Write"模式3:搜索-分析-報(bào)告
用例:代碼庫(kù)分析和模式檢測(cè)。
使用Grep搜索代碼庫(kù)中的模式,讀取匹配文件的上下文,分析發(fā)現(xiàn),并生成結(jié)構(gòu)化報(bào)告?;蛘撸阉髌髽I(yè)數(shù)據(jù)存儲(chǔ)以獲取數(shù)據(jù),分析檢索的數(shù)據(jù)以獲取信息,并生成結(jié)構(gòu)化報(bào)告。
SKILL.md 示例:
## Analysis Process
1. Use Grep to find relevant code patterns
2. Read each matched file
3. Analyze for vulnerabilities
4. Generate structured report所需工具:
allowed-tools: "Grep, Read"模式4:命令鏈執(zhí)行
用例:帶依賴(lài)的多步驟操作。
執(zhí)行一系列命令,其中每一步都依賴(lài)于前一步的成功完成。常見(jiàn)于類(lèi)似 CI/CD 的工作流。
SKILL.md 示例:
Execute analysis pipeline:
npm install && npm run lint && npm test
Report results from each stage.所需工具:
allowed-tools: "Bash(npx install;*), Bash(npx run;*), Read"本文轉(zhuǎn)載自??PaperAgent??

















