这个系列走到第四轮,官方给的方向是「内容创作与办公类」。但盘点前几轮的覆盖面会发现:写作线五件横评、SEO双子、PPT六件、docx改XML,这几块洼地都已经被填掉了。内容创作与办公这个大分区里,还剩两块没人碰的地:数据处理(表格、笔记本、格式转换)和内容改写(一稿多发)。
本期把这两块地一次性犁完,共六件:官方 xlsx、社区 spreadsheet、工具流 office-mcp、单点件 md2pdf、双模板件 jupyter-notebook、纯提示词件 content-repurposer。与以往不同,本期六件的 SKILL.md 全部来自本机已安装环境的原文读取,所有引用片段均为一手材料;来源不明的件会明确标注,不编造 Star 数和下载量。
三个核心发现先放在前面:同一张 Excel 工单,官方件和社区件给出了两种完全不同的工程哲学——官方靠机器验收闭环,社区靠人的审美规范;MCP 路线和 Skill 路线在同一赛道正面相撞,office-mcp 用 39 个常驻工具对垒两个按需加载的提示词件;Codex 生态的 Skill 正在搬进 Claude 的技能目录,jupyter-notebook 里裸露的 ~/.codex/skills 路径是这次生态迁徙的直接物证。
| Skill | 功能完整度 25% | 设计质量 25% | 实战效果 20% | 上手难度 15% | 社区活跃度 15% | 加权总分 |
|---|---|---|---|---|---|---|
| xlsx(官方) | ★★★★½ | ★★★★★ | ★★★★½ | ★★★★ | ★★★★ | 4.5 |
| spreadsheet | ★★★★ | ★★★★ | ★★★★ | ★★★½ | ★★★ | 3.8 |
| office-mcp | ★★★★★ | ★★★½ | ★★★★ | ★★½ | ★★★ | 3.8 |
| md2pdf | ★★★½ | ★★★★ | ★★★★ | ★★★½ | ★★½ | 3.6 |
| jupyter-notebook | ★★★½ | ★★★★ | ★★★½ | ★★★½ | ★★½ | 3.5 |
| content-repurposer | ★★★ | ★★★½ | ★★★ | ★★★★★ | ★★½ | 3.4 |
社区活跃度一项的说明:只有 xlsx(经官方插件渠道分发)和 office-mcp(SKILL.md 内自带仓库链接)能确认分发渠道,其余四件在 SKILL.md 里均未注明出处仓库,本环境无法核验其 Star 与更新频率,该项按保守值给分。这也是本期想提醒的一件事:装机目录里大量 Skill 是「无名片」的,上一轮安全专题讲过供应链风险,本期不再展开,但评分里如实扣了。
这是 anthropics/skills 官方仓库的件,本机经 anthropic-agent-skills 插件包装入。它拿下本期第一,靠的不是功能最多,而是一条完整的验收闭环。
SKILL.md 里最核心的一条设计是这句话:
Always use Excel formulas instead of calculating values in Python and hardcoding them.
为了让模型真正执行这条纪律,它不是靠说教,而是给了正反对照的代码示例——先用 ❌ 标出「在 Python 里算好 sum 再写死进单元格」的错误写法,再用 ✅ 给出 sheet['B10'] = '=SUM(B2:B9)' 的正确写法。这种「错误示范先行」的写法比单纯的规则罗列有效得多,因为模型最常犯的错已经被预先具象化了。
真正让它拉开差距的是 recalc.py 强制重算环节。SKILL.md 用了大写强调:
Recalculate formulas (MANDATORY IF USING FORMULAS): Use the scripts/recalc.py script
openpyxl 写进去的公式只是字符串,没有计算值。这个件的解法是用 LibreOffice 无头模式重算整个工作簿,然后扫描所有单元格,返回带精确定位的 JSON 错误报告:
{
"status": "errors_found",
"error_summary": {
"#REF!": { "count": 2, "locations": ["Sheet1!B5", "Sheet1!C10"] }
}
}
生成 → 机器验收 → 带定位的报错 → 修复 → 再验收,这是把单元测试的思想搬进了 Skill 设计。此外它还有两条容易被忽略的细节:警告 data_only=True 打开后保存会永久丢失所有公式(这是真实踩坑点);硬编码数值必须注释来源,格式固定为 Source: Company 10-K, FY2024, Page 45...。财务建模的审计思维渗透到了每一格。
短板也有:整个体系绑死 LibreOffice,环境里没装就得先补系统级依赖,对轻量用户不算友好。
如果把 xlsx 和 spreadsheet 的 SKILL.md 摆在一起看,会发现一个有趣的事实:两者共享几乎同一套财务配色规范——蓝色为用户输入、黑色为公式、绿色为跨表链接、零值显示为 -、表头必须带单位(Revenue ($mm))。这些本是华尔街建模的行业惯例,两个件各自内化了一套。
但分叉点很能说明问题。spreadsheet 没有强制重算脚本,它的验收方式是渲染回看:
soffice --headless --convert-to pdf --outdir $OUTDIR $INPUT_XLSX
pdftoppm -png $OUTDIR/$BASENAME.pdf $OUTDIR/$BASENAME
把不可见的排版渲染成 PNG 交给模型「亲眼看」,这是和 recalc.py 完全互补的思路:官方件验收逻辑对不对,社区件验收好不好看。它还有一条官方件没有的硬规定——修改已有格式的表格前必须先渲染检查,且「完全保留既有格式」,这是对「AI 一动手就把模板改花」这一高频事故的防御。
更细的是它把投行排版规范直接写成了规则:合计行必须汇总正上方区间、隐藏网格线、小计上方加横线、章节头用深色填充合并单元格、数字右对齐文字左对齐、子指标在父项下缩进。甚至有引用规范:网页数据入表必须加 Source 列。另外注意一个细节——它的示例目录写作 references/examples/openpyxl/,前缀是 Codex;配合 jupyter-notebook 里的证据(见第四节),这件大概率是从 Codex 生态迁徙来的,属于「同一套行业规范在两个 Agent 生态各自落地」的样本。
短板:没有机器验收闭环,公式算错不报错,只靠渲染看排版;依赖清单长(openpyxl、pandas、LibreOffice、Poppler)。
这是六件里唯一不走 Skill 常规路线的——它本质是一个 MCP Server(TypeScript/Node.js),SKILL.md 更像一份工具目录书。39 个工具分五组:PDF 十个(含 OCR)、表格七个、Word 六个、转换九个、PPT 七个,仓库指向 claude-office-skills/skills。
亮点在覆盖面和几个「脏活」工具:ocr_pdf 和 ocr_image 用 tesseract.js 纯 JS 实现,不用装原生二进制,支持简繁中文、日、韩、法、德、西、英八种语言——扫描件转文字这块,前两件都没碰。转换组也是六件里最全的:docx_to_md、pdf_to_docx、batch_convert 一次批量转。
但它的 SKILL.md 暴露了工具派的典型短板:全文几乎是工具清单加安装说明,缺少工作流约束和验收环节——没有 xlsx 那种「必须重算」的纪律,也没有 spreadsheet 那种「先渲染再动手」的防御。工具多而不带流程,等于把判断成本全部交还给模型现场发挥。另一个诚实的细节是它自己标注了 docx_to_pdf、html_to_pdf 「external tool required」,不是纯 JS 能闭环的。
路线之争值得说透:MCP 的 39 个工具 schema 一旦挂载就常驻上下文,而 Skill 是按需加载、用渐进披露把细节藏在 references 里。对重度办公用户,全家桶省去反复装依赖;对偶发用户,两个 Python 脚本件更轻。安装成本也是六件里最重的:clone → npm install → npm run build → 手改 MCP 配置 JSON → 重启客户端,五步起步。
这件的价值一半在功能,一半在它身上裸露的生态证据。SKILL.md 里明晃晃写着:
export CODEX_HOME="${CODEX_HOME:-$HOME/.codex}"
export JUPYTER_NOTEBOOK_CLI="$CODEX_HOME/skills/jupyter-notebook/scripts/new_notebook.py"
~/.codex/skills——这是 OpenAI Codex CLI 的技能目录路径。一件为 Codex 写的 Skill,几乎没改就进了 Claude 的技能库,这印证了 SKILL.md 格式作为事实标准正在跨生态通用:frontmatter 加正文的结构,两边通吃。对想做 Skill 的读者,这意味着按这套格式写的东西,天然是跨平台的。
功能设计上它是「脚手架」模式:不让模型手写 notebook 的裸 JSON(手写 JSON 是单元格结构出错的重灾区),而是提供 new_notebook.py 脚本,从 experiment 和 tutorial 两个模板里选一个生成骨架,再往里填内容。选型用一棵极简决策树:探索性、假设驱动的选 experiment;教学性、分步骤的选 tutorial。配套四个 references 文件——实验模式、教学模式、JSON 结构、质检清单——是渐进披露的标准写法。
短板:它只管「造出干净的可复现 notebook」,不碰执行分析本身,和前两件的表格处理是互补而非竞争;社区活跃度同样无从核验。
这是六件里最小的,也是痛点定义写得最好的一篇——SKILL.md 开篇第一节就叫 The Problem It Solves,直说两件事:Mermaid 时序图(尤其参与者多的)导出 PDF 必横向溢出被截断;JSON、信令这类长行代码块同样被切。整个 Skill 就赌这两个问题,别的一概不管。
解法是两步流水线:自带的 md2pdf.py 把 Markdown 转成带打印 CSS 的 HTML(Mermaid 块转成 div.mermaid 交给 mermaid.js CDN 渲染,useMaxWidth: true 强制缩放适配页宽;代码块用 white-space: pre-wrap 加 word-break: break-all 强制换行),然后用 Playwright 打开 HTML、等 5 秒渲染、调 page.pdf 出 A4。
最值得抄的是它把作者自己踩过的 Mermaid 坑直接写成了规范:不要用菱形节点 {} 塞复杂文本、节点文本里不要出现 ? 和 !、少用 <br/>,并给了「错误写法 vs 正确写法」对照——和官方 xlsx 的正反示例是同一招。本期文章里的 Mermaid 图能安全渲染,某种程度上也是站在这类前人的坑上。
短板明确:依赖网络拉 mermaid CDN(断网环境直接瞎等那 5 秒);Playwright 加 Chromium 是重依赖;单点件的天花板就是那一个问题。
前五件都在办公数据线,这件代表内容创作线的典型形态:零脚本、零依赖,全部价值浓缩在提示词框架里。上手难度五星——复制进去就能用,但实战效果也最依赖模型自觉。
它的骨架是一张 6×6 转换矩阵:博客、研报、演示、视频、案例、数据六种源内容,对应 Twitter、LinkedIn、Instagram、Newsletter、博客、播客笔记六种去向,每一格写明载体形态(博客转 X 是「5-10 条推文串」,转 Instagram 是「5-10 页轮播图」)。往下再拆到平台模板级:X 推文串第一帧必须是独立成立的钩子、LinkedIn 前 2 行必须卡在「see more」折叠线之前、正文 1300 字符是甜点位、链接放首条评论因为算法偏好——这些都是能直接执行的平台细节。
还有一个结构上的巧思:结尾的 See Also 用相对路径链向 ../marketing/SKILL.md、../newsletter-creator/SKILL.md、../brand-identity/SKILL.md。这说明它不是孤件,而是一个内容营销套件里的一个工位,Skill 之间开始出现「套件互链」的组织形态——上一轮多 Agent 横评里讲的「组织隐喻」,在这里以文档互链的形式提前出现了。
短板也干脆:没有任何工具或脚本兜底,平台规则(字符数、算法偏好)写死在文本里,平台一改版内容就过期;相比数据线那几件的机器验收,它的产出质量没有客观检查手段。
把六件摆在一起,能看到 Skill 生态里内容与办公两条线正在分化出不同的设计范式:
mindmap
root((办公与数据线))
表格处理
xlsx 官方验收闭环
spreadsheet 渲染回看
office-mcp 三十九工具
文档转换
md2pdf 单点痛点
office-mcp 转换九件组
分析载体
jupyter-notebook 双模板脚手架
内容改写
content-repurposer 纯提示词矩阵
数据线的件越来越像软件工程:脚本、验收、错误报告、依赖管理;内容线的件越来越像方法论文档:矩阵、模板、清单、风格指南。前者赢在可验证,后者赢在零门槛。如果你要写自己的第一个 Skill,从这个分化里能提炼出五个可直接复用的模式:
最后给一条从需求出发的选型路径:
flowchart TD
A["接到办公数据处理需求"] --> B["要动 Excel 公式吗"]
B -->|要| C["xlsx 官方件"]
B -->|只做格式与排版| D["spreadsheet"]
A --> E["扫描件 OCR 或批量格式转换"]
E --> F["office-mcp"]
A --> G["Markdown 文档出 PDF"]
G --> H["md2pdf"]
A --> I["产出要可复现的分析笔记本"]
I --> J["jupyter-notebook"]
A --> K["一稿多发到多平台"]
K --> L["content-repurposer"]
~/.codex/skills 的胎记证明 SKILL.md 格式正在跨平台通吃# xlsx(官方件):经官方插件包分发,本机即装自 anthropic-agent-skills 插件
# 也可在官方仓库获取:
# https://github.com/anthropics/skills
# 或用 skills.sh CLI 定位:
npx skills find xlsx
# office-mcp:clone 后手动构建,五步安装
git clone https://github.com/claude-office-skills/skills
cd skills/mcp-servers/office-mcp
npm install && npm run build
# 然后在 Claude Desktop 配置文件 mcpServers 中指向 dist/index.js
# 其余四件(spreadsheet / md2pdf / jupyter-notebook / content-repurposer)
# 本机已装于 ~/.claude/skills/,SKILL.md 未注明出处仓库,
# 可用目录站按名定位同名件后再安装:
npx skills find spreadsheet
npx skills find md2pdf
npx skills find jupyter-notebook
npx skills find content repurposer
依赖提示:xlsx 与 spreadsheet 需要 pip install openpyxl pandas,渲染回看另需 LibreOffice 和 Poppler(apt-get install libreoffice poppler-utils);md2pdf 需要 pip install markdown playwright 并 playwright install chromium,且运行时有网。
npx skills CLI 的所属生态,本期安装命令来源~/.claude/skills/ 与 anthropic-agent-skills 插件缓存 — 本期六件 SKILL.md 的一手原文,所有引用片段均出于此[!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 等场景全覆盖。
