大家好,我是子昕,一个干了10年的后端开发,现在在AI编程这条路上边冲边摸索,每天都被新技术追着跑。
Claude Code刚上线的Skills功能,很多人以为是方便重复指令的工具。
不是。
Skills的本质,是给Claude装上“工具包” - 让它能做之前做不到的事。
Skills到底是什么?
先说个例子。
你让Claude处理一个PDF表单:提取字段、填写数据、生成新PDF。Claude能读PDF内容,但填写表单、操作PDF结构这种事,它原生做不到。
装上PDF Skill后,Claude就能:
- 调用pypdf库填写表单
- 合并拆分PDF
- 处理加密文档
- 保留原始格式
这不是“记住指令”,是获得了新能力。
Skills就是把指令、脚本、资源打包成文件夹,让Claude在需要时自动加载使用。
一个Skill包含:
- SKILL.md(必需):告诉Claude这个Skill做什么、怎么用
- scripts/ (可选):Python/JS脚本,执行实际操作
- resources/ (可选):模板文件、参考文档、数据集
和CLAUDE.md有什么区别?
很多人会问:这不就是CLAUDE.md吗?
完全不同。
CLAUDE.md:
- 项目启动时就加载,一直占用上下文
- 告诉Claude“这个项目怎么工作”
- 适合放架构说明、编码规范、环境配置
Skills:
- 按需动态加载,用完就释放
- 告诉Claude“怎么完成某个特定任务”
- 可以包含可执行代码,扩展Claude原本没有的能力
举个实际场景:
你的项目CLAUDE.md里写着:“我们用React + TypeScript,测试用Jest”。
但你创建一个“Excel报表生成”Skill,里面:
- SKILL.md说明如何生成财务报表
- scripts/generate_excel.py调用openpyxl生成复杂公式
- templates/report_template.xlsx是模板文件
Claude遇到“生成Excel报表”任务时,会自动加载这个Skill,运行脚本,而不是让模型逐token生成代码。
关键差异:Skills能执行代码,CLAUDE.md只是上下文。
为什么需要Skills?
Skills解决的核心问题是:让通用AI获得专用能力,而不需要重新训练模型。
1. 扩展Claude做不到的事
Claude原生能力有限:
- 不能直接操作Excel公式
- 不能填写PDF表单
- 不能生成复杂的PPT动画
- 不能调用特定库的API
官方提供的文档Skills(Excel/PPT/Word/PDF),就是通过脚本调用openpyxl、python-pptx等库,实现Claude原本做不到的精确操作。
2. 代码执行比token生成高效
比如你要对100行数据排序。
没Skills:Claude生成排序代码(消耗tokens),可能还有bug,每次都要重新生成。
有Skills:scripts/sort.py直接执行,快、准、省钱。
Anthropic官方强调:对于确定性任务(排序、数据处理、格式转换),脚本执行比让模型生成代码效率高得多。
3. 封装团队知识
不同于CLAUDE.md的“项目级指令”,Skills是“任务级工具”。
你可以创建:
- 数据分析Skill:包含数据清洗脚本、可视化模板
- API文档生成Skill:按公司格式自动生成OpenAPI文档
- 代码审查Skill:运行自定义linter规则
这些Skills可以跨项目复用,通过插件分享给团队。
怎么创建Skills?
方法一:让Claude帮你创建
Claude内置了“skill-creator”工具,直接说:
帮我创建一个Git提交规范的Skill
方法二:手动创建
一个Skill的标准结构:
file-renamer/
├── SKILL.md (必需)
├── scripts/
│ └── rename.py (可选)
└── templates/
└── rules.json (可选)
SKILL.md格式:
---
name: 批量文件重命名
description: 按规则批量重命名文件。在需要重命名多个文件、整理文件名格式、添加编号前缀时使用。
---
# 批量文件重命名
## 功能
按照用户指定的规则批量重命名文件:
- 添加前缀/后缀
- 数字编号
- 替换特定字符
- 按日期重命名
## 使用方法
1. 用户指定目标目录和规则
2. 运行`python scripts/rename.py`查看预览
3. 确认后执行重命名
## 脚本说明
scripts/rename.py参数:
- --dir: 目标目录
- --pattern: 重命名模式
- --preview: 仅预览不执行
## 示例
添加日期前缀:
python scripts/rename.py --dir ./photos --pattern "YYYYMMDD_{name}"
批量编号:
python scripts/rename.py --dir ./docs --pattern "{001}_{name}"
关键点:
- name:64字符内,清晰简洁
- description:说清楚“做什么”+“什么时候用”,Claude靠这个判断是否触发
- 正文:清晰步骤+实际例子+脚本说明
一个实战案例:爬虫数据处理
假设你经常需要处理爬虫抓取的数据:清洗、去重、导出Excel。
创建.claude/skills/data-processor/SKILL.md:
---
name: 爬虫数据处理
description: 清洗爬虫数据并生成Excel报表。处理JSON/CSV格式的爬虫数据,去重、格式化、生成统计报表时使用。
---
# 爬虫数据处理
## 处理流程
1. 读取JSON/CSV格式的原始数据
2. 数据清洗:去重、填充缺失值、格式标准化
3. 统计分析:计数、去重率、异常检测
4. 生成Excel报表(包含数据和图表)
## 脚本功能
### scripts/process.py
主处理脚本:
```python
import pandas as pd
from openpyxl import Workbook
from openpyxl.chart import BarChart
def clean_data(df):
# 去重
df = df.drop_duplicates()
# 填充缺失值
df = df.fillna('')
# 标准化格式
df['price'] = df['price'].astype(float)
return df
def generate_report(df, output_file):
# 生成Excel
with pd.ExcelWriter(output_file, engine='openpyxl') as writer:
df.to_excel(writer, sheet_name='数据', index=False)
# 添加统计
stats = df.describe()
stats.to_excel(writer, sheet_name='统计')
# 添加图表
wb = writer.book
ws = wb['统计']
chart = BarChart()
# ...图表配置
```
### scripts/dedupe.py
快速去重工具:
```python
import json
def dedupe_json(file_path, key_field):
with open(file_path) as f:
data = json.load(f)
seen = set()
unique_data = []
for item in data:
key = item.get(key_field)
if key and key not in seen:
seen.add(key)
unique_data.append(item)
return unique_data
```
## 使用示例
处理JSON数据:
运行 python scripts/process.py data.json --output report.xlsx
快速去重:
运行 python scripts/dedupe.py data.json --key url
## 输出说明
生成的Excel包含:
- 数据sheet:清洗后的完整数据
- 统计sheet:数量、去重率、价格分布等
- 图表sheet:可视化统计结果
保存后,创建对应的脚本文件。
以后你让Claude“处理这个爬虫数据生成报表”,它会:
- 自动识别需要用“爬虫数据处理”Skill
- 读取SKILL.md了解流程
- 运行scripts/process.py执行清洗
- 生成Excel报表
比每次让Claude写一遍处理代码快多了,而且输出一致。
Skills的三种类型
1. 个人Skills
位置: ~/.claude/skills/
作用范围: 所有项目
适合放: 通用工具(文件处理、数据转换、格式化等)
2. 项目Skills
位置: 项目根目录.claude/skills/
作用范围: 当前项目
适合放: 项目特定的工具(部署脚本、测试数据生成、项目文档生成)
可以提交git,团队共享。
3. 插件Skills
安装方式: 通过Claude Code插件
比如官方文档处理Skills:
/plugin install document-skills@anthropic-agent-skills
安装后就有PDF/Excel/PPT/Word的高级操作能力。
anthropics/skills仓库还提供了创意设计、Web测试、MCP服务器生成等示例Skills。
如果你不了解Claude Code的插件,可以看我之前的文章:
Claude Code插件系统上线!AI编程的“App Store”时代来了
怎么让Skills生效?
Skills是Claude自动触发的,不需要手动指定。
触发机制
- 启动时,Claude扫描所有Skills的name和description(只占~100 tokens/Skill)
- 你发起任务
- Claude判断需要哪个Skill
- 通过bash命令读取SKILL.md,加载详细内容
- 如果需要,执行scripts里的脚本
- 完成任务后释放
全程自动,你看到的只是最终结果。
Skills没生效怎么办?
问题1: description不够明确
❌ 不好:
description: 处理数据文件
✅ 好:
description: 清洗爬虫JSON/CSV数据并生成Excel报表。处理爬虫数据、需要去重清洗、生成统计报表时使用。包含URL/价格/标题等常见字段的处理。
关键:说清“做什么”+“什么时候用”+“处理什么类型数据”。
问题2: 显式提及
如果Claude没自动触发,直接说:
用爬虫数据处理Skill处理这个文件
问题3: 检查是否已加载
你现在有哪些Skills?
Claude会列出已识别的Skills。
问题4: 代码执行功能未启用
- Claude Code:默认启用
- claude.ai:设置 > 功能 > 启用“代码执行和文件创建”
最佳实践
1. 脚本优先
能用脚本处理的,别让Claude生成代码。
确定性任务(排序、格式转换、数据清洗):写Python/JS脚本
创造性任务(生成文案、代码架构设计):让Claude发挥
2. 保持专注
一个Skill做一件事。
别把“爬虫+清洗+分析+报表+邮件发送”塞一个Skill。
拆开:
web-scraper/:爬虫逻辑data-cleaner/:数据清洗report-generator/:报表生成email-sender/:邮件发送
需要时Claude会自动组合多个Skills。
3. 多放实际例子
SKILL.md里多放真实可运行的例子:
4. 附参考文档
涉及特定库,把关键文档放进去:
references/
├── openpyxl-api.md
└── pandas-cheatsheet.md
在SKILL.md里引用:详细API参考references/openpyxl-api.md
5. 版本管理
Skills会迭代,标注版本:
version: 1.2.0
## 更新日志
### v1.2.0 (2025-10-20)
- 新增支持Excel公式
- 优化大文件处理速度
### v1.1.0 (2025-10-15)
- 添加图表生成功能
解答一个疑虑:上下文会爆吗?
可能有人担心Skills占满上下文窗口。
不会。
Skills用渐进式加载(Progressive Disclosure):启动时只加载元数据(~100 tokens),需要时才读SKILL.md(5k tokens内),脚本直接执行不占上下文。
你装20个Skills,启动只占2000 tokens。真正用到某个Skill,才加载详细内容,用完释放。
Claude Code的上下文窗口是200k tokens,Skills的渐进式加载让你可以装几十个Skills不用担心。
可以用/context命令查看上下文使用情况,随时监控。
安全提醒
Skills能执行代码,务必小心:
✅ 只用自己创建或官方的Skills
✅ 从GitHub/插件安装前先看代码
❌ 别用来路不明的Skills
❌ Skills里别放API密钥
恶意Skill可能读取文件、执行危险命令、泄露信息。
网上下载的Skills,必须先检查SKILL.md和scripts/所有代码。
插件市场现成的Skills
官方Skills
# 文档处理(PDF/Excel/PPT/Word)
/plugin install document-skills@anthropic-agent-skills
# 示例Skills(创意设计、Web测试等)
/plugin install example-skills@anthropic-agent-skills
分享你的Skills
开发了好用的Skills?打包成插件:
- 创建插件仓库,Skills放
skills/目录 - 添加
marketplace.json - 发布到GitHub
- 别人
/plugin install your-skills@your-repo安装
参考anthropics/skills仓库结构。
实际应用场景
前端开发
- 组件脚手架Skill:生成标准化的React/Vue组件
- 图标处理Skill:SVG优化、批量导出不同尺寸
- 打包分析Skill:运行webpack-bundle-analyzer生成报告
数据分析
- 数据清洗Skill:标准化字段、去重、填充缺失值
- 可视化Skill:生成特定风格的图表(公司配色、字体)
- 统计报表Skill:自动生成周报/月报
DevOps
- 日志分析Skill:解析nginx/应用日志,提取关键指标
- 部署检查Skill:验证环境配置、依赖版本
- 性能监控Skill:生成性能报告、标注异常
内容创作
- 图片批处理Skill:压缩、格式转换、添加水印
- 视频剪辑Skill:调用ffmpeg生成预览、提取片段
- 文档转换Skill:Markdown转PDF/Word,保留格式
总结
Skills的核心价值:不是替代CLAUDE.md,而是给Claude装上“工具箱”。
三个关键点:
- 扩展能力:让Claude做原本做不到的事(精确操作Excel、执行复杂脚本、调用特定库)
- 提升效率:确定性任务用脚本执行,比token生成快且准
- 知识复用:封装成模块,跨项目使用,通过插件分享
Skills ≠ 方便的提示词管理工具
Skills = 可组合的AI能力扩展包
建议从简单的开始:文件批处理、数据清洗、格式转换。体验“脚本执行”的高效后,再逐步构建完整工具库。