Skill 是什么?Claude Skills 到底好不好用?从概念到项目实操,全流程拆解
定义:Skills 本质上是大模型的程序性知识(Procedural Knowledge)或标准作业程序(SOP)。它不是单纯的代码,而是告诉模型“在遇到特定任务时,应该按照什么步骤、使用什么策略去解决问题”的说明书。通俗理解:如果把大模型比作一个刚入职的“高材生实习生”:他很聪明,读过很多书(预训练知识),但他不知道你公司的具体业务流程。Skills 就是你写给他的《员工手册》或《操作指南》。比
“ Skills 于 2024 年底由 Anthropic 正式推出,2025 年底突然爆火。但 Skill 到底是什么?Claude Skills 是真生产力,还是新瓶装旧酒?本文从基本概念、安装配置到项目实战,全流程拆解,验证它到底行不行。”
关注同名公众号及时获取更多技术资讯!
往期内容链接:
…
别再堆 Prompt 了:用 LangChain 1.0 搭建“深度思考 Agent”
拒绝复制粘贴!我用多 Agent 搭了个“全平台文章同步助手”(附架构源码)
本期代码运行实例详见github:https://github.com/SWUSTcyt/langchain-travel-agent
01 大模型的“手”与“脑”——Skills、MCP与Claude Skills详解
在构建大模型应用时,我们经常听到“Agent(智能体)”、“Tools(工具)”这些词。但随着技术栈的演进,出现了更细分的层级:Skills(技能) 和 MCP(Model Context Protocol)。
很多开发者容易混淆这两者,或者认为它们是同一回事。其实,它们解决的是大模型落地的两个不同维度的问题。
1. 什么是 Skills (技能)?
定义:Skills 本质上是大模型的程序性知识(Procedural Knowledge)或标准作业程序(SOP)。它不是单纯的代码,而是告诉模型“在遇到特定任务时,应该按照什么步骤、使用什么策略去解决问题”的说明书。
通俗理解:如果把大模型比作一个刚入职的“高材生实习生”:
-
他很聪明,读过很多书(预训练知识),但他不知道你公司的具体业务流程。
-
Skills 就是你写给他的《员工手册》或《操作指南》。比如:“当客户要求退款时,第一步先查订单状态,第二步核对金额,第三步调用退款接口”。
在技术实现上,Skills 通常是一组Prompt(提示词)模板、编排逻辑或者轻量级的脚本,它赋予了模型处理特定场景(如“写代码”、“分析财报”、“订票”)的专业能力。
2. 什么是 MCP (Model Context Protocol)?
定义:MCP 是由 Anthropic 等机构推出的一种开放标准协议。它的核心目的是标准化大模型与外部世界的连接方式。它规定了模型如何“看到”外部数据(Context)以及如何“调用”外部工具(Tools)。
通俗理解:继续用那个“实习生”做比喻:
-
虽然他有了《操作指南》(Skills),但他没有公司系统的账号,也连不上打印机。
-
MCP 就是那个“通用接口”或“万能插座”。
-
它给了实习生一把通用的钥匙,让他能安全地连接到本地的数据库、GitHub 仓库、Slack 消息记录,或者是你的文件系统。
为什么需要 MCP?在 MCP 出现之前,如果你想让 ChatGPT 连数据库,你得写一套插件;想让 Claude 连 GitHub,又得写另一套。MCP 让所有模型和所有工具之间有了一种“通用语言”,写一次接口,到处都能用。
3. Skills 与 MCP 的区别与联系
这是最容易混淆的部分,我们可以用“大厨做菜”来做类比:
| 维度 | Skills (技能) | MCP (模型上下文协议) |
|---|---|---|
| 角色比喻 | 菜谱 / 烹饪技法 | 食材库 / 厨具接口 |
| 核心作用 | How (怎么做):教模型如何拆解任务、决策逻辑、步骤顺序。 | What (用什么):给模型提供数据(食材)和工具(锅碗瓢盆)的访问权限。 |
| 存在形式 | Markdown 文档、System Prompts、逻辑脚本。 | Server 服务、API 接口、标准化的数据流。 |
| 典型例子 | “如何进行代码 Code Review 的步骤说明”。 | “连接 GitHub 获取代码仓库内容的 API 接口”。 |
**它们的联系(协同工作):**一个强大的 Agent 往往是 Skills + MCP 的结合。
-
场景:你要让 AI 帮你“重构某个 Python 项目的代码”。
-
MCP 提供能力:通过 MCP Server,AI 获得了读取本地文件、运行 Python 解释器的能力。
-
Skill 提供智慧:通过 Refactor Skill,AI 知道了“先读懂架构,再写测试用例,最后修改代码”的最佳实践流程。
一句话总结:MCP 给了模型“手”,让它能触碰世界;Skills 给了模型“脑回路”,教它如何灵巧地使用这双手。
02 什么是Claude Skills
什么是 Claude Skills?
**定义:**Claude Skills 是 Anthropic 在其生态系统(如 Claude Desktop App 或 Claude Code)中对“Skills”概念的具体落地实现。
它不仅仅是一个抽象概念,而是一个具体的功能特性。开发者可以通过编写简单的 Markdown 文件 或 脚本,将其放入特定的配置文件夹中。Claude 在运行时会自动读取这些文件,从而瞬间“学会”特定的工作流。
Claude Skills 的特点:
-
轻量级:不需要像微调模型那样麻烦,写个
.md文件就能生效。 -
上下文感知:它能动态地被加载到对话中。
-
可移植:作为一个文件,很容易在开发者社区中分享(比如分享一个“自动写 Git Commit Message”的 Skill)。
03 Claude Code安装流程
知道了原理,我们直接进入实战。在终端中安装 Claude Code 其实非常简单,只需要一行命令。
注:由于每个人的电脑环境(Windows/Mac)不同,具体的 Node.js 环境搭建大家可以参考网络上的详细教程,这里只介绍核心步骤。
1. 核心安装命令
无论你是 Windows 还是 Mac 用户,在配置好环境后,只需要在终端执行以下命令即可完成安装:
npm install -g @anthropic-ai/claude-code
2. 关键配置:API 中转站的使用(避坑指南)
这里重点说一下鉴权配置。
官方默认的登录方式是跳转浏览器授权,但众所周知,由于 Claude 对账号的风控极为严格(极其容易封号),且对网络环境要求极高。
为了稳定使用,我没有使用官方账号直连,而是选择了购买中转站的 API Key 进行配置。
这样做的好处显而易见:
-
更稳定:不用担心号突然没了。
-
按量付费:通过中转站管理额度,通过 API Key 的方式让 Claude Code 在终端运行。
通过配置好 API Key 和 Base URL 后,我们就可以绕过复杂的官方登录验证,直接让终端连上“大脑”。
3. 运行成功展示
配置完成后,在终端输入 claude,看到如下界面,就说明这一步已经大功告成了!



