首页 › skills-review › 后勤四件:算账印纸查证编课

后勤四件:算账、印纸、查证、编课——内容产线的后排拆解

概述

本期是 Skills 生态拆解第 4 轮,方向内容创作与办公。镜头从造型间挪到后勤科:一篇内容从开工到出厂,聚光灯都打在出海报、造信息图、写口播稿的前排件上,但真正决定产线能不能转的,是后排四个不起眼的工位——jupyter-notebook(数据算账)、md2pdf(印纸出厂)、wikipedia-research(进料查证)、tutorial-engineer(内容编课)。四件全部来自装机盘,SKILL.md 逐行一手读完。核心发现有三条:其一,后排件集体不设确认闸,把「少问多干」推到极致,和前排造型件的「两道闸」正好构成光谱两端;其二,md2pdf 的说明文档本身就是一张实战伤单,连 Mermaid 避坑例句都带着 5G 核心网的行业味;其三,wikipedia-research 把军事情报学的来源评级体系搬进了引用核查,而且是四件里唯一白纸黑字写下「我不能干什么」的。

一、评测对比表

评分沿用本栏固定权重:功能完整度 25%、设计质量 25%、实战效果 20%、上手难度 15%、社区活跃度 15%。上手难度一栏星越多越容易;社区活跃度按文件内可见的维护痕迹计(版本号、参考文档、脚本完备度、测试报告)。

Skill 功能完整度 设计质量 实战效果 上手难度 维护活跃 加权总分
wikipedia-research ★★★★★ ★★★★★ ★★★★ ★★★ ★★★★ 4.4
jupyter-notebook ★★★★ ★★★★ ★★★★ ★★★★ ★★★ 3.9
md2pdf ★★★★ ★★★ ★★★★ ★★★ ★★ 3.3
tutorial-engineer ★★★ ★★★ ★★★ ★★★★★ ★★ 3.2

四件在产线上各占一个工位,先看整体位置:

flowchart TD
    A["一篇内容开工"] --> B["wikipedia-research<br>进料查证"]
    B --> C["jupyter-notebook<br>数据算账"]
    C --> D["tutorial-engineer<br>转成课程"]
    D --> E["md2pdf<br>印纸出厂"]
    B --> F["结构化引用<br>JSON"]
    C --> G["可复跑实验<br>ipynb"]
    D --> H["分步教程<br>Markdown"]
    E --> I["A4成品<br>PDF"]

二、算账的:jupyter-notebook

定位:把「造一个 Jupyter 笔记本」这件最容易翻车的事,收缩成两条模板加一个脚手架脚本。只认两种货——experiment(探索实验)和 tutorial(教学 walkthrough),开工第一步不是写代码,是「Lock the intent」:锁定意图、读者和「做完长什么样」。

拆解:这件最值钱的设计是防呆。Jupyter 笔记本的原始格式是嵌套 JSON,让模型徒手写 .ipynb 是社区公认的事故高发区——括号错一位整本报废。它的对策写得很直白:「Prefer the bundled templates and the helper script for consistent structure and fewer JSON mistakes」,模板放在 assets/,脚手架脚本只依赖 Python 标准库,零额外安装,一条命令出骨架:

uv run --python 3.12 python "$JUPYTER_NOTEBOOK_CLI" \
  --kind experiment \
  --title "Compare prompt variants" \
  --out output/jupyter-notebook/compare-prompt-variants.ipynb

编辑已有笔记本时它还立了规矩:保结构、别乱动单元格顺序、能小改不重写,真要动原始 JSON 先读 references/notebook-structure.md。最难得的是失败路径写进了正文——「If execution is not possible, say so explicitly」,跑不了就明说,别装跑过。

短板:它的路径设定暴露了户口——环境变量写的是 CODEX_HOME,默认安装位是 ~/.codex/skills,依赖管理指定 uv。这是一件带着 Codex 生态门牌的技能,原样住进了 Claude 的技能目录。跨 Agent 的技能可移植性在这台机器上又多了一件实物证据:SKILL.md 里没有一个字绑定某个模型或某个 CLI,谁家 Agent 读它都能照跑。维护痕迹中等:四份参考文档齐全,但没有版本号和更新日志。

三、印纸的:md2pdf

