解锁Claude新高度:10分钟教你定制一个数据分析Skill
先坦白一下,我以前是个“AI指令复读机”。
每次要分析数据,都得跟Claude说一遍:“你是数据分析专家,请帮我分析这个CSV,先做描述性统计,再看分布,最后给出洞察,输出格式用Markdown表格……”翻来覆去,比念咒还累。
直到我发现Skill这个功能,才算是彻底解脱了。今天我用一个真实的例子——定制一个专门处理销售数据的分析Skill,带你走一遍从零到一的全过程。别担心,全程不需要写什么复杂代码,跟着做,10分钟就能跑通。
第一步:先定一个小目标
我要做的这个Skill,功能很明确:当我把一个销售CSV文件丢给Claude,它能自动完成以下操作:
读取CSV,看看都有哪些列
自动识别数字列和分类列
输出描述性统计(均值、中位数、最大最小值)
如果是时间序列,自动按月份聚合
用文字总结关键发现
最重要的是,这些步骤我再也不用手动告诉它了,丢文件说“分析一下”就行。
第二步:搭架子——Skill文件夹
在本地建一个文件夹,名字叫sales-analyst。注意一定要用小写+连字符,别用下划线或空格。
里面放两个文件:
SKILL.md —— 这是Skill的灵魂,全是大写
analyze.py —— 一个简单的Python脚本,用来处理数据(可选,但我建议加上,让分析更精准)
目录结构:
sales-analyst/
├── SKILL.md
└── analyze.py
第三步:写SKILL.md——教Claude怎么干活
打开SKILL.md,粘贴下面这段。我会在注释里解释每一块是干什么的。
name:sales-analyst
description:专业销售数据分析助手。当用户上传CSV文件并提到“分析”、“销售”、“数据”时自动激活。
角色
你是一名资深数据分析师,擅长用Python处理销售数据,并输出清晰的商业洞察。
核心任务
当用户上传CSV文件并请求分析时,按以下步骤执行:
1.数据概览:先运行pythonanalyze.py--preview<文件路径>,获取前5行、列名、数据类型。
2.描述性统计:对数字列计算count、mean、std、min、25%、50%、75%、max。
3.时间分析:如果检测到日期列(如order_date),按月份聚合销售额,输出趋势。
4.洞察总结:用3-5句话总结关键发现,包括最高/最低点、异常值、增长趋势。
输出格式
必须使用Markdown,结构如下:
-数据概览(表格)
-描述性统计(表格)
-时间趋势(文字+简单图表,用文字模拟)
-核心洞察(bulletpoints)
注意事项
-如果CSV太大,只取前1000行做演示,并提醒用户。
-如果脚本执行报错,把错误信息告诉用户,不要猜测原因。
-不要输出原始Python代码,只输出分析结果。
这样写的好处是:Claude读到这份指令后,就会严格按照你设定的流程来,而不是自己乱发挥。
第四步:写分析脚本——让Claude有工具可用
analyze.py 不需要太复杂,但要有几个关键功能。我写了一个简单版本,你可以直接复制:
import sys
import pandas as pd
import argparse
def preview_csv(filepath):
"""快速预览CSV信息"""
df = pd.read_csv(filepath, nrows=5)
print("列名:", list(df.columns))
print("数据类型:", df.dtypes.to_dict())
print("\n前5行数据:")
print(df.to_string())
def describe_numeric(filepath):
"""对数值列做描述性统计"""
df = pd.read_csv(filepath)
numeric_cols = df.select_dtypes(include=['number']).columns
if len(numeric_cols) == 0:
print("未找到数值列")
return
stats = df[numeric_cols].describe().round(2)
print(stats.to_markdown())
def monthly_trend(filepath, date_col='order_date', value_col='sales'):
"""按月聚合销售额(假设有日期列)"""
df = pd.read_csv(filepath)
try:
df[date_col] = pd.to_datetime(df[date_col])
df['month'] = df[date_col].dt.to_period('M')
monthly = df.groupby('month')[value_col].sum().reset_index()
print("月份 | 总销售额")
print("---|---")
for _, row in monthly.iterrows():
print(f"{row['month']} | {row[value_col]:,.0f}")
except Exception as e:
print(f"无法进行时间分析: {e}")
if name == "main":
parser = argparse.ArgumentParser()
parser.add_argument("--preview", help="预览CSV文件")
parser.add_argument("--describe", help="对指定CSV做描述统计")
parser.add_argument("--trend", help="分析月度趋势", nargs='?', const='')
args = parser.parse_args()
if args.preview:
preview_csv(args.preview)
elif args.describe:
describe_numeric(args.describe)
elif args.trend:
monthly_trend(args.trend)
else:
print("请指定参数: --preview, --describe, 或 --trend")
注意:这个脚本依赖pandas和argparse,如果你在Claude Code里运行,需要先确保环境有这些包。或者你也可以让Claude在执行前帮你安装:pip install pandas。
第五步:把Skill喂给Claude
有两种方式,我推荐第一种:
方式一:Project法(一劳永逸)
在Claude里创建一个新Project(比如叫“数据分析助手”)
把sales-analyst文件夹拖进Project的“Knowledge”区域
在System Prompt里写一句:“请激活sales-analyst技能,严格按照SKILL.md执行。”
以后只要在这个Project里对话,Claude就会自动加载这个Skill。
方式二:临时上传法
在普通对话窗口上传SKILL.md和analyze.py
然后说:“请加载这个数据分析Skill”
上传一个测试CSV文件,说“分析一下”
人工智能技术学习交流群
伙伴们,对AI测试、大模型评测、质量保障感兴趣吗?我们建了一个 「人工智能测试开发交流群」,专门用来探讨相关技术、分享资料、互通有无。无论你是正在实践还是好奇探索,都欢迎扫码加入,一起抱团成长!期待与你交流!👇