(如图所示,终端已经成功初始化,并且可以进行交互)
04 Hello World —— 纯指令 Skill
这是最基础的形式,本质上是把一段 Prompt(提示词)变成了一个系统级的命令。
文件结构:在 .claude/skills 目录下创建一个文件夹(文件夹名字即 Skill 名字)。
.claude/
└── skills/
└── hello/
└── SKILL.md # 唯一的必需文件
**SKILL.md 的内容:**这个文件由两部分组成:
-
YAML 头(Frontmatter):位于
---之间,告诉系统这个 Skill 叫什么,以及什么情况下触发(Description 至关重要)。 -
Markdown 指令:告诉 Claude 具体怎么做。
---
name: hello
description: 当用户打招呼或者想要测试 skill 功能是否正常时使用。
---
# Hello Skill
## Instructions
当用户调用此 skill 时:
1. 热情地向用户打招呼 "Hello World! 🌍"
2. 告诉用户这是一个通过 Claude Skills 自定义的功能。
3. 加一个有趣的 emoji。
-
触发机制:用户不需要每次都输
/hello。只要用户的提问匹配了description里的描述(比如问“你有哪些功能?”或者“打个招呼”),Claude 就会智能判断并自动挂载这个 Skill。 -
零代码:这个阶段不需要写任何 Python 或 Bash 代码,纯靠自然语言编程。

