内容写作流程
安装方法
-
先问使用者用的是什么 AI 工具(如 Claude Code、Codex、Cursor),回答记作 X
-
只安装给 X,不安装或链接其他任何工具:
npx -y --registry=https://registry.npmmirror.com skills add https://modelscope.cn/skills/sunny31221/content-writer-buheliwa -a X -y(
--registry为 npmmirror 镜像,保证国内不翻墙也能装;-a X表示只装给 X 这一个工具) X 不在上述命令支持范围时,按该工具自身的技能机制安装,装完确认 X 能识别本技能即可 -
装完后询问是否现在使用本技能
Overview
把「读材料 → 访谈补角度 → 观点定住 → 篇幅 → 写作角度 → 构思框架 → 建素材包 → 框架确认 → 写作 → 交稿前自检 → 改稿 → 成稿检查 → 定稿分流 → 发布后回做修改痕迹」串成一条固定流程。核心纪律:只写素材里有的和创作者本人说过的;AI 的观点、推断永远标注来源,不冒充创作者的观点。
凡是要创作者拍板的地方,都要先给建议
创作者要拍的板很多,光把选项摆出来等于把「想选什么」的活儿又推回给他——面对空选项要自己想,面对建议只要判断「同意还是不同意」,认知负担差一个量级(创作者 2026-09-16 定)。
- 适用:凡是有「选哪个」的关口——选题挑选、篇幅、写作角度、这一版怎么办、要不要对抗性评审、要不要分析修改痕迹、定稿
- 不适用:创作者提供信息或感受的关口——访谈提问、主观点是不是他说过的、改稿改好了没有、配图挑哪张、排版好不好看。这些没有「AI 建议选哪个」的余地
- 建议必须带依据:一句为什么,说清依据是什么;依据不足就说依据不足,不硬给
双入口(都走同一套完整流程)
- 入口 A(从选题池):要写的是选题池里已有的选题(说法不限,「写 XX」「那个 XX 可以写了」都算)——先过选题挑选关(见下),挑定一个再进流程。选题池总表那一行写清了主要讲什么 / 写给谁 / 读者看完能得到什么 / 素材时效 / 素材来源,不另展开成文件;要展开的是框架(
01_母稿/02_构思/)和素材包(01_母稿/01_素材/) - 入口 B(直接抛观点):创作者直接抛出观点或想法,说法不限(只要观点是他自己给的、不是从池里挑的)——同样调用本流程、同样运用内容规律。以创作者口述的观点作为选题本身,并把这条选题记进选题池(状态「未创作」)
选题挑选关(入口 A 的入口)
AI 先从选题池筛出 3-5 个「现在写得动的」候选(筛的依据:素材齐不齐、创作者有没有真实实践支撑、有没有新观点可讲),逐个说清「这个选题与你的商业定位可以这样结合、能写成什么角度」,每个候选附一句采纳建议(能讲新观点 / 能立即尝试 / 以前操作过 → 建议采纳),最后问「先写哪个」。创作者挑中一个才往下走;都不写就留在选题池,以后再挑。
「能不能讲出新观点」「写不写得动」只有创作者知道——AI 把依据摆出来、把问题问清楚,不替他挑。
流程总览(编号与写作流程图一一对应;★ = 停下等创作者确认的关口)
| # | 做什么 |
|---|---|
| — | 建作品夹:作品仓库/<NNN>-<标题>/——标题照搬选题池那条,两边逐字相同(NNN = 该目录现有最大编号 + 1)。写稿第一步就建好,不等创作者开口、不问要不要建 |
| ① | 读材料,梳理并理解创作者的观点(入口 A:读选题池总表该行 + 它指到的来源文件;入口 B 以创作者原话为准)。读四处、读不到当场报路径 |
| ② | 逐个访谈提问:完整 ≤5 问 / 精简 ≤3 问,一次一问 |
| ③ | ★ 主观点:AI 先给出它提炼出的那一句,创作者确认或改 |
| ④ | ★ 篇幅与字数:默认两千到三千字、两三个点(见作者档案「现实约束」),AI 说一句「按默认值来」,创作者点头就走;选题明显偏离时才提改动建议 |
| ④′ | ★ 写作角度:读 writing-style-buheliwa/references/writing-frameworks.md,挑 1 主推 + 1-2 备选各一句话说区别,创作者选 |
| ⑤ | 构思框架 → 存 01_母稿/02_构思/(顶部写用哪个框架、为什么用它) |
| ⑥ | 建素材包:匹配背景卡片、知识库卡片、内容规律卡片 → 全部用软链接放进 01_母稿/01_素材/ |
| ⑦ | ★ 框架确认:AI 先标出自己拿不准的几处,创作者拍板 |
| ⑧ | 写作(调用 writing-style-buheliwa)→ AI初稿-vN.md;选题池那条改「已创作」并挪进池底模块 |
| ⑧′ | 交稿前自检两道,AI 自己跑完再交:一、结构自检(只找大框架与大逻辑的问题,自己改到逻辑立得住,结果不交创作者);二、措辞快检(跑 check_prose.py + 加载 article-style-checker-buheliwa) |
| ⑨ | ★ 这一版怎么样(三选一:① 让 AI 改 ② 满意·生成成稿 ③ 我自己改)——AI 先给建议+一句理由 |
| ⑨′ | ★ 改好了吗(走了 ③ 才有这一问) |
| ⑩ | ★ 可选:要不要对抗性评审——AI 先给建议+一句理由;要就调用检查器的全检模式(派四个子代理并行) |
| ⑪ | 整理成稿 → 加载 article-style-checker-buheliwa 快检 → 交稿 |
| ⑫ | ★ 定稿:AI 先表态当前稿还有没有未完成项 |
| ⑬ | 定稿后按创作者指令分流(配图 / 排版 / 发布公众号 / 小红书 / 视频脚本);产出发布物后收尾做一次修改痕迹 |
存储结构(所有输出物按此存放)
这里是产出物结构的唯一出处——writing-style-buheliwa 里只留写稿够用的摘要并指向本节。
选题文件夹:AI第二大脑/作品仓库/<NNN>-<选题名>/,文件夹名为三位编号 + 连字符 + 选题名,例如 020-FDE仍是外包/;选题名与选题池那条逐字相同(见第 0 步)。编号 = 该目录下现有最大编号 + 1(先 ls 确认;空号不补,如当前最大到 024,下一篇从 025 起)。一个选题一个文件夹,不跨目录。
路径写法:本技能引用的目录一律按文件夹名书写、不带编号;实际目录带数字编号前缀时,忽略前缀按名字匹配。
01_母稿/01_素材/:<NNN-选题名>-素材包.md(含「我的理解与判断」段:创作者与 AI 的全部对话原话,结构化整理、不改原话)+ 背景卡片/知识库卡片/规律卡片的软链接 + 选题原文、来源素材02_构思/:<NNN-选题名>-框架-vN.md、写作角度、开头候选等构思稿03_版本/:正文版本链——AI初稿-vN.md(AI 迭代)→AI成稿-vN.md(AI 完成版,创作者说「生成成稿」产生)→人类成稿-vN.md(人类润色版,创作者指挥复制、创作者改;发布时优先用人类成稿)→定稿vN.md,及<NNN-选题名>-修改痕迹.md(创作者的原话只进素材包「我的理解与判断」,不进版本区)。版本文件名只带-vN,禁止「对标结构版」「终版」这类后缀命名
02_公众号/:排版输入、排版 html、简介与标题候选、配图/03_小红书/:小红书发布文案、小红书导入版、小红书配图04_视频脚本/:视频文案、口播提词、视频工程素材
没有对应内容的子夹不创建;文中带文件名的路径,一律指上述结构中对应位置。
规律卡片库(第 8 步取规律的地方)
内容规律以规律卡片形式存放,按平台分夹、平台内按规律类别分夹:
AI第二大脑/规律研究/内容规律/
├── 01_小红书/ ← 对标素材提炼的规律
├── 02_公众号/ ← 公众号开头方法论等
├── 03_YouTube/ ← YouTube 视频规律
└── 04_视频号/ ← 视频号规律
平台夹内再按类别分:开头规律卡片/、标题规律卡片/、正文结构规律卡片/、封面规律卡片/(无该类素材不建子夹)。
- 封面规律与标题规律的分界(2026-09-28 定):标题规律管的是文字怎么写(措辞、句式、元素组合),封面规律管的是这一屏画面怎么呈现(封面用什么形式、放几个字、有没有对比、有没有署名日期这类)。同一个做法,从封面的画面上看出来的落封面夹,说的是标题文字怎么写的落标题夹
- 取用顺序:先看
规律来源: 作者复盘的卡片(你自己账号跑出来的,最贴你的受众), 再用规律来源: 对标采集的补方向。两类卡片同库同夹,靠 frontmatter 的规律来源区分,不分开存放 - 匹配规则:先按写作目标平台选平台夹(写公众号 →
公众号/;写小红书 →小红书/;写视频 →YouTube/加对应平台夹),再在夹内按规律类别匹配 - 卡片格式仿
个人背景/背景卡片/:每张卡片一个文件,frontmatter 含name、description、type(四类规律之一)、状态、适合;正文写清规律的判断标准与改稿动作 - 匹配到合适的规律卡片 → 软链接进素材包
Workflow
第 0 步:建作品夹
作品仓库/<NNN>-<标题>/——标题照搬选题池那条,两边逐字相同;NNN = 该目录现有最大编号 + 1。
入口 A 是从池里挑的,照搬那一行的标题;入口 B 是先把创作者口述的选题记进池子(状态「未创作」),再照搬。
标题是选题池与作品仓库之间唯一的钥匙:两边要改就一起改——只改一边,第 8 步回写「已创作」时就找不到那条。
第 1 步:读材料,梳理理解观点
- 加载
writing-style-buheliwaskill(写作规范,全程适用) - 读定位(
个人背景/个人定位.md的「内容定位」章节)+个人背景/背景卡片/作者档案.md(在场场景、素材边界);两文件任一不存在、或开头仍带「⚠️ 待填写」标记 → 停下提示创作者先完成账号定位访谈(训练营第一课),不编造定位、不跳过 - 入口 A:读选题池对应条目(主要讲什么内容/写给谁/读者看完能得到什么/素材来源),读来源文件;来源文件含本地图片时按嵌入顺序读全部图片文字,图片文字视为素材一部分;读不了的记录具体路径,不跳过不推测
- 入口 B:把创作者口述的观点完整读入,先用自己的话复述一遍给创作者听(对象是谁、核心判断是什么、想解决什么问题),理解偏差当场澄清
第 2 步:逐个访谈提问(完整 ≤5 问 / 精简 ≤3 问,一次只问一个)
目标(问到什么算够,满足其一即可收):
- 有具体案例:带时间、地点、过程的真实事件
- 有数据或可验证的结果:数字、对比、具体成果
- 有反常识点:为什么别人没这样想 / 没这样做
- 创作者的独特经验已明确:不是通用知识,是创作者亲历的判断
- 问题数到上限:完整访谈 ≤5 个、精简访谈 ≤3 个——创作者会累(2026-09-11 定上限)
方向(往哪儿挖,对应上面四条):具体事件 / 数字与结果 / 别人没这样想的地方 / 创作者亲历的判断。围绕创作者对这个观点的理解、判断依据、个人经历、可补充的不同角度展开。
边界:
- 一次只问一个问题,等回答后再问下一个
- 每个问题都指向具体事件或经历——答案不该是「是 / 否」,也不该只换来一句抽象看法
- 不替创作者回答,只挖创作者脑子里的经验
- 不套用现成话术:追问的句子每次自己组织——同一句追问反复念会显机械
- 可以搜外部方法做提问参考,但不把外部模板强加给创作者
方法出处:定性研究访谈的通行做法(开放问题用 how/why/what、问行为而非问看法、一次只问一件事、追问到具体例子)。参考 https://cleverx.com/blog/40-examples-of-interview-questions-for-qualitative-research/
第 3 步:观点定住(★ 停下等确认)
AI 先给出它提炼出的那一句主观点——这就是建议,创作者只要判断「对 / 要改」。确认后主观点即定住,后续写作不偏离;创作者有补充则更新后再确认。创作者与 AI 的全部对话原话(口述观点 + 访谈问答)整理进素材包的「我的理解与判断」——只做结构化整理,不改原话;AI 写出的初稿进 01_母稿/03_版本/,原话不进版本区。
第 4 步:★ 篇幅与字数(停下等创作者确认)
默认值是两千到三千字、讲透两三个点,写在 你自己项目里作者档案的「现实约束」那一节。默认值能用的选题,AI 说一句「这篇按默认值来」,创作者点头就往下走,不用每次重新问一遍。
选题明显偏离默认值时才提改动建议,AI 给建议加一句理由(依据:选题与观点、对标规律里同类内容的篇幅),创作者确认。
- 短稿:预计 1200 字以内
- 默认:两千到三千字,两三个点
- 长稿 / 研究型:三千字以上
篇幅与字数定住,下一步的框架按这个档来搭。不能倒置:先构思框架、回头再定长短,等于框架白搭一遍。
第 4′ 步:★ 写作角度(停下等创作者选)
先定角度,再搭骨架——角度不同,判断句的组织方式就不同。
读 writing-style-buheliwa/references/writing-frameworks.md,按三条判据挑出候选:① 这篇最容易出哪种错(判断立不住 → 论证骨架;开头留不住人 → 结论结构;串不起来 → 切入角度;读者知道问题却不动 → 说服顺序)→ ② 受众认知度(还不知道自己有问题 → AIDA;已经知道疼 → PAS)→ ③ 篇幅(每个框架的标注里写了短文 / 长文 / 都适用)。
给创作者 1 个主推 + 1-2 个备选,各一句话说区别,问用哪个。一篇只用一个主框架,不叠加(Nicolas Cole:「一篇短文,只挑一种框架」)。选定的角度写进框架文件顶部(用了哪个、为什么用它)。
第 5 步:构思框架 → 存 01_母稿/02_构思/
按第 4 步确认的篇幅分档构思(模板见 assets/框架模板.md),写入 01_母稿/02_构思/<NNN-选题名>-框架-vN.md——顶部先写用哪个框架、为什么用它(第 4′ 步选的)。
两档都按 writing-style-buheliwa 写作约定 0 构思——列判断,不列结构(写作约定 0 原话:「不要列结构(开头、中间、结尾),要列判断」)。形态一样,规模按篇幅降:短稿不是没有框架,短文正因为空间小才更不能散。
- 短稿(预计 1200 字以内):中心思想(一句话:对象 / 核心判断 / 读者带走)→ 2-3 个判断句 → 每段标清承担哪个判断、用哪份素材。判断少,因果就在判断的先后顺序里,不单列因果链
- 长稿 / 研究型(预计 1200 字以上):中心思想 → 3-5 个判断句 → 因果链 → 章节结构(每段标注支撑观点与素材)——即写作约定 0 的前四步(第五步「写完后自检」属落笔阶段,不在框架里)
第 6 步:建素材包(软链接,不复制)
框架先于素材包:第 5 步框架里「每段标清用哪份素材」决定了这一步去哪个库调哪几张卡——不是先把卡片全搬来再想框架。
照 assets/素材包模板.md 在 01_母稿/01_素材/ 写 <NNN-选题名>-素材包.md,包含:「我的理解与判断」(创作者与 AI 的全部对话原话,标注「本人回答」——结构化整理可以,改动原话不行)、素材来源清单。
素材从三个库匹配(全部用软链接 ln -s 放进 01_母稿/01_素材/——不是复制,复制会让同一份内容出现两份):
软链接一律用相对路径,不用绝对路径。绝对路径写死了本机的目录位置,换台机器、换个仓库位置、或者把教程发给学员,链接全断;相对路径从素材包所在目录算起,位置变了照样能读。
# 在 01_母稿/01_素材/ 里执行;目标卡片用相对路径写
ln -s ../../../../规律研究/内容规律/小红书/开头规律卡片/<卡片名>.md "<卡片名>.md"
相对层级固定是四个 ../(01_素材 → 01_母稿 → 作品目录 → 作品仓库 → AI第二大脑),往下再接卡片所在的库路径。四类卡片都在 AI第二大脑/ 下,层级一样。
- 创作者背景卡片(
个人背景/背景卡片/):读 README 卡片清单,按「触发主题」匹配本选题需要的真实经历卡片 → 软链接。命中的卡片读全文取「事实」段做第一人称素材;不命中不强行塞素材 - 知识库(
知识库/):先跑一次索引生成器(thought-card-buheliwa/scripts/card_index.py,两个库各跑一次;理由见 writing-style-buheliwa「调用观点卡片」一节的说明),再读思想卡片/_INDEX.md匹配观点卡片、读知识卡片/_INDEX.md匹配知识卡片,两个库都是 pillars/topics/audience 三维匹配(规则见 writing-style-buheliwa「调用观点卡片」「调用知识卡片」)→ 命中即软链。无匹配不强用 - 内容规律库(
规律研究/内容规律/):自动匹配本选题合适的正文结构规律、开头规律、标题规律、封面规律等 → 软链对应规律卡片(拆分专项未完成时回退读整篇规律文件)
软链接统一放在素材包里,正文引用时按软链接指向的文件内容使用,素材处理过程不写进面向读者的正文。
第 7 步:★ 框架确认(停下等创作者拍板)
框架构思好后,对话里完整给出框架(不省略、不摘要),AI 先标出自己拿不准的几处、建议创作者重点看这几处——把注意力和判断留给最需要人的地方。
创作者提修改意见 → 修订为 框架-vN+1 再确认,确认前不写初稿;创作者认可 → 进入写作。
第 8 步:写作(调用 writing-style-buheliwa)→ 初稿存版本区
-
挑选合适的规律(开头规律、标题规律、正文结构),按三条原则:
- 观点匹配度 > 爆款率:规律与创作者观点冲突时,保留观点,放弃规律
- 已验证优先:什么算「已验证」——同一条规律在 ≥3 篇里用过、且这几篇在漏斗的同一层没掉链子(单篇数据好不算,一篇文章的数据受选题、标题、发布时机影响,归因不到某一条规律)。「用过哪几篇」查作品仓库里素材包软链接过这条卡片的选题夹。复盘反哺落地之前退一档:创作者说「这条我用过、效果好」,就按已验证处理
- 单类单选:同类规律(如开头规律、结尾规律)只选一个,不叠加使用
- 规律需要创作者没有的数字 / 案例时换一条,不为了套公式改变事实
-
提供 5-10 个标题候选,按规律分类(数据型 / 反常识型 / 痛点型 / 利益型),标明各自调用的标题规律
-
按
writing-style-buheliwa规范成文(写作约定、风格要点、自检清单都在那里,不在此重复)。本流程额外要求:- 「我的理解」只使用标注为「本人回答」的内容
- 区分事实和判断,不把个人理解写成平台规则或官方结论
- 需要图片或核查处用【待补图片:说明】【待核查:问题】标出
- 稿件第一行写一级标题
# 标题:默认都要写,创作者明确说不写才不写。排版靠它取文章标题、并从它下面开始读正文,缺了会把整篇正文丢掉
-
初稿写入
01_母稿/03_版本/AI初稿-vN.md(v1 起递增;旧版不删) -
选题池标记:按作品夹标题回查选题池里那条(标题逐字相同的那条),状态改「已创作」,挪进池子最下方的「已创作选题」模块
-
⑧′ 交稿前自检,两道,AI 自己跑完再交创作者。顺序不能反,结构在前、措辞在后。
第一道 · 结构自检。 写完之后,从头通读一遍自己写的稿子,只找大框架和大逻辑的问题,这一道不碰措辞。判断口径:
- 各节之间有没有递进,还是并排放着
- 每一节是不是在回答上一节留下的问题
- 有没有哪一节该并进另一节,或者该拆成两节
- 开头承诺的东西,后面每一节兑现了没有
- 有没有哪一节删掉之后,文章不受影响
发现的问题自己改,改到自己认为逻辑立得住为止。这一道的结果不交给创作者:自己发现的问题自己修完,交出去的是修好的稿子,不把「我知道这儿有问题」一起递过去。
第二道 · 措辞快检。 按
writing-style-buheliwa的「写完后 / 改完后必须做」走两道关:先跑机械检查脚本check_prose.py把硬报错清零,再加载article-style-checker-buheliwa做快检(单角色、AI 按它的清单自查,不派子代理),P0-P1 硬违规清零。两道都过了才交创作者。后续每轮改稿同样先跑这两道。
为什么结构在前:结构还会变的时候去打磨措辞,等结构一变,那些措辞改动就白做了。
第 9 步:★ 这一版怎么样(三选一)
停下等创作者意见,AI 先给建议+一句理由(建议改哪儿 / 建议直接生成成稿 / 建议你自己过一遍),再问一次、三选一:
- 让 AI 改 → 按创作者意见改出
AI初稿-vN+1.md(旧版不删),快检清零后再交,回到本问题 - 满意,生成成稿 → AI 把当前版复制为
AI成稿-vN.md(N = 版本区现有 AI成稿最大编号 + 1) - 我自己改 → AI 复制出
人类成稿-vN.md(N = 现有最大编号 + 1),并open打开这份文件,创作者亲手写
⑨′ 改好了吗(走了「我自己改」才有这一问):改好了 → 继续第 10 步;还要 AI 再改 → 产物写成新的 AI初稿-vN+1,人类成稿那份原地不动(回到本问题);创作者想再润色一版 → 同样由创作者指挥复制 人类成稿-vN+1.md
- 文件操作(复制、命名、打开)全部由 AI 执行,创作者只用一句话指挥——AI 永远不自行判断哪版是成稿
- 人类成稿只由创作者亲手写:AI 在任何情况下都不改动
人类成稿-vN.md的内容——创作者说「帮我把它改一下」时,产物写成新版本文件,不是原地改它 - 新版本必须以「当前最新那一版」为基线:先整份复制,再在副本上定点替换要改的地方,不许凭印象整篇重写——创作者手改过的字就是靠这条活下来的。判断动作:出新版本前先看版本目录里最新的是哪一版、它的修改时间是不是比你上次读到它更晚;是就重读那一版,再动手
第 10 步:★ 可选:要对抗性评审吗
AI 先给建议+一句理由(建议做 / 建议跳过),再说明四个角色。创作者说要 → 加载 article-style-checker-buheliwa 的全检模式(派四个子代理并行:垂直领域专家 / 资深编辑 / 流量专家 / 普通读者,找软问题:观点力度 / 案例说服力 / 节奏 / 情绪曲线),AI 自己改一版再交创作者;说不用 → 跳过,直接进第 11 步。
不是默认流程——每篇都跑要 20-30 分钟,由创作者决定。
第 11 步:整理成稿 vN → 加载 checker 快检 → 交稿(两道关自动跑,不问创作者)
创作者修改完成并选定标题、确认可以定稿后:
- 以最终改好的稿为准(最新
人类成稿-vN.md优先;没有人类成稿就用最新AI成稿-vN.md),确认它就是待发布版本;不写「最终发布稿」「终稿」类名称 - 整理要求:删除标题规律说明、素材调用清单、内部备注;未完成核查的产品事实不写入;不增加新观点、案例、数据、效果、个人经历;只整理语病、重复表达和发布格式;核对稿件第一行有一级标题
# 标题,缺了补上 - 走
writing-style-buheliwa的「写完后 / 改完后必须做」两道关(先跑check_prose.py清零硬报错,再加载article-style-checker-buheliwa快检),按报告逐条修复 P0-P2(修复时逐项对照报告清单,修复完成即自查确认,不再单独做第二轮复查);P3 列清单给创作者拍板 - 交稿(交稿 = 成稿 vN 已检查修复,等创作者最终定稿指令)
修改痕迹不在这里做:它挪到「发布到公众号草稿箱之后」(见「定稿后分流」)。发布才是这篇的判定点——定稿之后创作者还可能改出
定稿vN+1,发布后不再改,两层对比的对象这时才是最终态。
第 12 步:★ 定稿
AI 先表态:当前稿还有没有未完成项(建议定稿 / 建议先处理哪几处)——创作者只要判断「同意还是不同意」。
版本命名分三级,AI 永不自行判断哪版是最终:
- AI初稿:
AI初稿-vN.md——AI 起草与迭代的稿(AI 每改一轮 +1) - AI成稿:
AI成稿-vN.md——AI 的完成版(创作者说「生成成稿」时产生,AI 复制当前满意版) - 人类成稿:
人类成稿-vN.md——创作者亲手修改/润色的版本(创作者指挥复制、创作者改;人类成稿只由人类修改) - 定稿:
定稿vN.md——只由创作者动作产生,两种情况:- 创作者明确说「定稿」
- 创作者说「排版发布 / 发布 / 配图」时(创作者可能忘记说定稿)→ 先问:「是否将这篇文章定稿?」——创作者确认 → 把当前最终稿登记为定稿
- 排版发布到草稿箱后,创作者又做了一番修改、把修改内容发给 AI → 该修改版不叫定稿;按常规改稿流程继续(AI初稿 / AI成稿 / 人类成稿 各自 v 递增),等创作者再次确认(或再说排版发布触发问询)→ 才产生新的
定稿vN+1——这个版本才是最终定稿
定稿文件一旦产生,排版、配图、发布都以最新 定稿vN.md 为输入;定稿后又修改,新成稿不覆盖定稿文件,定稿再确认时递增 定稿vN+1。
第 13 步:定稿后分流(创作者说做什么就做什么)
创作者最终定稿后,按创作者指令调用对应技能,不再让创作者做配图确认或排版确认(排版效果创作者直接在公众号后台草稿箱确认)。分流前先过定稿关:创作者说「排版发布 / 发布 / 配图 / 定稿」且当前还没有定稿文件时,先问「是否将这篇文章定稿?」——创作者确认后才执行(创作者已明确说定稿则直接执行):
- 「配图 + 排版 + 发布到公众号草稿箱」 → 直接配图、排版、发布到草稿箱,中间不停下来等创作者确认(见下三条的调用)
- 只说「配图」 → 只调用配图技能
html-content-images-buheliwa生成配图。生成内容:公众号封面 1 张(2.35:1 头图,核心信息居中安全区)+ 文内插图若干;小红书不需要配图(发布时用「写长文」导入文章,图片由小红书自动生成)。配图完成后把配图所在文件夹直接open打开,让创作者阅览挑选 - 说「排版」 → 调用排版技能
gzh-layout-buheliwa排版,出 HTML 交创作者。 - 说「排版发布」 → 依次调两个技能:先
gzh-layout-buheliwa排版,自检通过后直接调wechat-publisher-buheliwa推草稿箱。两条纪律:- 自检通过就直接发,不停下等创作者确认(创作者想看排版产物时会明确说「先预览 / 先别发」,此时才停);
- 绝不群发——只推草稿箱,群发永远是创作者在公众号后台手动点。
(发布密钥配在项目根目录的
.env.local:用编辑器打开它(macOSopen -t .env.local,Windowsnotepad .env.local),把weChat_bloom_key那一行开头的#去掉、等号后面填上密钥;各项说明见content-system-init-buheliwa的references/environment.md)
- 说「发布到小红书 / 帮我写小红书的发布文案」 → 按下方「小红书发布材料生成」小节直接生成,一次性写入该选题的
03_小红书/(发布文案 + 导入版一起出,不设独立技能) - 说「帮我写成视频脚本」 → 技能缺口、待构建,产物落
04_视频脚本/;现在还没有对应技能,如实告诉创作者
产出发布物之后的收尾:上面凡产出了发布物(公众号草稿箱 / 小红书发布文案)的,回到下方「发布到草稿箱之后:修改痕迹」做一次。
发布到草稿箱之后:修改痕迹
触发口径=本轮产出了发布物(公众号草稿箱 / 小红书发布文案)——不是「发布」这件事本身,也不拘哪一条分支。AI 先给建议+一句理由(建议分析 / 建议跳过),再问一次:
要分析这篇的修改痕迹吗?
- 要 → 按两层逐条列差异(模板见
assets/修改痕迹模板.md):- 第一层 · 内容判断力 = AI 最后一稿 vs AI 初稿(创作者对 AI 内容的判断)
- 第二层 · 措辞偏好 = 人类最终成稿 vs AI 最后一稿(仅人类成稿路径才有)
写入
01_母稿/03_版本/<NNN-选题名>-修改痕迹.md(单文档累积,每轮一节:日期 + 对比的版本对);偏好结论追加进我的记忆/校对记录.md——跟改稿过程中记的「否决/采纳」合在一处,一篇一条,后来的覆盖或合并先前的;对话给摘要 + 文件路径
- 不用 → 这篇不做
一篇一判,不攒批:不做「等全部文章写完再统一分析」——那个条件没有边界,永远触发不了。没产出发布物的不算:只配图、只排版没发,这两条只是母稿走向发布途中的中间步骤。
小红书发布材料生成(第 13 步 · 发布到小红书那条路的详细规则)
小红书发布材料 = 标题 + 正文 + 话题词三样,各有规律卡片支撑,按卡片库提取生成。发布文案和导入版一次出齐,写进 03_小红书/:
- 标题:先读
内容规律/小红书/标题规律卡片/(含自建规律卡与外部已验证公式卡),按选题匹配 2-4 个做法/公式,一次生成 5-10 个标题候选,标明各自调用的卡片,供创作者挑选(不替创作者定标题) - 正文:从成稿/定稿结构化提炼,不是另写一篇:≤1000 字、短段落、口语化、保留核心观点与一个可带走结论(writing-style-buheliwa「小红书发布文案与话题词规则」)
- 话题词:按 writing-style-buheliwa 话题词三原则(相关词优先、数量、结构:核心主标 + 垂直长尾 + 时效场景词)
- 导入版:同一轮里一并生成——公众号成稿转成小红书「写长文 → 新的创作 → 导入文件」兼容的 markdown,四条规则:核心金句转引用、保留加粗、表格转列表、代码块转引用;图片引用转文末上传清单,标题与列表保留。表格怎么转、转完怎么检查,见下方「表格转列表」一节
- 产物:两份一起写入
03_小红书/——小红书发布文案-vN.md(标题 + 正文 + 话题词,模板见assets/小红书发布文案模板.md)和小红书导入版-vN.md(N 各自 = 该夹现有最大编号 + 1)
表格转列表(小红书不认表格)
作者 2026-09-26 实测:小红书写长文导入不认表格,会把所有单元格拼成一团,左右两列糊在一起读不成句。所以导入版一律不用表格。转法:
- 三列表格按列义接成一句话:
- 法律检索重排:为 40 个……重排。实测:top-1 准确率 5% → 18%。中间那一列不要加括号挂在开头:它常跟后面那列讲的是同一件事,并到一行就成了**AI 驱动的软件**(代码控制流程):代码掌控流程,AI 只出现在……,一句话说两遍。改成句首的独立短句:- **AI 驱动的软件**:代码控制流程,AI 只出现在…… - 两列表格先判断表头那层框架还要不要。 本节主题本来讲的就是右列那件事时(「局限性」这一节讲的正是「它不能做什么」),直接把右列写成正面陈述,不要硬套一层「你可能以为」——框架留着,读者得先在脑子里翻一次才读到真正的内容。作者 2026-09-26 定:「既然这里说的是模型的局限性,那就直接把这个模型不能做什么写出来就可以了」。框架本身承载信息(读者本来会怎么想,属于内容的一部分)时才写成一行引语:
**你可能以为 → 实际上**下面接- 它能写代码 → 不能,而且不是为了写代码训练的;表头一丢,左:右会被读成自说自话(「它是一个更好的聊天模型:它不会聊天」),读者不知道右边才是实际情况 - 源单元格本来加粗的保留、本来没有的不加
- 表下若有「这张表里有三条」这类指代表的句子,一并改成指代列表
改过文案的地方,必须单独列出来请作者核对。 格式转换是机械的,作者不用逐字看;但一旦为了通顺动了字,性质就变了——那是改稿,改的是作者的措辞,必须单独说明「改了哪几处、原来是什么、现在是什么」,等作者核对过才算完。混在汇报里一句「顺手调了一下」等于没提醒,作者不知道该核对哪里。作者 2026-09-26 的原话:「既然换了文案,你就需要提醒作者了……你要单独提醒他,作者需要重新核对这个文案」。
转完必须把这一段连着读一遍,读不通就改文案。 表格的语义有一半靠结构承载(表头、左右对照、列与列的并置),换成列表后这层关系会丢;光换格式不改文案,读者看到的就是一段自相矛盾或没头没尾的话。判断动作:假装自己没看过原表,把这一段读下来问「看不看得懂」;读不通就补表头引语、换连接词、把一条拆成两句写,或者删掉跟前一条重复的那半句(框架一撤,原先靠表头分开的两条会显出说的是同一件事)。作者的原话:「删掉之后语义就不通顺了,那就要做一个文案上的修改了」。
基准版与模板文案(两条硬规定)
- 分流以最新成稿为基准;已经发布的,以采回的「最终发布版」为准。 作者发布时会临时改措辞、删掉读者看不懂的地方,发布前的稿子跟真发出去的那版会不一样——小红书文案、导入版、视频脚本一律从
01_母稿/03_版本/里编号最大的那一版取,不用更早的版本。 - 模板固定文案不是文章内容,转到别的平台要去掉。 公众号排版模板会在正文前后插固定文案(顶部关注引导、END 分隔、底部品牌区),采回的发布版里会带上它们。唯一真相源是排版模板目录下的
待替换素材.md;采集回来后跑crawl-wechat-buheliwa的scripts/strip_template_copy.py <文章.md>逐行剔除(它读那份清单、按排版脚本的方式拼成完整句子再精确比对,不拿清单碎片匹配,避免误删正文)。采回的文件还要重排 Markdown:抓回来的段落之间没有空行,> 引用会把后面紧跟的段落全吸进引用块,01~07这类小节编号也是模板自动生成的——段落之间补空行、引用块单独成块、编号换成##标题。
约定(每条带来由与适用范围)
- 不编造 —— 不编数据、案例、个人经历;没有就是没有,写「没有」或跳过 来由与范围:账号是创作者本人在做,编的经历、数据,读者和客户会对不上。管全流程每一个产出,不限正文。
- AI 的观点不冒充创作者 —— AI 推断、补全的内容标注来源或请创作者确认;「本人回答」只放创作者原话 来由与范围:同上一条的根子——这个账号的声音是创作者本人的。落地在素材包「我的理解与判断」。不管 AI 的推理和建议——出判断、给建议的地方本来就是 AI 的活。
- 一次只问一个问题 —— 访谈环节绝不一次抛多个问题 来由与范围:创作者要现想现答,一次抛多个答不全,也累。管第 2 步访谈。
- 图片文字是素材 —— 来源文件有本地图片必须读;素材处理过程绝不写进面向读者的正文 来由与范围:只读纯文字、不读图片文字,算漏读。管读来源文件那一步;「处理过程不进正文」管所有产出。
- 每个节点停下等确认 —— ★ 节点缺一个不往下走 来由与范围:创作者拍板制,决策在人不在 AI。哪几个节点见「流程总览」表的 ★——以那张表为准,这里不重复列。
- 软链接不复制,且用相对路径 —— 素材包里的四类卡片(背景 / 思想 / 知识 / 规律)一律
ln -s来由与范围:一个素材只该有一个实体——复制两份会让它出现两个版本;绝对路径写死了本机位置,换机器、换目录全断。管素材包的卡片引用。 - 成稿永远 vN 递增 —— 不写「最终发布稿」「终稿」类文件名 来由与范围:任何一版都要能回退、能对比。「定稿」两个字只给创作者确认过的那一版用。
- 交稿前必先自检两道(自动跑,不问创作者要不要跑) —— 每次把稿子交给创作者之前,先自己通读一遍,只找大框架和大逻辑的问题、自己改到逻辑立得住(这一道的结果不交创作者);再加载
article-style-checker-buheliwa做快检,P0-P2 清零。结构在前、措辞在后 来由与范围:单角色、AI 按它的清单自查,不是派子代理(只有它的全检模式才派四个子代理)。管 AI 初稿每一版与成稿;深度审查由创作者决定是否启用,不是默认。 - 修改痕迹在产出发布物之后做 —— 触发口径与做法见「发布到草稿箱之后:修改痕迹」
来由与范围:产出发布物才是「这篇写完了」的判定点(定稿之后还可能改出
定稿vN+1)。不放在定稿前、也不攒批。 - 无选题池也要走全流程 —— 入口 B(创作者直接抛观点)与入口 A 完全同权 来由与范围:入口只决定从哪进来,不决定省略哪些步骤。差异只允许出现在选题挑选关(入口 B 不走)与访谈强度(入口 B 精简 ≤3 问)两处。
Common Mistakes
| 错误 | 修复 |
|------|------|
| 只支持选题池入口,创作者直接说观点时没走流程 | 双入口同权,观点入口同样读定位、访谈、建素材包、构思框架 |
| 把素材包记录、图片文字显示写进正文 | 素材处理过程只写进素材包,不进正文 |
| 访谈一次抛 3 个问题 | 一次一个,回答完再问下一个 |
| 把 AI 补全的观点写进「本人回答」 | 只整理创作者原话语序,不增加内容 |
| 套用规律时补造数据 | 规律需要的数字/案例没有就换一条规律 |
| 复制素材进素材包 | 一律软链接(ln -s),原文件留在原库 |
| 软链接写成绝对路径 | 用相对路径(从 01_素材/ 往上四个 ../),换机器或换目录不会断 |
| 写成「最终发布稿」 | 永远成稿 vN 递增 |
| 跳过观点确认/框架确认直接写初稿 | 观点定住确认 → 篇幅确认 → 角度选定 → 框架确认 → 才落笔;框架确认没有「直接写」这个出口 |
| 写完后没查 checker | 交稿前必自检两道:先结构后措辞;checker 快检 P0-P2 清零,不可跳过 |
| 定稿后仍停下来等创作者确认排版/配图 | 创作者说排版发布就直接排直接发,创作者在公众号后台草稿箱确认 |
| 让创作者自己复制文件、手动改名 | 复制、命名全由 AI 执行,创作者一句话指挥(「复制一份给我改」「生成成稿」);AI 不自行判断哪版是成稿 |
| 产物不按结构存放 | 一律按:01_母稿/{01_素材,02_构思,03_版本}、02_公众号、03_小红书、04_视频脚本 |
Resources
- 框架模板:assets/框架模板.md
- 修改痕迹模板:assets/修改痕迹模板.md
- 小红书发布文案模板:assets/小红书发布文案模板.md
- 素材包模板:assets/素材包模板.md
Scan to join WeChat group