
为什么要看这个 Repo
3 月 22 日,MiniMax 开源了一个 Skills 仓库(MIT 协议),开源后数日内 GitHub 星标快速涨到 6K+。仓库里有 14 个 Skill,其中 Office 部分覆盖了 PPT、Excel、Word、PDF 四种格式。
社区的热度我看到了,但转述没意义。我把四个 Office Skill 装进 Claude Code,拆了源码看架构,三种格式各跑了一遍实测(Word 需要 .NET SDK 8.0+,本次基于源码分析)。这篇文章记录两件事:
1. 实测每种格式的生成效果——能用到什么程度,哪些场景翻车 2. 拆源码看 Skill 怎么写才算生产级——从四个 Skill 里提炼出可复用的设计模式
PPT、Excel、PDF 章节的结论来自一手实测,代码和截图均可复现;Word 章节为源码分析,外部用户评价仅作旁证。
安装与环境准备
仓库结构
MiniMax Skills 仓库包含 14 个独立 Skill,Office 相关的有四个:
pptx-generator | |||
minimax-xlsx | |||
minimax-docx | .NET SDK 8.0+ | ||
minimax-pdf |
Claude Code 安装
# 方式一:通过 plugin marketplace 安装(推荐)claude plugin marketplace add https://github.com/MiniMax-AI/skillsclaude plugin install minimax-skills# 如需手动克隆(调试或离线场景)git clone https://github.com/MiniMax-AI/skills.git /tmp/minimax-skills# 然后参考仓库 README 中各平台的集成说明安装后在 Claude Code 的对话中提及 "PPT"、"Excel" 等关键词,如果 Skill 正确加载,agent 会自动按照 SKILL.md 的流程工作。
Cursor 安装
git clone https://github.com/MiniMax-AI/skills.git ~/.cursor/minimax-skills然后在 Cursor 设置中将 skill 目录添加为上下文来源。
依赖检查
四个 Skill 的运行时依赖差异很大:PPT 只需要 Node.js,Excel 只需要 Python,门槛最低。PDF 需要 Python + Node.js + Playwright(会下载 Chromium),体积较大但自动化程度高——make.sh fix 一行命令搞定。Word 是唯一需要 .NET SDK 8.0+ 的,部署成本最高(只装 Runtime 不够,工作流使用 dotnet run 编译运行 C# 脚本)。
# PDF skill 提供了一键环境检查cd /tmp/minimax-skills/skills/minimax-pdfbash scripts/make.sh check # 检查依赖bash scripts/make.sh fix # 自动安装缺失依赖踩坑提醒:如果 ~/.claude/skills 本身是 symlink(比如通过 iCloud 同步),手动安装时生成的 symlink 可能因双层引用导致路径解析失败。遇到 "unknown skill" 错误时,检查 symlink 指向是否正确。
PPT 实战与源码拆解
源码架构
PPTX Skill 的 SKILL.md 有 249 行,外加 5 个 reference 文件(约 1,500 行)。它的核心不是"怎么调 API",而是一套完整的设计系统:
Design System(设计系统):定义了 5 色调色板——primary、secondary、accent、light、bg,所有幻灯片必须从这五个 token 取色。换一套色板,整个 PPT 的风格跟着变。
Slide Taxonomy(页面分类):把幻灯片分成 5 种标准类型——封面(Cover)、目录(TOC)、章节分隔(Section Divider)、内容(Content)、总结(Summary)。每种类型有独立的布局规范和代码模板。
Style Recipes(风格配方):4 种视觉风格——Sharp(直角、高对比)、Soft(微圆角、柔和)、Rounded(大圆角)、Pill(胶囊形)。风格配方控制所有形状的圆角、边框、阴影参数。
Theme Contract(主题契约):强制所有 slide JS 文件接受同一个 theme 对象:
const theme = { primary: "22223b", // 最深色,用于标题 secondary: "4a4e69", // 次深色,用于正文 accent: "9a8c98", // 强调色 light: "c9ada7", // 浅色装饰 bg: "f2e9e4" // 背景色};这个设计的好处是:换风格 = 换一个 theme 对象,所有幻灯片自动适配。
并行生成:SKILL.md 明确标注支持子代理每次最多 5 张幻灯片并行生成,每个子代理拿到 theme 对象和 slide type 规范后独立工作。
QA 流程:生成完毕后必须跑 QA 检查,pitfalls.md 里列了常见错误清单(颜色格式、字体回退、页码徽章遗漏等)。
实测
测试场景:生成 3 页产品介绍 PPT(封面 + 目录 + 架构总览)。



生成结果:布局清晰,风格统一,卡片式架构页视觉效果不错。Theme Contract 确实起了作用——三页之间的配色完全一致,不像没有 Skill 时 AI 会在不同页面随意换色。
技术栈用的是 PptxGenJS 4.0.1,每页一个 JS 文件,最后由 compile.js 合并输出。这个"每页一个文件"的设计天然适合并行生成。
发现
效果好的场景:结构化内容(产品介绍、技术架构、季度汇报)+ 需要品牌统一风格的场景。Design System 的约束让 AI 不会在配色上失控。
效果差的场景:有开发者在实测后指出,对于步骤复杂、顺序敏感的任务,agent 容易漂移——"the agent starts doing whatever it likes"(@accelerate27)。这不是 Skill 本身的问题,而是长序列任务中 LLM 的注意力衰减。PPT 页数越多,后面的页面越容易偏离最初的设计规范。
已知问题:LibreOffice 渲染中文字体时可能出现方块,PowerPoint 和 Keynote 正常。这是字体嵌入的问题,不影响实际使用。
Excel 实战与源码拆解
源码架构
XLSX Skill 的设计决策是整个仓库里最激进的:完全跳过 Python Excel 库,直接操作 XML。
理由很明确:openpyxl 在读取再写回 .xlsx 文件时,会静默丢失 VBA 宏、数据透视表、迷你图等高级功能。这个丢失是无声的——文件能打开,数据看起来正常,但高级功能已经没了。发给客户才发现问题,为时已晚。
MiniMax 的做法是把 .xlsx 当作 zip 包处理(因为它本质上就是):

.xlsx 文件 ↓ 解压XML 文件集合(xl/worksheets/sheet1.xml, xl/styles.xml, ...) ↓ 定向编辑目标 XML 节点 ↓ 重新打包.xlsx 文件为此,他们构建了 10 个独立的 Python 工具脚本,核心包括:
xlsx_reader.py | |
xlsx_unpack.pyxlsx_pack.py | |
xlsx_add_column.py | |
xlsx_insert_row.py | |
xlsx_shift_rows.py | |
formula_check.py | |
libreoffice_recalc.py | |
shared_strings_builder.py | |
style_audit.py |
还有一条硬规则写在 SKILL.md 里:所有衍生值必须是 Excel 公式。
<!-- 正确:用公式 --><c r="B10"><f>SUM(B2:B9)</f><v></v></c><!-- 错误:硬编码计算结果 --><c r="B10"><v>790000</v></c>以及财务色彩标准:蓝色 = 手工输入,黑色 = 公式计算,绿色 = 跨表引用。这套配色是财务建模领域的行业惯例。
实测
测试场景:生成一份季度收入报表,包含四个季度的数据、SUM 汇总公式、冻结首行、财务色彩。

验证结果:
• 公式正确计算:150000 + 180000 + 210000 + 250000 = 790000 ✅ • 财务色彩标准:手工输入值为蓝色字体 ✅ • formula_check.py验证通过 ✅• LibreOffice 和 Excel 都能正常打开 ✅
一个意外收获:我尝试用 openpyxl 读取 MiniMax 模板生成的文件,结果 styles.xml 解析失败(Fill 解析出错)。这恰好验证了 MiniMax 选择绕开 openpyxl 的决策——MiniMax 使用了更丰富的 OOXML 样式定义,而 openpyxl 只支持其子集。文件在 Excel 和 LibreOffice 中完全正常。
踩坑
有用户(@xingkaixin)在 berryxia 的帖子下留言:"尝试了多次,就没有成功做出一个可以成功打开的 Excel 文件。"这类问题的可能原因:
1. XML 模板中的注释干扰:MiniMax 模板的 XML 里有大量教学性注释,某些解析器可能被 <sheets>标签内部的注释干扰。建议清理注释后再打包。2. 解压-打包流程中间步骤遗漏:XML 直操作的流程比调库复杂,任何一步出错(比如 [Content_Types].xml缺失)都会导致文件损坏。3. 环境问题:Python 版本或脚本路径配置不对。
XML 直操作是一把双刃剑:天花板高,但地板也低。
Word 实战与源码拆解
源码架构
DOCX Skill 是四个 Office Skill 里规模最大的:274 行 SKILL.md + 18 个 reference 文件(共 15,297 行)。Samples 目录共有 16 个 .cs 文件,其中 AestheticRecipeSamples 系列文件承载了 13 套审美配方,另有 11 个功能主题样例文件(表格、图片、页眉页脚、修订标记等)。
选型决策:放弃社区最常用的 python-docx,选择 .NET OpenXML SDK。
python-docx 轻量好用,但在嵌套表格、多级目录、页眉页脚精确控制、修订记录这些场景上力不从心。MiniMax 的判断是:文档质量比部署便利更重要。代价是需要 .NET SDK 8.0+ 环境,部署复杂度显著上升。
三条管线:
用户任务├─ 没有输入文件 → Pipeline A: CREATE(从零创建)└─ 有输入 .docx ├─ 替换/填充/修改内容 → Pipeline B: FILL-EDIT └─ 重新排版/套模板 → Pipeline C: FORMAT-APPLY13 个审美配方(AestheticRecipeSamples 系列文件):每个配方对应一种权威文档风格,包含精确的字号、行距、边距、字体参数:
• ModernCorporate — 现代企业风格 • AcademicThesis — 学术论文 • ExecutiveBrief — 执行摘要 • ChineseGovernment — GB/T 9704 公文标准 • MinimalModern — 极简现代风格 • IEEE Conference — IEEE 会议论文 • ACM sigconf — ACM 论文格式 • APA 7th / MLA 9th / Chicago — 各大引用格式 • Springer LNCS / Nature / HBR — 权威期刊风格
这些不是"大概像"的模板,而是从官方风格指南中提取的精确参数值。
验证管线是强制的(Scenario C):
# 1. 合并运行(消除碎片化的 run)$CLI merge-runs --input doc.docx# 2. XSD 结构检查$CLI validate --input doc.docx --xsd assets/xsd/wml-subset.xsd# 3. 业务规则检查$CLI validate --input doc.docx --businessXSD 验证失败时,先自动修复元素顺序(fix-order),再重验。两次都失败才回退到预览人工确认。
OpenXML 元素顺序敏感:这是 DOCX Skill 反复强调的一点。w:p 里必须 pPr 在前、runs 在后;w:tbl 里必须 tblPr → tblGrid → tr。顺序错了文件直接损坏,Word 拒绝打开。
CJK 排版:单独的 cjk_typography.md,覆盖了中文字号映射(初号=42pt、小初=36pt...)、RunFonts 的东亚/ASCII/复杂文种分别指定、GB/T 9704 公文排版标准。
实测说明
由于 .NET SDK 未安装,本次未做实际生成测试。但从源码和 C# 样例文件的质量来看,这是四个 Skill 中投入最大的一个。有用户(@bailanluo)实测后评价:"docx 的 skill 明显优于市场上其他公开方案,其可控度比 python-docx 高多了......AI 协助你的 docx 完成度更高。"
如果你的场景涉及中文公文、学术论文、或需要精确控制页眉页脚和修订记录,这个 Skill 值得投入 .NET SDK 的部署成本。
PDF 实战与源码拆解
源码架构
PDF Skill 的亮点是双引擎架构:
分工的原因是:纯 Python 方案很难做出有设计感的封面。HTML+CSS 在视觉表达上远超 Python 绘图库。而正文部分恰好相反——ReportLab 对段落、表格、分页的控制精度比 HTML 转 PDF 更高。两个引擎各做擅长的部分。
15 种文档类型,每种有独立的封面模板和视觉风格:
report | ||
proposal | ||
resume | ||
academic | ||
terminal | ||
Token 设计系统:从文档类型衍生出颜色、字体、间距等 design token,贯穿封面和正文所有页面。palette.py 负责生成这套 token。
实测
运行 make.sh demo(report 类型,fullbleed 封面),生成了 8 页 PDF(1 封面 + 7 正文),205KB。



封面的设计感是实打实的——深色背景、Playfair Display 字体、点阵纹理装饰,这个质量纯靠 Python 绘图库达不到。正文包含 callout 框、数据表格、柱状图、饼图,图表由 matplotlib 本地渲染,无需外部服务。
PDF Skill 的入门体验在四个 Skill 中是最好的:
bash scripts/make.sh check # 检查环境bash scripts/make.sh fix # 自动修复依赖bash scripts/make.sh demo # 跑一个完整 demo三行命令从零到看见效果。其他三个 Skill 缺少这种快速体验入口。
注意区分
社区有人反馈"PDF 转 MD,整篇都给我瞎编"——这里需要区分:PDF 生成和 PDF 解析/转换是两回事。这个 Skill 做的是生成,不是 OCR 或格式转换。把已有 PDF 转成 Markdown 是另一个问题域,跟这个 Skill 的能力范围无关。
Skill 设计模式提炼

拆完四个 Skill 的源码,几个跨 Skill 的共性模式浮出水面。这些模式不只适用于 Office Skill,对任何需要 AI 生成结构化输出的 Skill 都有参考价值。
1. 约束先行(Constraint-First)
四个 Skill 都在生成逻辑之前定义了严格的输出约束:
• PPTX:Theme Contract + Slide Taxonomy → 颜色和布局在动手前就锁死 • XLSX:公式硬规则 + 财务色彩标准 → 数据完整性在动手前就有保障 • DOCX:元素顺序规则 + XSD Schema → 文档结构在动手前就有规范 • PDF:Token 设计系统 + 15 种类型模板 → 视觉风格在动手前就确定
这跟写 prompt 时"先给 AI 定规矩再让它干活"是同一个思路,但做到了系统级别。
2. 评估闭环(Evaluate-Fix Loop)
每个 Skill 都内建了验证步骤,形成"执行 → 评估 → 修复"的三阶段闭环:
• PPTX:QA Process(pitfalls.md 检查清单) • XLSX: formula_check.py(静态验证)+libreoffice_recalc.py(动态重算验证,可用时强制)• DOCX:XSD validation → business rules → preview(三层验证) • PDF: merge.py合并时做最终 QA 检查(make.sh check负责环境依赖检查)
"通过"的标准不是"文件能打开",而是"结构正确、样式合规、数据准确"。
3. 底层可控(Low-Level Control)
宁可增加系统复杂度,也要保证底层管线可控:
• XLSX:跳过 openpyxl,直接操作 XML——因为高层库会静默丢失数据 • DOCX:用 .NET OpenXML SDK 而非 python-docx——因为后者的抽象层挡住了必要的控制 • PDF:双引擎分工——因为没有单一引擎能同时做好视觉和结构
这个模式的代价是学习曲线陡峭、调试困难。但对于"能交付"这个目标,可控性比便利性重要。
4. Reference 分离
知识库与流程严格分离:
| 15,297 | ||
SKILL.md 只放路由逻辑和核心流程(都控制在 300 行以内),详细的格式规范、API 参考、代码样例全部放进 references/ 目录。DOCX 的参考文档达到 15,297 行——如果全塞进 SKILL.md,agent 的上下文窗口会被严重挤占,性能急剧下降。
拓展:其他 Office Skill 推荐
MiniMax 不是唯一选择。市面上还有几个 Office Skill 方案:
Anthropic 官方 Skills 仓库
包含 docx、pptx、xlsx、pdf 四个 Skill。定位是通用的文件处理工具,覆盖面广但设计系统不如 MiniMax 成熟。有用户评价其 PPT Skill 是"more of a general 'handle pptx files' tool"。
tfriedel/claude-office-skills
社区打包版,把常用 Office 操作整合到一起。适合轻量级场景,不追求专业排版。
传统 Python 库方案
直接用 python-pptx、openpyxl、python-docx、ReportLab 等库,不通过 Skill 而是在代码中调用。灵活度最高,但没有设计系统的约束,生成质量依赖 prompt 工程。
选型建议
make.sh demo 三行命令见效果) |
结尾
MiniMax 这套 Skill 给我的核心启发是:生产级 Skill 不只是写 prompt,是建系统。Design System 约束输出边界,评估闭环保证质量底线,底层可控避免库的黑盒吞掉关键细节,Reference 分离让 agent 不被信息淹没。
这套思路不限于 Office 场景。任何需要 AI 生成结构化、可交付产物的场景——代码生成、配置文件生成、数据管线编排——都能从中借鉴。
点击「阅读原文」查看 Blog 完整版(含所有参考链接和仓库地址)。
夜雨聆风