本文拆解 Claude Code 生态里装机量最稳的一组 Skill——Anthropic 官方文档四件套 docx、xlsx、pptx、pdf。素材为 2026-09-03 从本地 anthropic-agent-skills 官方插件缓存中读取的四份 SKILL.md 全文(一级一手材料,非转述)。核心发现:同一拨作者、处理同一族 OOXML/PDF 格式,却写出了四种截然不同的 SKILL.md 设计范式——docx 是 700 行单文件教科书,xlsx 是「行规先于工具」的金融建模规范书,pptx 是「路由器 + 审美 + 审问式 QA」的渐进披露范本,pdf 是任务菜谱集。四个 Skill 共享一套 scripts/office/ 运行时基建,这个「Skill 共享库」模式本身就是值得全生态抄的作业。
四件套全部来自 Anthropic 官方 anthropics/skills 仓库,在 Claude Code 中以官方插件(marketplace 源 anthropic-agent-skills,插件名 example-skills)分发,本地调用形态为 example-skills:docx / example-skills:xlsx / example-skills:pptx / example-skills:pdf。也就是说,装了官方插件的用户零配置即拥有这四个 Skill——它们不是市场上要抢排名的挑战者,而是「出厂自带」的基线。
更值得注意的是底层结构:四个 Skill 的脚本目录里反复出现同一组文件——scripts/office/unpack.py(解包 OOXML)、scripts/office/pack.py(重打包)、scripts/office/validate.py(校验)、scripts/office/soffice.py(沙箱环境下自动配置 LibreOffice)。xlsx 的 recalc.py 也依赖 soffice.py 做首run自动配置。这说明官方在 Skill 形态之上做了一层共享运行时:Skill 是给人看和给模型读的提示词层,scripts/office/ 是可复用的执行层。社区里大量 Skill 把脚本塞进自己目录重复造轮子,官方这种抽公共库的做法在生态里并不多见。
评分基于四份 SKILL.md 全文的设计分析与官方插件分发事实,权重按本系列标准(功能 25% / 设计 25% / 实战 20% / 上手 15% / 社区 15%):
| 维度 | docx | xlsx | pptx | |
|---|---|---|---|---|
| 功能完整度 (25%) | ★★★★★ | ★★★★ | ★★★★ | ★★★★ |
| 设计质量 (25%) | ★★★★☆ | ★★★★☆ | ★★★★★ | ★★★½ |
| 实战效果 (20%) | ★★★★☆ | ★★★★☆ | ★★★★☆ | ★★★★ |
| 上手难度 (15%) | ★★★½ | ★★★★ | ★★★★ | ★★★★½ |
| 社区活跃度 (15%) | ★★★★★ | ★★★★★ | ★★★★★ | ★★★★★ |
| 加权总分 | 4.55 | 4.38 | 4.50 | 4.10 |
定位:四件套里唯一把「编辑既有文档」当一等公民的 Skill。新建走 JavaScript 库 docx-js,编辑走「解包→改 XML→重打包」三步,修订(tracked changes)、批注、目录、脚注、多栏布局全部内置。
SKILL.md 设计:它选择了和 pptx 完全相反的策略——不分拆参考文档,全部内联。结果是主文件极长,从 page size 的 DXA 单位表到 <w:commentRangeStart> 必须是 <w:p> 直接子元素的 XML 细节,一气呵成。这换来一个好处:模型编辑 XML 时不需要二次跳转,所有规则同屏可见。
它的提示词工程有三个可抄的细节。其一,用真实血泪换来的 CRITICAL 标记密度极高,且几乎每条都是「反直觉教训」:
CRITICAL: docx-js defaults to A4, not US Letter — Always set page size explicitly
库的默认值是 A4,模型不提醒就会踩坑,这类「默认值陷阱」正是 Skill 该记录的第一手知识。其二,正反例对照贯彻全文:❌ WRONG - never manually insert bullet characters 对 ✅ CORRECT - use numbering config with LevelFormat.BULLET,比单纯说「用编号配置」有效得多。其三,把输出品质写进协议:要求新内容用 ’ 等 XML 实体产出弯引号、指定修订作者默认为 "Claude"、pack 时自动修复 durableId 溢出和缺失的 xml:space="preserve"——把排版礼仪和容错都做进了流程。
短板:上下文成本高,全量加载对简单任务浪费;依赖链最重(node + npm install -g docx、pandoc、LibreOffice、poppler 四件都要);对 OOXML 无背景的读者门槛是四件套里最高的。
定位:读写分析 Excel,主力库是 pandas(分析)+ openpyxl(公式与格式),配套 recalc.py 用 LibreOffice 重算公式。
SKILL.md 设计:它的开篇不是工具,而是 Requirements for Outputs——这在四个 Skill 里独一份。第一条军规就是交付标准:
Every Excel model MUST be delivered with ZERO formula errors (#REF!, #DIV/0!, #VALUE!, #N/A, #NAME?)
紧接着是一套完整的投行建模行规:蓝色字=硬编码输入、黑色字=公式、绿色字=跨表引用、红色字=外部链接、黄底=关键假设;年份写成文本避免变 "2,024"、负数用括号、估值倍数 0.0x、硬编码数字必须注明 "Source: Company 10-K, FY2024, Page 45"。这些不是 openpyxl 能替你决定的,是领域知识——作者判断「模型长得像不像华尔街出品」比「会不会用库」更能区分交付质量,于是把它放到了最前面。
第二个亮点是闭环 QA 的工程设计:openpyxl 写入的公式只是字符串没有计算值,recalc.py 调 LibreOffice 重算并扫描全部单元格,返回结构化 JSON——status、total_errors、按错误类型列出精确位置("locations": ["Sheet1!B5"])。错误定位到单元格,模型的修复路径就被铺平了。配合「必须用 Excel 公式而不是 Python 算完硬编码值」的 ❌/✅ 对照(sheet['B10'] = '=SUM(B2:B9)' vs sheet['B10'] = total),整个 Skill 在守同一件事:交付的必须是活的表格,不是死的数据快照。
短板:主文件对图表(charts)、透视表着墨极少,复杂可视化要靠模型自由发挥;金融配色规范对非财务场景(运营报表、课表)略显过重,Skill 虽写了「既有模板优先」,但新手容易把蓝色字规则套到买菜清单上。
定位:读用 markitdown,改模板走 editing.md,从零创建走 pptxgenjs.md——主 SKILL.md 开篇一张 Quick Reference 表就把三种任务路由出去,这是四件套里最标准的渐进披露(progressive disclosure)范式。
但让它拿下设计满分的是后面两段。第一段是 Design Ideas——一份写进 Skill 的审美观:
Don't create boring slides. Plain bullets on a white background won't impress anyone.
它给出 10 组命名配色(Midnight Executive、Forest & Moss、Coral Energy……)、10 组标题/正文字体搭配、字号表,以及一系列「防 AI 味」铁律。最狠的一条:
NEVER use accent lines under titles — these are a hallmark of AI-generated slides
「标题下的装饰线是 AI 生成 PPT 的标志性特征」——把社区对 AI slop 的审美批评直接固化成禁令,这是整个生态里少见的「反自身种族偏见」设计。同类还有「don't default to blue」「每页必须有视觉元素」「不要每页同版式」。
第二段是 QA (Required),开篇即定调:
Assume there are problems. Your job is to find them. Your first render is almost never correct.
流程是强制闭环:soffice 转 PDF → pdftoppm 转图 → markitdown 内容检查 + grep 占位符残留(grep -iE "xxxx|lorem|ipsum")→ 派子代理看图:
⚠️ USE SUBAGENTS — even for 2-3 slides. You've been staring at the code and will see what you expect, not what's there.
这条是全文最精彩的一行提示词工程:它点破了长上下文模型的盲区——作者效应(你会看到你期待的画面),并用「新开一个无历史上下文的子代理」这一架构手段解决,甚至附了完整可复制的子代理检视 prompt(查元素重叠、文字溢出、对比度、占位符残留……)。收尾同样硬核:"Do not declare success until you've completed at least one fix-and-verify cycle."
flowchart TD
A[生成或修改 slides] --> B[soffice 转 PDF]
B --> C[pdftoppm 转 150dpi 图片]
C --> D[markitdown 内容 QA]
D --> D2[grep 检查 xxx/lorem 占位符]
D2 --> E[派子代理视觉 QA<br/>假设必有 bug]
E --> F{发现问题?}
F -->|是| G[修复]
G --> B
F -->|否但未做过修复循环| B
F -->|完成至少一轮修复-验证| H[宣布成功]
短板:真实干活必须再读 editing.md 和 pptxgenjs.md 两个子文档,主文件轻是轻,总阅读量不小;依赖同样偏重(markitdown[pptx]、Pillow、pptxgenjs、LibreOffice、poppler)。
定位与设计:pypdf(合并/拆分/旋转/加密/水印)、pdfplumber(文字与表格抽取)、reportlab(生成)三大 Python 库各给最小可用片段,CLI 工具(pdftotext/qpdf/pdftk)补位,末尾一张「任务→最佳工具」速查表收束。深水区外链两个子文档:填表单看 FORMS.md,进阶用法看 REFERENCE.md。
它的价值在几条「实战伤疤」级提示,比如 reportlab 一节:
IMPORTANT: Never use Unicode subscript/superscript characters (₀₁₂₃…) — The built-in fonts do not include these glyphs, causing them to render as solid black boxes.
不用 <sub>H<sub>2</sub>O</sub> 式标记,H₂O 的下标 2 就会渲染成黑方块——没有踩过坑的人写不出这句。pdfplumber 把抽取的表格直接转 pandas DataFrame 再落 Excel 的完整管线,也是最高频的真实需求。
短板:相对另外三个,它是纯查阅型菜谱,没有交付标准(对比 xlsx 的零错误军规)、没有 QA 闭环(对比 pptx 的子代理审问)、没有审美立场。设计得分垫底不是写得差,而是范式野心小——它只想当速查表,也确实当好速查表。
| docx | xlsx | pptx | ||
|---|---|---|---|---|
| 范式 | 单文件教科书 | 行规规范书 | 路由器+审美宣言 | 任务菜谱 |
| 主文件长度 | 极长,全内联 | 中等 | 短,外链两个子文档 | 中等,外链两个子文档 |
| 交付标准 | validate.py 校验 | 零公式错误军规 | 至少一轮修复-验证循环 | 无显式标准 |
| QA 机制 | 打包自动修复 | recalc 返回错误 JSON | 子代理看图审问 | 无 |
| 独有贡献 | 修订/批注 XML 协议 | 金融建模配色行规 | 防 AI 味设计禁令 | 字体缺字陷阱清单 |
| 共享基建 | scripts/office/* | scripts/recalc.py + office/* | scripts/office/* | — |
四件套还共享三个可迁移的写法模式:① 默认值陷阱显式化(A4 默认、data_only=True 会永久丢公式、unicode 下标变黑块);② ❌/✅ 正反例对照(比正面陈述记忆留存高得多);③ 机器可读的验证输出(recalc 的 JSON、validate 的错误清单),让「生成→验证→修复」闭环无需人工介入。
mindmap
root((官方文档四件套))
docx 教科书范式
创建 docx-js
编辑 解包改XML重打包
修订与批注一等公民
弯引号排版协议
xlsx 行规范式
pandas 分析
openpyxl 公式格式
recalc 重算闭环
投行配色行规
pptx 渐进披露范式
markitdown 读取
editing.md 改模板
pptxgenjs 从零建
子代理视觉QA
防AI味禁令
pdf 菜谱范式
pypdf 合并拆分
pdfplumber 抽表格
reportlab 生成
FORMS.md 填表单
方式一(推荐):官方插件。 Claude Code 内执行 /plugin,添加 marketplace anthropic-agent-skills,安装 example-skills,四件套一次性到位,调用形态为 example-skills:docx 等。
方式二:从仓库手动安装。 从 anthropic-agent-skills/官方 skills 仓库把对应目录拷入 ~/.claude/skills/(项目级则放 .claude/skills/):
# 以 docx 为例,其余 xlsx/pptx/pdf 同理
git clone https://github.com/anthropics/skills.git
cp -r skills/document-skills/docx ~/.claude/skills/
依赖安装(各 Skill 按需):
# docx:node 库 + 文本抽取 + 渲染
npm install -g docx
pip install pandoc # 或系统包管理器安装 pandoc
apt install libreoffice poppler-utils
# xlsx:Python 栈 + LibreOffice(recalc.py 重算必需)
pip install pandas openpyxl
apt install libreoffice
# pptx:抽取 + 缩略图 + 生成 + 渲染
pip install "markitdown[pptx]" Pillow
npm install -g pptxgenjs
apt install libreoffice poppler-utils
# pdf:纯 Python 栈即可,OCR 按需
pip install pypdf pdfplumber reportlab
pip install pytesseract pdf2image # 扫描件 OCR 才需要
触发方式均为自然语言:「把这份 Word 里的修订全部接受」「做一个 10 页的融资 PPT」「帮我把这 5 个 PDF 合并」「检查这个 Excel 有没有公式错误」——四件套的 description 都按动词任务面设计,命中率高,无需咒语。
一句话收束:四件套真正教会我们的不是怎么操作 Office 格式,而是同一个问题域里,SKILL.md 可以有四种完全成立的设计哲学——选哪种,取决于你的任务里「编辑存量」「守住行规」「审美交付」还是「快速查用」谁占大头。
anthropic-agent-skills 官方插件缓存中 docx/SKILL.md、xlsx/SKILL.md、pptx/SKILL.md、pdf/SKILL.md 全文(2026-09-03 读取)— 本文所有引文与结构分析的一手来源anthropic-agent-skills(marketplace 名)— 四件套的分发渠道,本地调用形态 example-skills:* 的出处[!tip] 51学通信知识星球 星主:爱卫生(微信:gprshome201101)——公众号「51学通信」创办者,19 年通信行业运维与讲师经验,著有《GPRS网络信令实例详解》《EPC原理与实践》《5G核心网原理与实践》三本纸质书(各大电商平台有售)。 星球定位:深耕 5G 核心网、IMS、NFV/AI、云原生等 ICT 领域,主打运维岗位与信令分析。 当前规模:5200 篇主题 / 990 个回答,198 元/年。 加入福利:加入星球后请加爱卫生微信,拉您进知识星球年度陪伴与答疑群——不限量回复您的各种问题,另有群内分享。 AI 加持:51学通信知识星球已作为 skill 接入 WorkBuddy,使用 deepseek-4-flash 在海量星球帖子中精准找贴、找视频、找 FAQ 和案例,做总结、找文档和 PPT 等场景全覆盖。
