2025-11-02 11:32 湖北
术语 含义 (首字母大写) 出现在工具数组里的唯一元工具,负责加载所有技能。 (小写) 单个技能,如 推荐阅读skill-creator(技能生成器)与 internal-comms(内部通讯)两条技能为案例,走完文件解析、API 请求结构、Claude 决策流程等全生命周期。一、Claude Agent Skills 全景速览
Claude 用 Skills 来“把特定任务做得更专业”。一个 Skill 就是一个文件夹,内含指令、脚本与资源;Claude 在需要时动态加载。整个系统采用“声明式、纯提示”的发现与调用逻辑:没有算法级技能路由,也没有代码层的意图识别。是否调用、调用哪一个,全由 Claude 自己读描述后推理决定。Skills 不是可执行文件——不跑 Python、不跑 JavaScript,更不启 HTTP 服务。它们也不硬编码在系统提示里,而是躺在 API 请求结构的独立字段。一句话:Skills 就是“领域专属提示模板”。被触发时,它把一段详细指令注入对话上下文,同时可能切换工具权限甚至模型版本。
对用户请求,Claude 每次收到三件套:用户消息普通工具列表(Read、Write、Bash…)Skill 工具(元工具)Skill 工具的描述字段里拼好了所有可用技能的“目录”,Claude 用原生语义理解把用户意图与技能描述匹配。例如用户说“帮我写一封公司内部公告”,Claude 看到 internal-comms 的描述“当用户想按公司惯用格式写内部通讯时”,即判断匹配,于是调用 Skill 工具并传入参数 "internal-comms"。1、术语对照Skill 工具 skills 可视化调用流程:pdf、skill-creator、internal-comms,本质上是一段待注入的提示模板。技能选择机制在代码层无算法路由或意图分类。Claude Code 不用嵌入、分类器、正则或关键词匹配,而是把所有技能格式化成文本描述嵌入 Skill 工具提示,让 Claude 的语言模型自行决定。这是纯 LLM 推理,决策发生在 transformer 前向传播中,而非应用代码。调用技能时,系统:加载 SKILL.md 文件 → 展开为详细指令 → 作为新用户消息注入对话上下文 → 修改执行上下文(允许工具、模型)→ 继续对话。与传统工具“执行并返回结果”不同,Skills “让 Claude 准备好解决问题”。下表区分 Tools 与 Skills 及其能力:
2、构建Agent Skills现在让我们深入了解如何通过检查来自Anthropic的
"skill-creator"来构建Skills。Skill从Anthropic的skill库作为案例研究。作为提醒,agent skills是动态发现的文件夹,包含指令、脚本和资源,这些资源允许agents发现和读取动态执行能力,以包括可组合的资源供Claude使用,将通用目的agents转换为适合您需求的专门agents。关键见解:Skill = 提示模板 + 对话上下文注入 + 执行内容修改 + 可选数据文件和Python脚本
每个Skill都在一个名为SKILL.md(区分大小写)的markdown文件中定义,其中包含技能的元数据。SKILL.md文件可以是Python脚本、shell脚本、字体定义、模板等。使用skill-creator作为示例,它包含SKILL.md、LICENSE.txt for the license,以及tech/scripts文件夹skill-creator:不包含任何/references或/assets。每个技能都定义在一个名为
SKILL.md(不区分大小写)的 Markdown 文件中,并附带一些可选的捆绑文件,这些文件存储在 /scripts、/references 和 /assets 目录下。这些捆绑文件可以是 Python 脚本、Shell 脚本、字体定义、模板等。以 skill-creator 为例,它包含 SKILL.md、用于说明许可证的 LICENSE.txt 文件,以及 /scripts 文件夹下的几个 Python 脚本。skill-creator 没有 /references 或 /assets 目录。Skills 可以从多个来源被发现并加载。Claude Code 会扫描用户设置目录(~/.config/claude/skills/)、项目设置目录(.claude/skills/)、插件提供的技能以及内置技能,以构建可用技能列表。对于 Claude Desktop,我们可以按以下方式上传自定义技能。3、编写SKILL.mdSKILL.md是skill提示的核心。它是一个遵循两部分组成结构的markdown文件:frontmatter和内容。frontmatter配置skill如何运行(权限、模型、元数据),而markdown内容告诉Claude使用YAML编写frontmatter的头部。3.1、FrontmatterFrontmatter包含控制Claude如何发现和使用skill的元数据。例如,以下是skill-creator的frontmatter:name: skill-creatordescription: 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提示内容在frontmatter之后是markdown内容:Claude在调用
skill时接收的实际提示。这是您定义skill行为、指令和工作流程的地方。技能的markdown内容应以SKILL.md中定义的指令提供核心指令,并减少外部文件或详细内容的引用。推荐的内容结构:3.3、常见技能模式正如所有工程实践一样,理解常见模式有助于设计出高效的技能。以下是工具集成与工作流设计中最实用的几种模式。模式1:脚本自动化用例:完成需要多个命令或确定性逻辑的复杂任务。此模式将计算任务卸载到Python或Bash脚本中。技能提示告诉Claude执行脚本并将输出作为结果。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.
模式2:读取-处理-写入用例:文件转换和数据处理。最简单的模式——读取输入,按照以下指令转换,写入输出。适用于格式转换、数据清理或报告生成。allowed-tools: "Bash(python {baseDir}/scripts/*:*), Read, Write"SKILL.md 示例:
所需工具:## Processing Workflow1. Read input file using Read tool2. Parse content according to format3. Transform data following specifications4. Write output using Write tool5. Report completion with summary
模式3:搜索-分析-报告用例:代码库分析和模式检测。使用Grep搜索代码库中的模式,读取匹配文件的上下文,分析发现,并生成结构化报告。或者,搜索企业数据存储以获取数据,分析检索的数据以获取信息,并生成结构化报告。allowed-tools: "Read, Write"SKILL.md 示例:
所需工具:## Analysis Process1. Use Grep to find relevant code patterns2. Read each matched file3. Analyze for vulnerabilities4. Generate structured report
模式4:命令链执行用例:带依赖的多步骤操作。执行一系列命令,其中每一步都依赖于前一步的成功完成。常见于类似 CI/CD 的工作流。allowed-tools: "Grep, Read"SKILL.md 示例:
所需工具:Execute analysis pipeline:npm install && npm run lint && npm testReport results from each stage.
下文待续~allowed-tools: "Bash(npx install;*), Bash(npx run;*), Read"
