技能:高质量政策解读系列文章生产流水线(policy_series_producer)
> 固化自刘数擎公众号运营实战(2026年),适用于「十五五」规划、重大政策文件解读等系列专题批量生产。
> 本技能为自包含版,核心 SOP 直接写在下方,依赖文件说明见「核心依赖」节。
一、触发场景
- 用户要批量产出「政策解读 / 重大规划」类系列长文(如「六张网」「十五五」各专题),并完成
写作 → 数据核验 → 合规自检 → 封面 → 上传草稿箱 → 记录登记全链路。 - 关键词:系列文章、系列专题、高质量系列、批量写、XXXX系列、多出版系列。
二、核心产出
- N 篇风格统一、数据扎实、合规达标的公众号 HTML 文章(inline CSS,无
<style>) - 每篇配一张主题匹配封面
- 全部进入公众号草稿箱(未发布,待人工后台审核群发)
cover_history.json/published_titles.json安全登记(JSON.parse/stringify,绝不手工拼)
三、核心依赖文件
以下文件需存在于 auto_publish/ 目录(部分脚本含标准版本,可从 Skill 内置复制):
| 文件 | 作用 | 来源 |
|---|---|---|
upload_article_only.js |
上传文章到草稿箱 | 微信草稿箱 API |
upload_cover_only.js |
上传封面图 | |
record_cover.js |
安全记录封面(JSON.stringify) | |
record_article.js |
安全记录标题(JSON.stringify) | |
_check_article.js |
引号/格式/字数自检 | |
_fix_batch.js |
中文引号批量修复 | |
cover_history.json |
已用封面记录 | |
published_titles.json |
已用标题记录 |
四、6 步流水线(速查)
1. 系列规划 + 模板复用
- 定总主题与排序 / 标题公式,例:
《六张网里,[X]为什么排第[N]位》 - 复用标准写作模板:
- 标题公式 = [对象] + 为什么 + [排序/核心价值]
- 摘要 = 背景事实 → 核心矛盾 → 读者价值(三句,置于
<title>后) - 正文骨架 = 是什么 → 为什么 → 钱/规划 → 跟我啥关系
- 设计「系列地图 + 前后呼应 + 下篇预告」钩子链,让多篇成体系。
2. 数据核验(必须联网)
web_search/ yuanbao 逐篇抓 2026 年官方硬数据(投资额、覆盖数、惠及人口、基站数…),记来源(部委 / 发布会 / 规划文号,如发改能源〔2026〕884号)。- 机构测算数字必须标注「非官方计划数 / 机构测算口径」免责。
- 宁可多搜几组,不跳过。
3. 写作(HTML inline CSS)
- 无
<style>,纯内联;<title>标题</title>后紧跟三句摘要;四章用<h2>;结尾固定引导语仅 1 次(点击关注,每周解读1条政策干货。+ 签名行)。 - 政府 / 政策内容正面表述,批评用「建议」方式。
4. 引号自检(红线)
- 写完必跑
node auto_publish/_check_article.js <file>,要求ascii_quotes = 0(hasH1=false、hasUl=false、guideCount=1)。 - 不为 0 → 用
_fix_quotes.js/_fix_batch.js修复(只替换标签外成对引号),修复后重跑确认归零。 - ⛔ 复杂正则禁止
node -e内联(PowerShell 转义报错)→ 一律写脚本文件。
5. 封面选型 + 上传草稿
- 优先级:① 本地
covers/(查cover_history.json排除已用、image 工具核验匹配度 ≥7、与近期已用视觉对比防同质化)→ ② AI 生图(需SILICONFLOW_API_KEY,当前 .env 无则不可用)。 - ⛔ 禁止「看文件名猜内容」——必须用 image 工具预览核验语义匹配。
- 上传(封面绝对路径直接传,脚本内部先传封面拿 media_id 再校验并传草稿):
powershell Copy-Item auto_publish/<article>.html auto_publish/article_auto.html -Force node auto_publish/upload_article_only.js 公众号 "<封面绝对路径>" - IP 白名单可能拦(40164
api unauthorized)→ 提示用户把当前出口 IP 加到公众号后台安全中心。
6. 记录登记 + 收尾(红线)
- 封面:
node auto_publish/record_cover.js <封面文件> <主题> "<标题>" 公众号 - 标题:
node auto_publish/record_article.js "<标题>" "<日期>" "公众号" "<主题>" "<封面>" "<media_id>" - ⛔ 绝对禁止 write/edit 手工拼 JSON(中文引号会写坏文件),一律走脚本。
- PowerShell 传含中文引号的参数会被截断 → 标题带「」时,用临时 JS 脚本从 HTML
<title>读取,再JSON.stringify写入(见 SERIES_PLAYBOOK 的 spawnSync 模式 /_run_record_cover.js)。 - 临时
_tmp_*.js清理需用户二次确认(安全策略拦批量删除,不得绕过)。
五、致命坑速查
- write 工具中文引号→ASCII → 写完必跑
_check_article.js,ascii_quotes必须 0 - PowerShell 中文引号参数被截断 → 临时 JS 脚本从 HTML 读标题再
JSON.stringify写入 - 手工写 JSON 破坏文件 → 一律用
record_*.js - cover_history / published_titles 被重置 → 从
Documents/QClaw_Backup/提取备份用rebuild_published_titles.js合并 - IP 白名单拦截上传 → 用户加当前出口 IP 到公众号后台
- 封面只看文件名不看图 → 必须 image 工具核验,匹配度≥7
七、验收清单
- [ ] 每篇
_check_article.js的ascii_quotes = 0 - [ ] 上传校验清单全过(结构 / title / 无 h1 / 引导语唯一 / 篇幅)
- [ ] 封面已 image 工具预览匹配(≥7)且非已用
- [ ]
cover_history.json+published_titles.json含新记录且JSON.parse合法 - [ ] 文章在公众号草稿箱,待人工审核群发