定位:四件里业务面最窄的一件——只干「Markdown 转 A4 PDF」一件事,但窄得有理有据。它的开头不是功能列表,是一张事故清单:导出 PDF 时,Mermaid 图(尤其是参与者多的时序图)和长代码块(JSON、信令流程)必然超宽被截断。「This skill solves both problems」——两个坑,各给一个解。

拆解:解法是两步流水线:先用自带脚本把 Markdown 转成带打印级 CSS 的 HTML,再用 Playwright 驱动 Chromium 出 PDF。两处关键 CSS 值得抄走:代码块 white-space: pre-wrap 加 word-break: break-all,保证长行换行而不是被切;Mermaid 初始化时 useMaxWidth: true 加 wrap: true,让图自动缩放进页宽。中文字体(微软雅黑、苹方)和 A4 页边距都预设好了。

最有趣的是它附带的 Mermaid 避坑清单,全部带真实战例:菱形节点里不许塞复杂文本、节点文字里禁用问号感叹号、<br/> 别滥用。而它的错误示例是「验证签约数据:用户是否授权该DNN和S-NSSAI」——DNN、S-NSSAI 都是 5G 核心网术语。这件显然是从通信行业的内容产线里长出来的工具,伤单上的每一道疤都对应一次真实的排版事故。

短板:版式写死 A4 一种,页边距、字体不可配置;两步操作靠手工衔接,中间没有校验;无版本号无更新日志,一次性工具的气质。依赖 mermaid.js CDN,断网环境需要自己换本地文件——文档倒是把这条例也写了。

四、查证的:wikipedia-research

定位:四件里最重的一件,v2.0,五个自带脚本,管的是内容产线最要命的一段——进料查证。它把「读维基百科做研究」从抄散文升级成一条结构化流水线:抽取、验证、富化、落盘四个阶段,产出带完整引用溯源的 JSON。

拆解:三个设计值得单独说。第一,评级体系:它直接搬用了军事情报学的 Admiralty Code(海军部代码),把来源可靠性分 A 到 E 五档,A 档要求 80% 以上引用核验通过——情报界用了几十年的「信源可信度」语言,第一次被一件中文圈的技能件写进 SKILL.md。第二,置信度明码标价:每条论断的置信度是加法公式——底分 0.50,有 DOI 加 0.20,有 PMID 加 0.15,有 ISBN 加 0.10,作者信息加 0.10——公式全在文档里,不玩黑箱。第三,诚实声明:它明确列出公式做不到什么——「Does NOT verify that the source actually supports the claim」,不验证来源是否真支持论断,不假设 DOI 等于同行评审。一份技能文档敢把自己的边界写成小节,这在四件里是独一份。

flowchart TD
    P1["Phase 1 抽取"] --> P2["Phase 2 验证"]
    P2 --> P3["Phase 3 富化"]
    P3 --> P4["Phase 4 落盘"]
    P1 --> Q1["引用转 CSL-JSON"]
    P2 --> Q2["DOI与PMID核验"]
    P2 --> Q3["死链Wayback兜底"]
    P3 --> Q4["实体关系时间线"]
    P4 --> Q5["知识图谱JSON"]

验证环节还有两个细活:自动识别维基百科的不确定模板——{{citation needed}}、{{disputed}}、{{outdated}} 全都打旗标;死链不判死刑,先去 Wayback Machine 找存档兜底。每次抽取都保存 revision_id,保证研究可复现。

短板:链路重,上手要读得懂 JSON schema 和 Python 调用;整条流水线依赖维基 API 和 doi.org 的连通性;置信度终归是元数据启发式,文档自己承认替代不了人工核对关键事实。

五、编课的:tutorial-engineer

定位:四件里的对照组。它的头两节是万能模板——「Use this skill when:Working on tutorial engineer tasks or workflows」,这种句式一看就是脚手架批量生成的壳。但壳里的内核是一份像样的技术写作教学法:概念分解、渐进披露、动手练习、错误预判五项专长,加上「What You'll Learn → 最小示例 → 引导练习 → 变体 → 挑战 → 排错」的标准教程骨架。

拆解:内核里两条原则有真功夫。一是「Fail Forward」——教程里故意埋错误,让读者在修 bug 中学会调试,这是高级教程和流水账的分水岭;二是练习五型谱系(填空、除虫、扩展、从零造、重构),把「动手」拆成了可轮换的题型而不是一句空话。结尾的质量自检清单也实用:「新手能不能不卡壳地跟完」「概念是否先于使用出现」「每个示例是否完整可跑」。

