当Claude Code遇到真实项目时,单模型的智能补全就像给木匠发了一把超锋利的刀——锋利是锋利,但造家具还得靠手眼协同、工具配合和工艺流程。去年我用Claude Code重构公司内部监控系统,踩过无数坑,最终在32个Skills和8个MCP服务中提炼出一套可复用的工作流。今天不谈怎么安装插件,来说说这些工具在真实需求中是如何协同作战的。
核心观点:Skills解决「会做什么」,MCP解决「能用什么」。当你面对「把这个Excel报表自动化」的需求时,Skills告诉你怎么写Python脚本处理数据,MCP让你直接读取公司的财务数据库——二者缺一不可。
场景还原:需求其实是「做周报太痛苦」
上季度财务把周报交付时间压到周一早上9点,意味着周日晚我得花3小时:从SAP导出数据→在Excel做同环比计算→画趋势图→写文字分析→发给领导。这个过程有四个痛点:
- 数据导出靠人工点击,经常漏字段
- Excel公式复制错位导致计算错误
- 趋势图样式要手动调整,费时不说还 ugly
- 文字分析要反复推敲,怕说错让领导不满
当时我想:能否用AI把这整条链路打通?这正是Skills和MCP大显神通的时候——前者处理「怎么做」,后者搞定「能用什么」。
第一拨:让数据自己走进来(MCP的价值)
最先卡住的是数据获取。公司SAP有API但需要OAuth2认证,手写token刷新逻辑太麻烦。这时候我发现财务部门已经搭建了一个内部MCP服务,专门包装了SAP的数据导出功能。
配置这个MCP只要三步:
# 在Claude Code设置中添加MCP服务
{
"name": "finance-sap",
"command": "npx",
"args": ["-y", "@company/sap-mcp-server"],
"env": {
"SAP_ENDPOINT": "https://sap.internal.company.com",
"CLIENT_ID": "${env:SAP_CLIENT_ID}",
"CLIENT_SECRET": "${env:SAP_CLIENT_SECRET}"
}
}
有了这个MCP,我在对话框里直接说:「帮我把上周五的销售数据导出出来,需要包含地区、产品线和金额字段」。后台自动走OAuth2流程,返回结构化JSON——比我自己点鼠标快十倍,而且零错误。
踩坑记录:第一次配置时老超时,查了MCP服务日志才发现是公司网络策略阻断了外部npm包的下载。改成用内部镜像源就解决了:在MCP服务启动脚本里加了 --registry https://npm.internal.company.com。
第二拨:让数学自己算对(Skills的用武之地)
拿到数据后需要计算同环比。这里用到了我个人实测最有用的3个Skills:
data-analysis:自动生成pandas计算代码formula-validator:检测Excel公式错误chart-styler:生成公司标准样式的matplotlib配置
真正让我眼前一亮的是data-analysis Skill。我把导出的JSON粘进对话框,说:「计算每个产品线的环比增长率,金额为负时显示为红色」。它直接返回:
import pandas as pd
import numpy as np
# 计算环比增长率
df['环比增长率'] = (df['本周金额'] - df['上周金额']) / df['上周金额'] * 100
# 处理除零情况
df['环比增长率'] = df['环比增长率'].replace([np.inf, -np.inf], np.nan)
# 设置负值为红色(在Excel中通过条件格式实现)
df['增长率颜色'] = df['环比增长率'].apply(lambda x: 'red' if x < 0 else 'black')
个人实测数据:手写这段代码要8分钟(包括查pandas文档),Skill生成+验证只用了90秒。更重要的是,它自动处理了我容易忽略的除零情况——上周有新产品线金额为0,这正是导致历史上两次周报错误的根源。
第三拨:让图自己画好看(全链路闭环)
有了数据和计算结果,接下来是生成趋势图。这里用到了另一个组合拳:
- MCP服务:
chart-template提供公司标准的图表模板 - Skill:
visualization-best-practices给出配色和标注建议
我对Claude Code说:「用公司标准模板画折线图,X轴是日期,Y轴是金额,不同产品线用不同颜色,重点标注环比增长超过20%的点」。后台首先走MCP拿到模板框架,然后Skills填充具体数据和样式:
import matplotlib.pyplot as plt
from finance_mcp import get_chart_template
# 获取公司标准模板
template = get_chart_template("finance_line_chart")
# 应用数据
plt.figure(figsize=template.figsize)
for product_line in df['产品线'].unique():
subset = df[df['产品线'] == product_line]
plt.plot(subset['日期'], subset['金额'],
label=product_line,
color=template.colors.get(product_line, '#333333'),
linewidth=template.linewidth)
# 标注重点点
for idx, row in df.iterrows():
if abs(row['环比增长率']) > 20:
plt.annotate(f"{row['环比增长率']:.1f}%",
(row['日期'], row['金额']),
xytext=(5, 5), textcoords='offset points',
bbox=dict(boxstyle='round,pad=0.2', fc='yellow', alpha=0.7),
arrowprops=dict(arrowstyle='->', connectionstyle='arc3,rad=0'))
plt.title(template.title)
plt.xlabel(template.xlabel)
plt.ylabel(template.ylabel)
plt.legend()
plt.grid(True, alpha=template.grid_alpha)
plt.tight_layout()
这里发生了什么?MCP解决了「能用什么」——它提供了财务部门审批过的图表模板(颜色、字体、线宽都符合公司规范);Skills解决了「会做什么」——它知道怎么在模板基础上加上数据特有的标注逻辑。
成本分析:自己找模板要翻内部Wiki(平均15分钟),还不一定拿到最新版;用MCP秒级获取,而且更新时自动同步。Skills省掉了查matplotlib文档的时间(我 лично 每次都要查annotate参数),更重要的是避免了样式不符合规范被设计师打回的风险。
第四拨:让文字自己写连贯(意想不到的价值)
最后是写文字分析。我本来以为这部分AI帮不了大忙,但尝试了narrative-writer Skill后改变了看法。我说:「根据数据分析结果,写一段150字的周报要点,突出华东地区异常增长和西北地区下降的原因」。它返回:
本周华东地区销售额环比增长23.7%,主要得益于新产品线A的放量;西北地区下降8.2%,主要因渠道B库存调整导致暂时断货。建议加快华东生产节奏,同时协调西北渠道库存补货。
震惊点:它不仅总结了数据,还给出了「建议」,而且建议是基于我之前在对话中提到的公司策略(「加快生产节奏」是去年Q3定下的)。这说明Skill在工作时会读取对话历史——这正是场景化价值的体现:工具理解你的上下文,而不仅仅是处理当前输入。
联动时刻:一个完整工作流的内部视角
真正让我印象深刻不是单个工具多强,而是它们怎么在一次对话中自然串联。看看这个实际发生的交互片段(已脱敏):
我:帮我生成上周的销售周报数据
Claude Code:[调用finance-sap MCP] 已导出数据,包含12个产品线,总金额8.42万元
我:计算同环比,重点看华东和西北地区
Claude Code:[使用data-analysis Skill] 华东增长23.7%,西北下降8.2%
我:生成趋势图,用公司标准模板
Claude Code:[调用chart-template MCP + visualization-best-practices Skill] 图表已生成,保存为chart_20260524.png
我:写一段分析文字,突出异常原因
Claude Code:[使用narrative-writer Skill] 分析文本:本周华东地区…
我:把所有内容做成一份PPT发给财务
Claude Code:[调用office-mcp MCP] 已通过企业微信发送至财务群,文件名:销售周报_20260524.pptx
整个过程不到90秒,中间没有切换窗口,没有复制粘贴,没有格式调整。MCP处理了所有与外部系统的交互(数据库、文件服务器、通知渠道);Skills处理了所有需要领域知识的计算和生成任务;而我只需要在自然语言对话中提出需求。
为什么这个组合比单独用任何一个都强
-
防止幻觉:MCP提供了真实可验证的数据源,避免了Skills凭空生成「看似正确但其实错」的代码。比如如果没有SAP MCP,data-analysis Skill可能会根据常见趋势编造数据——但有了MCP,它只能处理真实导出的数字。
-
降低认知负荷:我不需要记住SAP API的端点、matplotlib的样式参数或财务报表的写作模板。这些都被封装在了MCP和Skills里,我的工作变成了「描述需求」而非「查文档」。
-
可追溯性:每一步都有明确的工具来源。当领导问「这个增长率怎么算的」时,我可以直接说:「是data-analysis Skill基于SAP导出的真实数据计算的」,而不是「我自己算的」。
-
团队共享:我配置好的MCP和Skills可以导出分享。新来的同事直接导入我的配置就能用上同样的能力,而不需要重新踩那些数据接口和样式规范的坑。
该怎么做:我的个人实践清单
如果你也想构建这样的工作流,建议按这个顺序进行:
- 先装MCP后装Skills:MCP解决数据来源和系统集成,是基础。没有可用的数据源,Skills再强也只能玩玩具例子。
- 选8个MCP比选32个Skills更重要:因为MCP决定了你能触及什么系统。我个人必装的有:内部数据库、文件存储、通知渠道(企业微信/邮件)、文档模板库、代码仓库、监控平台、日志系统和权限管理。
- Skills要场景化:不要追求数量,要追求覆盖你常见场景。比如做数据分析就装
data-analysis、chart-styler、narrative-writer和report-formatter四件套。 - 建自己的Skill库:我把自己常用的提示词模板做成了Skill,比如
finance-weekly-report专门包装了上述整个流程——现在新同事只要说「生成周报」一条指令就能完成全部工作。
尾声:工具最终要消失在工作流里
真理也许在于:当你不再思考「该用什么工具」,而是直接说「我想要什么结果」的时候,AI助手才真正成为你的延伸。
上周五晚上8点半,我躺在沙发上刷手机,忽然想到上周的数据漏看了一个维度。睡意朦胧中,我对着手机说:把漏掉的维度补上,重新生成周报。明天早上8点,财务群里已经有了更新后的报表——我连电脑都没打开。
这就是我要的闭环:需求在脑子里闪现,结果在对应地方出现,中间我不需要做任何额外的动作。Skills和MCP不是让我变成更好的工具使用者,而是让我在工具面前变得更像一个人——专注于思考什么问题值得解决,而不是怎么用工具去解决它。