第六步:测试——看看效果
我随手造了一个销售数据sales.csv,列包括:order_date, product, sales, quantity。内容类似这样:
order_date,product,sales,quantity
2025-01-05,笔记本,1200,2
2025-01-12,鼠标,350,5
2025-02-03,键盘,890,1
...
把文件发给Claude,只说了一句:“分析这个销售数据。”
Claude按照Skill的流程,先运行analyze.py --preview sales.csv获取概览,然后对sales和quantity做了描述统计,接着发现日期列,自动做了月度聚合,最后给出洞察。
输出大概是这样的:
数据概览
列名
类型
order_date
object
product
object
sales
int64
quantity
int64
描述性统计
统计量
sales
quantity
count
150
150
mean
876.5
3.2
std
342.1
1.8
min
120
1
25%
450
2
50%
780
3
75%
1150
4
max
2500
10
月度趋势
月份
总销售额
2025-01
24,500
2025-02
31,200
2025-03
28,900
核心洞察
2月份销售额最高,达到31,200,可能是春节促销带动
鼠标产品销量最大,但客单价低;笔记本客单价高但销量少
3月份销量略有回落,建议关注库存
看到了吗?全程我只说了一句话,其他都是Skill自动完成的。
第七步:优化——让Skill更“懂你”
跑通之后,你肯定会想让它更符合自己的需求。这里有几个优化方向:
增加更多分析维度:比如在SKILL.md里加上“如果有地区字段,自动做地区排名”。Claude会根据你的要求,在执行时调用脚本的不同参数。
让脚本更智能:比如自动识别哪一列是销售额、哪一列是日期,不需要硬编码order_date和sales。可以在脚本里加入检测逻辑:寻找包含“date”的列名、包含“sales”的列名。
输出定制化:如果你需要把分析结果发邮件或者生成PPT,可以在SKILL.md里加一句:“分析结束后,询问用户是否生成PDF报告。”然后调用另一个脚本。
处理异常:如果CSV格式不对,或者缺少关键列,让Claude用友好语言提示用户,而不是抛出堆栈错误。
写在最后
从开始创建到第一次运行,你猜我花了多久?不到十分钟。当然,第一次可能要多花几分钟理解结构,但一旦上手,后面再创建其他Skill就快多了。
现在,我每天面对不同的数据文件,再也不用重复解释流程了。一句“分析一下”,Claude自动干活,我喝着咖啡等结果就好。
Skill这个功能,本质上就是把你的“个人经验”固化成AI可以执行的“程序”。你越了解自己的业务,做出来的Skill就越强大。
如果你在做的过程中遇到什么问题,比如脚本权限、路径错误、或者Claude就是不触发Skill,欢迎留言。我把踩过的坑都写在脑子里了,随时可以分享。
开始你的第一个数据分析Skill吧,10分钟就够了。
推荐学习
Ai自动化智能体与工作流平台公开课, 掌握自动化与AI智能体,轻松实现效率翻倍。
扫码进群,报名学习。

关于我们
霍格沃兹测试开发学社,隶属于 测吧(北京)科技有限公司,是一个面向软件测试爱好者的技术交流社区。
学社围绕现代软件测试工程体系展开,内容涵盖软件测试入门、自动化测试、性能测试、接口测试、测试开发、全栈测试,以及人工智能测试与 AI 在测试工程中的应用实践。
我们关注测试工程能力的系统化建设,包括 Python 自动化测试、Java 自动化测试、Web 与 App 自动化、持续集成与质量体系建设,同时探索 AI 驱动的测试设计、用例生成、自动化执行与质量分析方法,沉淀可复用、可落地的测试开发工程经验。
在技术社区与工程实践之外,学社还参与测试工程人才培养体系建设,面向高校提供测试实训平台与实践支持,组织开展 “火焰杯” 软件测试相关技术赛事,并探索以能力为导向的人才培养模式,包括高校学员先学习、就业后付款的实践路径。
同时,学社结合真实行业需求,为在职测试工程师与高潜学员提供名企大厂 1v1 私教服务,用于个性化能力提升与工程实践指导。

浙公网安备 33010602011771号