短板:全件零脚本、零模板文件、零输出校验,全靠提示词驱动;模板壳的存在说明作者没做收尾的定制——头是批发的,身是手艺的。它更像一份「够用的教学提示词」,和 wikipedia-research 那种带脚本的工程件不在一个重量级。

六、后排件的三条共性

其一,确认闸归零。 前排造型件流行两道闸:先确认理解,再确认方案,宁可多问一轮。后排四件全部零确认——jupyter 用「锁意图」代替提问,md2pdf 和 wikipedia-research 参数即指令,tutorial-engineer 连参数都没有。这不是偷懒,是分工:造型件的产出主观性强,问清楚再干;后勤件的产出有客观对错,问不如干,错了重跑就是。

其二,伤单即文档。 md2pdf 通篇是「踩过的坑」的形状:超宽、截断、CDN 断网、Mermaid 语法雷区,每个坑带解法带反例。jupyter-notebook 的防 JSON 手写、wikipedia-research 的死链兜底,本质也是把事故史写成流程。好技能和差技能的分界线,往往不在提示词多漂亮,而在有没有把翻过的车写成护栏。

其三,户口与门牌分离。 jupyter-notebook 写明要装进 ~/.codex/skills,却实实在在接受 Claude 的调度;tutorial-engineer 的模板壳是某家技能生成器的批货,内核却谁都能用。后排件普遍不关心自己在谁家门口——它们的 SKILL.md 里几乎不出现特定产品名,只出现路径、参数和清单。可移植性不是喊出来的,是写文件时就不依赖门牌。

七、安装与使用

四件都是目录即安装:把技能目录放进 ~/.claude/skills/ 即被识别。上手命令如下。

jupyter-notebook(先设路径,再一条命令出骨架):

export CODEX_HOME="${CODEX_HOME:-$HOME/.codex}"
export JUPYTER_NOTEBOOK_CLI="$CODEX_HOME/skills/jupyter-notebook/scripts/new_notebook.py"

uv run --python 3.12 python "$JUPYTER_NOTEBOOK_CLI" \
  --kind tutorial --title "Intro to embeddings" \
  --out output/jupyter-notebook/intro-to-embeddings.ipynb

md2pdf(两步走):

python <skill-path>/scripts/md2pdf.py "input.md"
# 生成 input.html 后,用 Playwright 出 PDF:
# page.pdf(path="output.pdf", format="A4", print_background=True)

wikipedia-research(四阶段对应四个脚本入口):

from scripts.citation_extractor import CitationExtractor
from scripts.source_verifier import SourceVerifier
from scripts.entity_extractor import EntityExtractor

research = CitationExtractor().extract_article("Subject_Name")
results  = SourceVerifier().verify_citations(research["citations"])

tutorial-engineer(无命令,直接下达写作任务即可,进阶细节在 resources/implementation-playbook.md)。

八、分场景排行榜

结语

后排件没有 Star 传奇,也没有出圈作品,但一台机器的内容产能,恰恰由这些工位的深度决定:查证件决定进料质量,算账件决定数据可信,编课件决定知识能否二次分发,印纸件决定交付的最后一厘米。这一轮横评里最值得带走的不是某一件,而是一条写件标准——把翻过的车写成护栏,把自己的边界写成条文。做到了这两条的,哪怕只有一页纸,也是好件。

参考来源

  1. ~/.claude/skills/jupyter-notebook/SKILL.md — 本地装机文件,本文一手分析对象(CODEX_HOME 路径设定、双模板、脚手架脚本均出自该文件)
  2. ~/.claude/skills/md2pdf/SKILL.md — 本地装机文件,超宽截断问题清单、两步流水线、Mermaid 避坑例句均出自该文件
  3. ~/.claude/skills/wikipedia-research/SKILL.md — 本地装机文件,Admiralty Code 评级、置信度加法公式、局限声明均出自该文件
  4. ~/.claude/skills/tutorial-engineer/SKILL.md — 本地装机文件,模板壳结构与教学原则清单均出自该文件
  5. anthropics/skills — Anthropic 官方技能仓库,本栏观察技能设计惯例的常设参照

[!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 等场景全覆盖。

51学通信知识星球海报-扫码加入