05 引入“外挂” —— 添加可执行文件
除了让 Claude “说话”,我们还可以让它“做事”。这就是 Skill 强大的地方:它可以携带脚本。
文件结构:我们通常会建立一个 scripts 子目录来保持整洁。
.claude/skills/
└── date-calculator/
├── SKILL.md
└── scripts/
└── calc_days.py # 具体的 Python 脚本
SKILL.md 的变化:在指令中,我们需要明确告诉 Claude “去运行这个脚本”,而不是自己瞎猜。
---
name: date-calculator
description: 计算两个日期之间的天数差。
---
# Date Calculator
## Instructions
当用户想要计算日期差时:
1. 提取用户提供的起始日期和结束日期。
2. 运行以下脚本来获得精确结果(不要自己计算):
```bash
python scripts/calc_days.py <start_date> <end_date>
脚本文件(calc_days.py):
#!/usr/bin/env python3
"""
计算两个日期之间的天数差的脚本。
用法: python calc_days.py <start_date> <end_date>
日期格式: YYYY-MM-DD
"""
import sys
from datetime import datetime
def calculate_days_between(start_date_str, end_date_str):
"""
计算两个日期之间的天数差。
Args:
start_date_str: 起始日期字符串 (YYYY-MM-DD)
end_date_str: 结束日期字符串 (YYYY-MM-DD)
Returns:
天数差(绝对值)
"""
try:
start_date = datetime.strptime(start_date_str, "%Y-%m-%d")
end_date = datetime.strptime(end_date_str, "%Y-%m-%d")
days_difference = abs((end_date - start_date).days)
return days_difference
except ValueError as e:
print(f"错误: 日期格式不正确。请使用 YYYY-MM-DD 格式。")
print(f"详细错误: {e}")
sys.exit(1)
def main():
if len(sys.argv) != 3:
print("用法: python calc_days.py <start_date> <end_date>")
print("日期格式: YYYY-MM-DD")
print("示例: python calc_days.py 2024-01-01 2024-12-31")
sys.exit(1)
start_date = sys.argv[1]
end_date = sys.argv[2]
days = calculate_days_between(start_date, end_date)
print(f"从 {start_date} 到 {end_date} 相差 {days} 天")
if __name__ == "__main__":
main()
计算今天(2026年1月26日)到春节还有多少天,回答很准确:

学会了让 Claude 运行简单的 Python 脚本后,我们不仅能算日期,还能让它参与到核心的代码开发中。接下来,我们将用 Skills 构建一个拥有高级工程师思维的Agent。
06 项目实操-“架构师”、资深开发Skill
在复杂的 AI Agent 开发中,复现能力(或称"迁移学习能力")是区分初级工程师和高级工程师的关键。初级工程师只会从零写代码,而高级工程师懂得:
-
📖 阅读现有架构 - 理解项目的设计思想和技术选型
-
🎯 遵循设计模式 - 确保新代码与现有框架一致
-
🔄 复用到新场景 - 快速将成熟框架应用到新项目
这正是Claude AI 工程师 Agent 应该具备的核心能力。为了实现这一点,我们使用 Claude Code 的 Skills 实现一套自定义的、可复用的工程实践规范。
1.Skills 文件结构概览
.claude/skills/
├── understand/ # 架构师 Skill
│ ├── SKILL.md # Skill 定义
│ └── template.md # 架构文档模板
└── feature/ # 资深开发 Skill
└── SKILL.md # Skill 定义
核心理念:先理解(Understand)再实现(Feature),确保代码变更始终遵循已确立的架构规范。
- Understand Skill - 架构师的眼睛
作用:深度分析项目架构,生成结构化的架构文档。
运行命令:/understand

Skill 定义:深度分析当前项目的架构、Agent 配置及 MCP 集成,生成中文架构文档。
执行流程:
- 信息搜集(侦探模式)
-
浏览项目文件结构和依赖关系。
-
使用 grep 寻找关键字:
mcp,LangChain,agent,middleware等。 -
提取核心配置和设计决策。
- 撰写报告(中文输出)
-
基于项目实际代码生成架构文档。
-
必须引用真实代码片段和行号(拒绝幻觉)。
-
包含:技术栈、系统架构、MCP 集成、中间件机制等。
- 强制存档
-
自动生成
docs/ARCHITECTURE.md文件。 -
注:这个文件将成为后续所有开发的“宪法”。

输出示例(以当前项目-旅游助手为例):
# 项目架构文档
## 核心技术栈
| 技术 | 版本 | 用途 |
|-----|------|------|
| LangChain | >=1.0.0 | Agent 框架 |
| langchain-mcp-adapters | >=0.0.8 | MCP 工具适配 |
| Qwen | qwen-turbo | AI 推理 |
| Gradio | >=4.1.0 | Web UI |
## 系统架构
┌─────────────────────┐
│ Gradio Web UI │
└──────────┬──────────┘
▼
┌─────────────────────┐
│ Agent 核心层 │ (agent.py)
│ ├─ ChatTongyi │
│ └─ Middleware │ (middleware.py)
└──────────┬──────────┘
▼
┌─────────────────────┐
│ MCP 工具层 │ (tools.py)
│ └─ 高德地图 API │
└─────────────────────┘
3. Feature Skill:资深工程师的手术刀
作用:在 ARCHITECTURE.md 的指导下,安全地实现新功能或优化代码。
运行命令:/feature

Skill 定义:基于 docs/ARCHITECTURE.md 的规范,安全地实现新功能或优化现有代码。
执行流程:
- 加载上下文(必读)
- 优先读取
docs/ARCHITECTURE.md。 - 理解核心技术栈和设计模式。
- 确认代码变更符合现有规范。
- 定位与规划
- 使用 grep 找到相关代码文件。
- 先理解现有逻辑,再制定修改计划。
- 不要直接修改代码,先向用户汇报修改方案。
- 代码实现
-
保持与现有项目的代码风格一致。
-
参考架构文档中的模式示例(如 MCP 工具包装、中间件拦截)。
- 自我验证
-
检查修改是否破坏现有配置结构。
-
确保没有违反架构文档中的设计原则。
最终我们通过Claude Skills 完成了对项目代码的进一步优化,新增了深度思考的思考过程展示
修改结果:

更多推荐




所有评论(0)