Claude Skills 本质上是一种 “可复用、可配置的能力封装” ,让 Claude 在特定场景下表现得更像一个专用 Agent / 工具人,而不是每次都从零开始对话。
下面从 是什么 → 怎么工作的 → 和普通 Prompt / Tool 的区别 → 一个工作流示例 来讲清楚。
一、Claude Skills 是什么?
可以把 Claude Skill 理解为:
Prompt + 规则 +(可选)工具权限 + 行为约束 的组合体
它的目标是:
- 固定 Claude 的 角色
- 固定 输入输出格式
- 固定 行为边界
- 在某个任务上 稳定地产生一致结果
典型用途:
- 代码审查
- PR 总结
- 法律条款检查
- 文档格式化
- 数据分析助手
- 内部 SOP 执行器
二、Claude Skills 是如何工作的(核心机制)
从系统角度,Claude Skills 的运行流程可以抽象成 5 步:
1️⃣ Skill 定义(静态配置)
一个 Skill 通常包含:
- 系统角色(System Prompt)
- 任务目标
- 输入规范
- 输出规范
- 行为约束(Do / Don’t)
- 可调用的工具(如果有)
示例(概念化):
Skill: Code Reviewer
你是一个资深后端工程师
目标:找出代码中的风险和可维护性问题
输入:Git diff
输出:Markdown 表格,包含 issue / severity / suggestion
禁止:重写整段代码
这一步相当于 “冻结 Prompt”
2️⃣ 用户调用 Skill(而不是裸对话)
当用户使用 Skill 时:
- 用户输入 被当作“任务输入”
- 而不是自由聊天
Claude 实际收到的是:
[System]
<Skill 的完整定义>
[User]
<你的输入>
👉 这就是为什么 Skill 的 稳定性远高于普通对话
3️⃣ Skill 级别的上下文隔离
Skill 通常具备:
- 独立上下文
- 不继承闲聊历史
- 不被用户随意“带跑偏”
这点对企业场景非常重要,例如:
- 不被 prompt injection 轻易破坏
- 不会突然变成“陪聊模式”
4️⃣(可选)工具调用受 Skill 限制
如果 Skill 允许工具(如代码执行、文件读取):
- Claude 只能用 Skill 授权的工具
- 不能临时“自由发挥”
Skill A:只能读 CSV
Skill B:只能写 Markdown
Skill C:可以访问内部 API
本质是 Tool 权限沙箱
5️⃣ 强制输出结构 & 后处理
很多 Skill 会:
- 强制 JSON / Markdown / Table
- 方便下游系统消费
例如:
{
"risk_level": "high",
"issues": [
{
"line": 42,
"type": "security",
"description": "SQL 注入风险"
}
]
}
这一步使 Claude 可被自动化系统可靠集成
三、Claude Skills vs 普通 Prompt 的区别
| 维度 | 普通对话 Prompt | Claude Skill |
|---|---|---|
| 稳定性 | ❌ 易漂移 | ✅ 高一致性 |
| 可复用 | ❌ 每次重写 | ✅ 一次定义 |
| 安全性 | ❌ 易被绕 | ✅ 有边界 |
| 工具权限 | ❌ 混乱 | ✅ 精确控制 |
| 适合场景 | 探索 / 讨论 | 生产 / 自动化 |
一句话总结:
Prompt 是“临时指令”,Skill 是“产品级能力”
四、一个完整的 Skill 工作示例
🎯 场景:PR 自动审查 Skill
Skill 定义
角色:Staff Engineer
输入:Git diff
输出:审查表格
规则:
- 不评价代码风格
- 只关注风险 / 性能 / 可维护性
用户输入
- const sql = "SELECT * FROM users WHERE id = " + userId
+ const sql = `SELECT * FROM users WHERE id = ${userId}`
Claude 输出(被 Skill 约束)
| Issue | Severity | Suggestion |
|------|---------|------------|
| SQL 注入风险 | High | 使用参数化查询 |
⚠️ Claude 不会:
- 给你讲 SQL 基础
- 重写整个模块
- 闲聊“最佳实践历史”
五、和你之前关心的 Agent / CrewAI 的关系
结合你之前问过的内容,可以这样对齐理解:
- Claude Skill ≈ 单 Agent 的“固化人格 + 能力包”
- CrewAI / LangGraph:多个 Skill(Agent)之间的 协作编排
- A2A:Skill / Agent 之间的通信协议层
👉 Skill 是 最底层的“能力单元”
六、一句话总结
Claude Skills 的本质:
👉 把“好 Prompt + 行为约束 + 工具权限”
👉 封装成一个可复用、可控、可上线的能力模块
参考文档: