曾火遍圈的 “氛围感编程”,让很多人误以为大模型开发只是简单拼接口、写 Function Call。
但 Anthropic 官方开源的 Claude Excel Skill,却撕开了大模型工具化落地的真实答案 ——好的大模型技能,从不是堆代码,而是把领域专家的经验,变成可执行的规约与闭环。
这份看似轻量的源码,没有任何花里胡哨的框架,仅凭一份结构精良的说明文档 + 少量配套脚本,就完美实现大模型与 Excel 的高效交互,更把如何打造优质 Claude Skill的底层逻辑讲得明明白白。
核心架构围绕行为规约、反例调教、Token 优化、错误自愈、结果校验五大核心设计,形成从生成到验证的完整工程化链路,成为大模型实体文件交互的绝佳参考。
关键框架


核心目录:
01、在 SKILL.md 中描述“行为规约层”:零公式错误的铁律02、用反例教学:用错误代码“调教”模型03、为了省 Token 的“探针”设计04、错误处理的“反弹机制05、用 LibreOffice + recalc.py 做“结果兜底校验闭环”
节选:
### Zero Formula Errors- Every Excel model MUST be delivered with ZERO formula errors (#REF!, #DIV/0!, #VALUE!, #N/A, #NAME?)### Formula Construction Rules#### Assumptions Placement- Place ALL assumptions in separate assumption cells- Use cell references instead of hardcoded values in formulas- Example: Use =B5*(1+$B$6) instead of =B5*1.05#### Formula Error Prevention- Verify all cell references are correct- Check for off-by-one errors in ranges- Ensure consistent formulas across all projection periods- Test with edge cases (zero values, negative numbers)- Verify no unintended circular references### Formula Verification Checklist- **Test 2-3 sample references**: Verify they pull correct values before building full model- **Row offset**: Excel rows are 1-indexed (DataFrame row 5 = Excel row 6)- **Division by zero**: Check denominators before using `/` in formulas (#DIV/0!)- **Cross-sheet references**: Use correct format (Sheet1!A1) for linking sheets并非简单的文档编写,而是为 Claude 搭建专属领域 DSL(规则语言),将 Excel 专家的最佳实践转化为强约束规则:
把「零公式错误」设为核心准则,让模型生成更审慎、更保守的方案与代码;
以 Checklist 形式明确「假设分离、禁止硬编码」等要求,倒逼模型做专业的 Excel 建模,而非单纯的数值计算;
显式列出行列偏移、交叉表引用等高频坑点,为模型注入行业经验,规避 LLM 易犯的细节失误。
源码:
# ❌ WRONG - Hardcoding Calculated Values# Bad: Calculating in Python and hardcoding resulttotal = df['Sales'].sum()sheet['B10'] = total # Hardcodes 5000# Bad: Computing growth rate in Pythongrowth = (df.iloc[-1]['Revenue'] - df.iloc[0]['Revenue']) / df.iloc[0]['Revenue']sheet['C5'] = growth # Hardcodes 0.15# ✅ CORRECT - Using Excel Formulas# Good: Let Excel calculate the sumsheet['B10'] = '=SUM(B2:B9)'# Good: Growth rate as Excel formulasheet['C5'] = '=(C4-C2)/C2'摒弃抽象的原则说教,用「错误示范 + 正确模板」的对比方式,给模型强信号的行为边界:
贴出完整的错误代码并标注# Bad,清晰界定「什么不能做」,比文字描述更易被 LLM 理解;
提供最优解代码模板,将「Python 写公式字符串、让 Excel 做计算引擎」的专业模式固化,让模型直接复用,从根源规避低效写法。
打破常规 read_excel 全量读取的思维,设计极致克制的 Excel 读取逻辑,兼顾效率与信息完整性:
源码:
# 这是一个 Tool 定义的抽象逻辑def inspect_sheet_head(filepath, sheet_name, n_rows=5): """ Reads the first n_rows of the sheet to understand structure. Crucial: Converts output to Markdown Table for LLM readability. """ df = pd.read_excel(filepath, sheet_name=sheet_name, nrows=n_rows) # 重点:转化为 LLM 最容易理解的 Markdown 格式,且只给表头和前几行 return df.to_markdown(index=False)采用 nrows=5 的探针式读取,仅加载前 5 行数据,用极低的 Token 消耗,让模型快速识别列名、数据格式(日期 / 数字等)核心信息,避免大文件 Token 溢出;
用 to_markdown () 格式化输出,贴合 LLM 训练数据的格式习惯,大幅提升模型对数据的理解准确率,优于 CSV/JSON 格式。
区别于传统程序给开发者看的 Stack Trace 报错,专为 LLM 设计可理解、可行动的错误反馈逻辑:
源码:
try: result = exec(generated_pandas_code) return resultexcept KeyError as e: # 不只是返回 Error,而是返回“引导性”错误信息 return f"Error: Column {e} not found. Please check column names using `inspect_sheet` and retry."except Exception as e: return f"Execution failed: {str(e)}. Review your code logic."当触发 KeyError 等问题时,工具不只是抛出异常,而是直接给出行动建议(如「建议调用 inspect_sheet 接口核查后重试」);
让报错信息本身成为 Prompt,赋予模型自我修复能力,实现错误后的自主调整与重试,而非直接终止流程。
示例:
python recalc.py output.xlsx 30The script:- Automatically sets up LibreOffice macro on first run- Recalculates all formulas in all sheets- Scans ALL cells for Excel errors (#REF!, #DIV/0!, etc.)- Returns JSON with detailed error locations and countsExample output:{ "status": "success", // or "errors_found" "total_errors": 0, // Total error count "total_formulas": 42, "error_summary": { // Only present if errors found "#REF!": { "count": 2, "locations": [ "Sheet1!B5", "Sheet1!C10" ] } }}将 Skill 从「代码生成工具」升级为「可验证的工程化流程」,实现生成 - 校验 - 修正的完整链路:
针对 openpyxl 仅写公式不计算的问题,用 recalc.py 调用 LibreOffice 引擎完成公式自动重算,还原 Excel 真实计算结果;
搭建 Claude 自主修正流程:生成 Excel→调用校验脚本→读取错误报告→定位问题单元格→重新修复公式,形成无人干预的自愈闭环。
这份 Excel Skill 的设计思路,为所有大模型技能开发提供了可直接复用的底层方法论,核心是 「把专家经验固化为规则,把工程化思维融入交互」:
写 Skill 别只讲「能做什么」,更要明确「不能做什么」,用清晰的禁令界定行为边界;
善用 Checklist 和反例教学,把抽象要求转化为具体的代码 / 操作示例,LLM 对「模式」的敏感度远高于文字说教;
极致关注 Token 效率,设计「预览 / 探针」接口,让 AI 自主判断是否需要全量加载数据,避免资源浪费;
工具报错要「面向 AI 设计」,将异常转化为下一步行动建议,而非冰冷的技术栈信息,赋予模型自愈能力;

引入领域权威校验工具(JSON Schema/TS 编译器 / SQL linter 等),搭建「生成 - 校验 - 修正」的闭环,让 Skill 自带 CI(持续集成)能力;
把领域专家的职业习惯、实操经验,全部显式写进 SKILL.md,而非寄望于模型的「自然理解」,让规则可执行、可落地。
总结与思考
这份 Excel Skill 虽有局限 —— 核心依赖说明文档 + 示例,无复杂代码抽象,智能性仍依托 Claude 本身,更适配专业财务 / 建模场景,需根据轻量需求做裁剪,但它传递的核心理念,却是大模型工具化落地的关键:
优质的 Claude Skill,从来不是靠复杂的框架和代码,而是把领域专家的经验写死成可执行的规约,用外部工具把结果验到无懈可击,让大模型精准复刻专业人士的工作方式。
了解更多:https://www.metachatcn.com#/chat/?ref=TXEBPU