4.1 文档三件套:docx / xlsx / pptx

三个技能,一个模式

Anthropic 官方技能仓库 anthropics/skills 当前共有 19 个技能,全部遵循 SKILL.md 规范,与 dsh 兼容,可以原样使用。其中 docx、xlsx、pptx 三个覆盖 Word、Excel、PowerPoint,是办公场景的核心组合。

三个技能的触发条件写得都很直接:

技能 官方描述(要义)
docx 用户想创建、读取、编辑或操作 Word 文档时
xlsx 电子表格文件是主要输入或输出时
pptx 任何环节涉及 .pptx / .potx 文件时

注意 pptx 的描述是“任何环节涉及”——这比前两个更宽,只要碰演示文稿就该考虑它。

三个都是目录包形态(<name>/SKILL.md 加自带参考资料),体积比扁平技能大,这也是它们能覆盖完整工作流的原因:单格式的读取、创建、编辑、操作被写进了指令,模型加载后知道完整流程,而不是只会一个动作。

官方触发条件逐字对照

把三个技能的官方描述摊开逐字对照,能看出 Anthropic 划分边界的思路:

技能 官方描述(要义) 覆盖格式 典型命中场景
docx 用户想创建、读取、编辑或操作 Word 文档时 .docx 写报告、改合同、批量提取文档内容
xlsx 电子表格文件是主要输入或输出时 .xlsx 读台账、生成报表、改公式
pptx 任何环节涉及 .pptx / .potx 文件时 .pptx / .potx 做汇报、改模板、抽取幻灯片文字

三条描述有两个共同点:全部用“用户想做什么”起句,而不是“本技能提供什么功能”;全部点名具体文件格式。这正是技能 description 的正确写法——模型选技能时读的就是这段话,写清楚触发条件比写清楚功能更重要(这一点在 4.5 skill-creator 一节还会展开)。

pptx 的描述连 .potx(PowerPoint 模板格式)都点名了,说明官方考虑到了“拿模板改内容”这类高频场景。

装法:只复制需要的目录

mkdir -p ~/.dsh/skills
git clone --depth 1 https://github.com/anthropics/skills.git /tmp/anthropic-skills
cp -r /tmp/anthropic-skills/skills/docx ~/.dsh/skills/
cp -r /tmp/anthropic-skills/skills/xlsx  ~/.dsh/skills/
cp -r /tmp/anthropic-skills/skills/pptx  ~/.dsh/skills/

几点说明:

  • --depth 1 是浅克隆,只取最新一次提交。这个仓库历史不短,浅克隆能省下绝大部分下载时间;技能要的是当前状态,不是历史。
  • 仓库里 19 个技能都放在 skills/ 子目录下,把需要的三个目录复制到用户技能根 ~/.dsh/skills/ 即可。注意平铺摆放——dsh 不支持嵌套递归的 **/SKILL.md 发现,技能必须平铺。
  • 复制完新开一个会话,用 /docx 直调一下,确认技能已经进目录。模型自选走 skill 工具按名称加载,用户直调走 /技能名,两条路都通才算装好。

另一种做法是把整个技能仓库 clone 成 skills 根目录。不推荐,但可以把后果说清:仓库里除了 19 个技能目录,还有 spec/(规范)、template/(模板)、.claude-plugin/ 和 README 等非技能文件。dsh 的技能发现只认带 SKILL.md 的目录,这些文件不会被注册成技能,无害但略乱——你的技能目录里会平白多出十几个用不到的能力,模型选技能时分心,你自己浏览列表时也碍眼。想要干净,就按上面的做法只复制需要的三个。

与 dsh 自带 office-* 的四维对比

DeepSeek Harness 自带一整套 Office 技能族(@deepseek-ai/dsh-skill-office):一个 office 路由技能,加六个创作或操作技能——office-docx、office-xlsx、office-pptx、office-export-pdf、office-render、office-recalculate。启用方式是组合配置加一行:- name: '@deepseek-ai/dsh-skill-office'。创作技能使用选定的 Python 库;操作技能提供配置好的 Node 与 LibreOffice Kit CLI 路径。

拿它和 Anthropic 三件套对比:

维度 dsh office-* 七件套 Anthropic 三件套
安装 组合配置一行挂载,资源随包分发 复制三个目录,纯文件操作
更新 随 dsh 版本发布,升级即得 跟随 anthropics/skills 仓库独立迭代,要更新得重新克隆
深度 七个技能分工:路由 + 三件套 + 导出 PDF + 渲染 + 公式重算 三个技能各自自带参考资料,覆盖单格式全流程
跨工具 仅 dsh:依赖 dsh 的配置字段与 CLI 路径 任何支持 SKILL.md 的工具都能用

四个维度里没有胜负,只有场景。dsh 组赢在深度与集成度:渲染、导出、重算这些环节被拆成独立技能,按需渐进加载;Anthropic 组赢在可移植:同一份 SKILL.md 换个工具照样跑。

dsh 自带组还有一条渐进加载规则值得知道:用户要求的外观修改(包括电子表格单元格填充和文本对齐),即使没有明确要求视觉检查,也需要渲染;用户明确说跳过渲染时才以用户要求为准。也就是说“把单元格填充色换一下”这种事,dsh 组会主动渲染确认,而不是盲改——视觉验证被编进了指令,不靠模型自觉。

还有这些差异

除了四个主维度,两组在一些具体环节上的分工也不一样:

差异点 dsh 组 Anthropic 组
路由 有 office 路由技能,按任务分流到子技能 无路由技能,三个并列,靠 description 自动分流
配置项 三个字段可调:assetRoot / node / cli 零配置,复制即用
渲染验证 独立 office-render 技能,负责文档图像与视觉布局 19 个官方技能里没有独立渲染技能
公式重算 独立 office-recalculate,刷新公式缓存并验算 无对应技能
格式转换 独立 office-export-pdf,走 LibreOffice 无专门转换技能

对使用者的实际差别:dsh 组里你说一句含糊的话(“看看这个表格”),路由技能会帮你选子技能;Anthropic 组最好直接点名(“用 xlsx 技能……”),三个名字各管一摊,点名能省掉一次试探。

选型决策

你要处理 Office 文档吗?
├─ 是 → 你主要用哪个 agent 工具?
│      ├─ DeepSeek Harness → 用自带 office-* 七件套(见第二章)
│      │      └─ 还需要在别的工具里用同一套技能?
│      │           └─ 是 → 加装 Anthropic 三件套(但别两组同时开)
│      └─ 其他工具 → 装 Anthropic 三件套
└─ 否 → 去看本章其余小节

两组不要同时开

单独强调一遍:dsh 自带组和 Anthropic 组不要同时启用。

两组的 description 覆盖同一批任务——你说“改这个 docx”,两组的描述都能命中。模型面对两个名字相似、描述重叠的技能,选哪个取决于当时的上下文噪声,这次选 A 下次选 B,行为不一致;更糟的是两组执行路径不同(一套走 dsh 的渲染与 CLI,一套走自带脚本),混用会让结果难以复现,出了问题你也说不清是哪条路径干的。选型表的意义就是让你一次选边,选完把另一组关掉。

小结

  • docx / xlsx / pptx 是 Anthropic 官方文档三件套,目录包形态,19 个官方技能之一。
  • 装法核心是浅克隆加只复制三个技能目录;整仓 clone 无害但略乱。
  • 与 dsh 自带 office-* 四维对比:dsh 赢在深度与集成,Anthropic 赢在可移植。
  • dsh 内优先用自带组;跨工具场景用 Anthropic 组;两组不要同时开。

延伸阅读