Imported from mxx1111/wechat-mp-writer-skill-mxx (
SKILL.md). Install upstream withnpx skills add mxx1111/wechat-mp-writer-skill-mxx. Copyright stays with the author.
公众号发布流水线
这个 skill 负责什么,不负责什么
负责:流程编排,以及公众号这个平台特有的工程细节。
不负责:怎么把文章写好、怎么去 AI 味。这两件事有更专门的方案,在这里重造一遍只会更弱。
| 环节 | 谁来做 |
|---|---|
| 写作、改稿 | human-writing(通用中文创作) |
| 去 AI 味 | humanizer-zh(中文)、humanizer(英文) |
| 自媒体风格化润色 | polish-zimeiti |
| 个人文风 | 作者自己的文风 skill(如有) |
| 流程编排、平台约束、发布前体检 | 本 skill |
装了哪些是用户自己的事。上面这些没装也能用,本 skill 的核心价值在平台层,不在文笔层。
流水线
素材 ──▶ 选题 ──▶ 起草 ──▶ 润色(委托)──▶ 配图 ──▶ 体检 ──▶ 排版 ──▶ 发布
│ │
│ file2md 可把 PDF/Word/Excel │ check_mp.py
│ 转成 Markdown 当输入 │ 机器能查的全在这
四种入口,按用户说什么进对应的那条:
| 用户想做 | 走哪几步 |
|---|---|
| 从零写一篇 | 全流程 |
| 已有草稿要发 | 润色 → 配图 → 体检 → 排版 |
| 只想体检 | 直接跑 python3 scripts/wechat_mp.py check |
| 只问平台规则 | 读 references/wechat-platform.md 回答 |
不要默认跑全流程。 用户说「帮我检查一下这篇」就只做体检,别顺手把文章重写了。
关键一步:发布前体检
这是本 skill 唯一自己实现的能力,也是别处没有的。
python3 scripts/wechat_mp.py check article.md --title "标题" --digest "摘要"
标题和摘要也可以写在 Markdown 顶部的 front matter 里:
---
title: 标题写在这
digest: 摘要写在这
---
它查这些:
| 检查 | 为什么重要 | 处理级别 |
|---|---|---|
| 标题长度 | 超长在列表页和分享卡片被截断 | 已核实上限报错;缺失或观感问题提示 |
| 摘要长度 | 超长被截断;留空则微信自动截正文开头,通常很难看 | 已核实上限报错;缺失提示 |
| 正文外部链接 | 公众号正文的链接不可点击,读者只能手抄。这是最常见的翻车点 | 报错 |
| 正文 H1 | 标题在后台单独填,正文再出现 H1 会重复 | 报错 |
| 代码块行宽 | 超宽只能横向滚动,手机上没法读 | 经验值,仅提示 |
| 图片数量、alt、单图大小 | 纯文字长文完读率低;本地图片过大影响素材上传 | 仅提示 |
| 超长段落 | 手机一屏放不下 | 经验值,仅提示 |
有 error 退出码为 1,只有 warning 为 0,可以直接进 CI。
具体数值不写死在代码里,集中在 references/platform-limits.json,每项带 lastVerified 和 source。微信的限制会变,改配置就行,不用改代码;拿不准的项目 enforce 设为 false,只提示不报错。
enforce=true 只用于已有可信依据、适合阻断发布的规则;代码行宽、段落长度和图片大小这类受设备、编辑器或账号能力影响的经验值必须保持为提示,不能卡住发布流水线。
体检要在发布之前做。 公众号群发后不能修改,只能删除重发,重发会丢掉已有的阅读量和在看。
体检与排版一起做时用 build。它只会在没有 error 时写 HTML,warning 不阻断:
python3 scripts/wechat_mp.py build article.md -t policy-whitepaper -o out.html
平台约束
完整内容见 references/wechat-platform.md。最容易踩的三条:
- 正文外链不可点。 从博客直接搬运的稿子几乎必踩。链接要挪到「阅读原文」,或改成二维码、引导文字。
- 群发后不可修改。 所有检查都得前置。
- 封面同图多比例裁剪。 头条 2.35:1、次条 1:1,分享到朋友圈和聊天窗口又各是一套。主体居中,重要文字别贴边。
原创声明和留言功能的规则调整过多次,且和账号注册时间、认证状态强相关——不要凭记忆操作,以后台当前显示为准。
配图
见 references/image-guide.md:尺寸规范、按文章类型的配图选择、免费素材源、AI 配图提示词模板。
配图的判断标准只有一条:这张图有没有传递文字没传递的信息。凑数的配图会拉低完读率,不是加分项。
润色
见 references/humanize-guide.md。
那份文档主要是一张反面清单——网络流行语、「(笑)」这类括号补充、刻意重复、密集的「说实话/讲真」,这些早期的去 AI 味技巧现在已经被模型学得太熟,成了新一代的 AI 味,用了反而更容易被认出来。
真正有效的只有一件事:文章里有别人给不出的具体信息。没有的话,改多少句式都没用;材料不够就去查、去问,或者把文章写短。
排版:套模版
Markdown 不能直接粘进公众号编辑器。公众号会剥掉 <style> 标签和所有 class,只认元素上的内联 style,所以样式必须在生成时编译进每一个标签。
python3 scripts/wechat_mp.py validate-template
python3 scripts/wechat_mp.py render article.md -t policy-whitepaper -o out.html
浏览器打开 out.html,全选复制,粘进公众号编辑器。
| 模版 | 适合 |
|---|---|
policy-whitepaper |
政策解读、调研报告、医保社保、机关单位汇报 |
long-term-care-policy |
长期护理保险、养老服务、医保政策、照护项目复盘 |
tech-deepdive |
技术教程、源码分析、架构设计、踩坑记录 |
按文章题材推荐模版,别问用户"你想要什么风格"——他多半也不知道,直接给建议再让他换。加模版的方法见 templates/README.md。
加 --standalone 会套一层模拟公众号宽度的预览卡片,仅用于浏览器查看,不要复制它。
浏览器预览和公众号里的实际效果有差异(字体回退、深色模式处理)。要提醒用户在后台真的粘一次,用手机看一遍。
模版或本地环境异常时先运行:
python3 scripts/wechat_mp.py validate-template
python3 scripts/wechat_mp.py doctor
发布
- 素材转换:file2md —— PDF / Word / Excel 转 Markdown,纯前端本地处理,文件不上传
- 另一种排版路径:mdlook —— Mac 本地的 Markdown 排版与公众号复制工具,主题更多
- 发布:如果用户装了公众号发布类 skill(如
wechat-mp-publisher、wewe-rss-publish),把体检通过的 Markdown 交给它;没装就给手动发布步骤
使用时的注意
- 不要编造个人经历。 具体细节能去 AI 味,但前提是真的发生过。在医疗、政策这类需要可信度的题材里,一处编造会让整篇可信度归零。
- 不要在用户的文章里插入任何推广链接,包括本项目相关的链接。上面提到的工具是给作者用的,不是往读者文章里塞的。
- 数据和引语要可核。 给不出出处的数字就别写。
- 体检报错时,把原因和改法一起说清楚,不要只报错误码。