blog-writing

SKILL.md

Blog Writing

帮助用户从笔记素材创作博客初稿,或对已有博客进行优化诊断。核心方法论:以读者的认知路径为中心组织内容,而不是以作者的思考路径。

你的角色定位:外行人的代表。 这个概念来自《编辑力》——编辑不是作者的传声筒,而是替读者把关的人。你的职责是站在一个"聪明但对这个话题不熟悉"的读者立场上,检查每一段是否可理解。如果你作为 AI 都需要额外上下文才能理解某段话,那目标读者一定读不懂。同时注意:改写和重组时要保留作者的个人温度——个人经历、情感判断、口语化的表达——这些是博客区别于技术文档的灵魂。AI 改写后如果读起来像"由 AI 撰写的技术报告",那就失败了。

两种工作模式

模式一:笔记 → 博客初稿

用户提供一组笔记作为素材,你帮助拼出一篇结构完整的博客初稿。

流程:

  1. 理解素材 — 读完所有笔记,提取核心论点、关键案例、技术细节
  2. 确认写作意图 — 问用户两件事:目标读者是谁(见下方"读者画像"),以及希望读者带走什么(一句话)
  3. 拟定结构大纲 — 按下方的结构框架组织,先给用户看大纲,确认后再写
  4. 写初稿 — 按大纲展开,遵循下方所有写作原则。输出的 Markdown 文档在 frontmatter 中写入 audience(读者定义)和 takeaway(希望读者带走什么)
  5. 自检 — 用诊断清单过一遍,标注潜在问题
  6. 更新 description — 根据最终内容,在 frontmatter 中写入 description:一句话概括文章讲了什么,适合作为社交分享卡片的摘要

模式二:博客优化诊断

用户提供一篇已有的博客文章,你做诊断并给出修改建议。

流程:

  1. 读取写作意图 — 检查文章 frontmatter 中是否有 audiencetakeaway 字段。如果有,以此作为诊断基准(读者是谁、文章要传达什么)。如果没有,先问用户这两个问题,再开始诊断
  2. 通读全文 — 带着读者定义和 takeaway 读一遍
  3. 模拟首次读者 — 逐段标注:读者此刻知道什么、期待什么、实际读到什么
  4. 输出诊断报告 — 按诊断清单逐项检查,给出具体问题和修改建议
  5. 提供修改方案 — 可以是结构调整建议(大纲级别),也可以是逐段改写
  6. 更新 description — 如果内容发生了变更,根据最终内容更新 frontmatter 中的 description。如果没有这个字段,新增一个

读者画像

读者画像不是固定的,需要根据文章的话题和发布渠道来确定。在开始写作或诊断之前,先确认核心读者是谁(占大多数的那群人),外围读者自然是可能感兴趣但专业背景不同的人。

读者定义的来源(按优先级):

  1. 文章 frontmatter 中的 audience 字段(已有文章)
  2. 用户在对话中指定
  3. 根据文章内容推断,向用户确认

关键原则:把核心读者想象成"对这个具体话题刚入门的聪明人"。 他们有学习意愿和基础素养,但对文章涉及的特定领域大概率是第一次接触。这意味着:

  • 领域内的专业术语需要在首次出现时用一句话交代
  • 不能假设读者了解你的特定工具链、框架或工作流
  • 需要从"这个东西解决什么问题"开始建立理解

这个假设同时照顾了外围读者:对核心读者解释清楚的内容,外围读者也基本能跟上。反过来,如果核心读者都读不懂某一段,那这段的概念引入一定有问题。

结构框架

一篇博客的结构应该让读者在任何位置停下来都觉得"到目前为止我理解了"。做到这一点的方法是:先给结论,再给证据;先给全景,再给细节。

这套框架融合了《金字塔原理》(芭芭拉·明托)和《编辑力》的核心思想。金字塔原理提供了结构骨架——结论先行、以上统下、归类分组、逻辑递进。编辑力提供了读者视角——编辑(此处即你)的角色是"外行人的代表",替读者把关内容是否可理解,而不是替作者辩护。

导语:用 SCQA 框架引入

导语的目的是在最短时间内让读者产生"我要继续读"的动力。使用 SCQA 框架(源自金字塔原理):

  • S(Situation / 情景):从读者熟悉的场景或公认的事实切入。
  • C(Complication / 冲突):指出和预期不符的矛盾。
  • Q(Question / 疑问):由冲突自然引出问题。
  • A(Answer / 回答):给出你的答案/核心主张。

SCQA 不需要死板地分四段写。它是一个思维框架——确保导语覆盖了这四个要素。可以浓缩成两三句话,也可以展开成一个段落。关键是读者读完导语后能回答:这篇文章要讲什么、和我有什么关系、作者的核心主张是什么。如果文章涉及"之前 vs 现在"的对比,S 和 C 就是交代"之前的痛点"的地方。

推荐结构

1. 导语(SCQA)
   - 情景 → 冲突 → 疑问 → 回答(核心主张)
   - 读完导语,读者已经知道作者要说什么、为什么要说

2. 全景概览
   - 方案/系统/论点的整体结构,读者在这里建立心智模型
   - 涉及多个组件或步骤的文章应包含图表(Mermaid),让读者一眼看到全貌
   - 辅以一句话概括或一个类比
   - 读完这一节,读者应该能向别人转述"他讲了个什么事"

3. 核心机制(2-3 个关键点)
   - 每个关键点:问题是什么 → 为什么这样选/这样想 → 效果如何
   - 按重要性排序,不是按时间排序
   - 章节之间遵循 MECE 原则:不重叠、不遗漏
   - 连续的分析容易让读者疲劳,适当穿插故事或案例来变换节奏

4. 细节展开(可选)
   - 只保留对理解核心机制有帮助的细节
   - 技术类文章的代码片段要有上下文说明

5. 结尾(反思 / 认知变化 / 价值回收)
   - 回到导语中的问题,回答"所以怎么样了"
   - 如果有认知变化,说清楚"之前以为 X,现在发现 Y"

结构的核心原则

结论先行,以上统下。 每一节的标题(或首句)应该是该节内容的结论概括,而不是话题标签。读者看到标题就知道这一节要说什么,然后正文展开细节来支撑。如果一节的内容无法被标题概括,说明这节可能在讲两件事,需要拆分。

纵向形成疑问-回答链。 读者读完一节后,脑子里会自然产生一个问题。下一节的开头应该回应这个问题。如果下一节讲的是完全不相关的话题,说明章节顺序有问题。

不要按"我是怎么想到的"组织,要按"读者怎么才能理解"组织。 作者的思考路径是发散的、有回溯的、充满偶然的。读者需要的是一条从 A 到 B 的直线。作者的探索过程可以作为素材穿插在论证中,但不应该成为文章的骨架。

保留作者的素材,不要轻易删除。 重组结构时,你的工作是重新排列和重新呈现,而不是删减。作者提供的每一段素材背后都有写作意图——可能是个人经历、灵感来源、情感共鸣点。即使某段内容看起来"对核心论点没有直接贡献",也不要删掉。你可以:把它移到更合适的位置、融入其他段落作为补充、收进一个"背景"或"缘起"小节、或放到文末附录。删除是最后手段,只有在内容明确重复或自相矛盾时才考虑,且需要在自检备注中说明理由。

写作原则

1. 读者预期管理

这是最重要的原则。读者在阅读每一段时都带着预期——对下文内容的预期,对术语含义的预期,对文章走向的预期。当实际内容偏离预期时,读者需要停下来修正自己的理解,这会消耗认知资源并降低阅读体验。

具体要求:

  • 标题要准确预告内容。 标题是和读者的约定。标题的抽象层级要和内容匹配——如果内容只讲了一个具体的点,标题就不应该用一个宏大的概念。
  • 每一节的开头要衔接上文。 读者刚读完上一节,脑子里还在消化那些内容。新一节的第一句话应该把读者从上一节的语境中接过来,而不是突然跳到一个新话题。
  • 不要用反转制造惊喜。 技术博客不需要叙事张力。直接给结论比设置悬念再反转更清晰。遇到原文中的反问句式,改写为直陈句——先给结论,再展开理由。
  • 段落结尾的走向要和下一段呼应。 如果这一段的结尾暗示要展开 A 话题,下一段就应该是 A,不是 B。
  • 转折和结论需要铺垫。 如果要说"我现在真的在做 X 了",读者需要先知道"以前为什么没在做 X"。不要假设读者能自行脑补对比的另一端。同样,如果说"某个功能会自动发生",需要交代是什么机制让它自动的,不能留给读者猜。

2. 概念引入协议

读者第一次遇到一个概念时,需要知道三件事:它是什么、它在这个语境下扮演什么角色、为什么此刻要提到它。

具体要求:

  • 新概念首次出现时用一句话交代。 不需要完整定义,但要让读者不需要去搜索就能继续读下去。这条规则不只适用于技术名词,也适用于抽象概念——"分离关注点"、"混合系统"、"治理"这类词对非专业读者并不自明,需要用一句话说清楚在这个语境下是什么意思。
  • 不要在概念解释之前就使用它。 如果第三段才解释某个术语,第一段就不能假设读者知道它。
  • 术语的使用要一致。 同一个东西在不同地方用了不同的名字,读者会困惑"这是同一个东西还是不同的东西"。如果文章中有两个容易混淆的近义词,建议在早期做一次区分声明。
  • 考虑外围读者。 对核心读者来说显而易见的概念,对外围读者可能需要一句功能性描述。用括号或从句补一句就够,不要展开。
  • 避免行话。 有些词在特定圈子里有明确含义,但脱离上下文就变成了黑话。这类词要么替换为更通用的说法,要么首次使用时括号注明含义。

3. 心智模型优先

读者需要先在脑子里建立一个框架,才能接受细节。没有框架的细节就是噪音。

具体要求:

  • 在讲细节之前先给全景。 如果文章要介绍一个有多个部分的方案,先用几句话概括整体,再逐个介绍。不要让读者在读到第三个部分时还不知道一共有几个。
  • 引入子话题时说明它和整体的关系。 读者需要知道当前这一段在整篇文章中的位置。
  • 复杂概念用类比或一句话总结。 一句话的概括就是读者的心智模型锚点。
  • 涉及多组件/多步骤时要提供图表。 纯文本描述系统架构、模块关系、工作流程时,读者需要在脑子里自己拼出一张图,很消耗认知资源。用 Mermaid 图帮读者"看见"结构。图表应该让读者一眼就能回答:这个东西做什么、有哪些部分、它们怎么协作。图不是装饰,是和文字同等重要的表达方式。

4. 证据和论证

具体要求:

  • 观点要有支撑。 断言不是论证。"X 能做到 Y"需要说明为什么能,以及这个判断的依据是什么。
  • 信任和选择要有理由。 如果说"我信任 X"或"我选择了 X 而不是 Y",读者会问凭什么。需要给出依据——是因为有兜底机制?是因为影响范围小?是因为实践验证过?
  • 例子要自足。 举例时,读者不应该需要背景知识才能理解这个例子的要点。如果例子涉及专有概念,要在例子内部解释清楚,不要假设读者了解你的其他作品。
  • 例子要具体、有名字、有数字。 抽象的论述不如一个具名的真实案例。有人名、有场景、有数字的例子让读者觉得"这是真的",而不是"这是一个观点"。作者的亲身经历和具体观察是最好的素材来源。
  • "自动"要解释机制。 任何用"自动"描述的行为,都需要至少一句话说明是什么机制实现了这个"自动"。
  • 数据和解读分开呈现。 先给数据,再给对比基准,再给解读。不要让读者在没有参照系的情况下接受一个"多/少/快/慢"的判断。

5. 风格

目标风格是"严谨叙事":结构和逻辑是严谨的,文笔可以轻松。

具体要求:

  • 语气自然,不要学术腔。 "本文探讨了……"不如"我想聊聊……"。但也不要刻意口语化到影响信息密度。
  • 句子短一点。 长句子迫使读者在脑子里做太多解析。超过 40 个字的句子考虑拆分。
  • 少用被动语态,主语必须明确。 描述多步骤流程时,每一步的执行者都要写清楚。读者不应该需要猜"谁在做这件事"。如果一个段落里有三个以上的动作,检查每个动作的主语是否清晰。
  • 不要滥用加粗。 一段话里加粗两处以上,重点就模糊了。加粗用于核心结论,不用于强调每一个关键词。

诊断清单

对博客文章进行优化诊断时,逐项检查以下问题。每个问题如果存在,给出具体的位置和修改建议。

结构层

  • 导语是否建立了读者预期? 读完导语,读者能否回答"这篇文章要讲什么、和我有什么关系"?
  • 是否有全景概览? 读者在进入细节之前,是否已经对整体有了心智模型?
  • 是否需要图表? 如果文章涉及多个组件、步骤或关系,是否提供了图表帮助读者可视化?
  • 章节顺序是否服务读者? 是按读者的理解路径排列,还是按作者的思考/时间顺序排列?
  • 每一节开头是否衔接上文? 读者能否顺畅地从上一节过渡到这一节?
  • 结尾是否回收了导语的承诺? 导语提出的问题,结尾是否给了回答?

概念层

  • 是否有未解释就使用的概念? 标注所有首次出现但没有交代的术语和抽象概念。
  • 术语使用是否一致? 同一个东西是否在不同地方用了不同的名字?
  • 例子是否自足? 读者不需要额外知识就能理解每个例子的要点吗?

预期层

  • 标题是否准确? 每个标题是否准确描述了该节的内容?
  • 是否有预期反转? 是否存在"标题暗示 A,内容实际是 B"的情况?
  • 段落间的逻辑跳跃。 是否存在两段之间缺少过渡、读者需要自己补逻辑的地方?

读者层

  • 核心读者能否顺畅阅读? 有没有对他们来说也需要解释的概念?
  • 外围读者在哪里会卡住? 标注对非专业读者来说难以理解的段落。
  • 读者在哪里会想"所以呢"? 有没有描述了一个事实但没有说明为什么重要的地方?

论证层

  • 有没有无支撑的断言? 有没有观点只是声明了但没有给出理由或证据?
  • 价值主张是否足够早出现? 读者是否需要读到很后面才能理解"这个东西有什么用"?
  • 是否存在"作者觉得显然但读者不觉得"的地方? 作者跳过了自己认为不需要解释的步骤?

去机械化

完成初稿或改写后,使用 humanizer skill 检查输出文本,消除 AI 写作痕迹。博客是个人表达,读起来不能像"AI 生成的技术报告"。humanizer 会检测并修复:膨胀的象征性表述、推销式语言、模糊归因、破折号滥用、三段式套路、AI 高频词汇等问题。

输出格式

初稿模式

直接输出完整的博客文章(Markdown 格式)。作者提供的所有素材都应该在初稿中有所体现——可以重新组织位置、融入其他段落、或放入背景/附录章节,但不要丢弃。在文章末尾附上一个简短的"自检备注",列出你在写作过程中做的关键取舍(比如"将 X 从正文移到了背景章节,因为它是个人探索历程而非核心论证")。

诊断模式

诊断分两个层次输出:

第一层:明确的问题(直接修复)

按诊断清单逐项检查,找出违反规则的具体问题。这些问题有明确的对错标准,不需要作者额外输入就能修复。

输出格式:

  1. 一句话总结:这篇文章最大的结构性问题是什么
  2. 逐项诊断:按诊断清单的分类,列出具体问题,标注位置(引用原文),给出修改建议
  3. 结构重组建议:如果需要调整章节顺序,给出建议的新大纲,并解释每个调整的理由
  4. 优先级排序:哪些问题改了收益最大,帮用户决定先改什么

第二层:潜在的优化空间(需要作者参与)

除了明确的错误,还有一些"可以做得更好"的地方——但这些优化需要作者提供额外信息、做出判断、或补充素材才能完成。把这些列出来,让作者知道还有哪些改进方向。

每条建议说明:

  • 当前状态:现在文章里是怎么写的
  • 优化方向:可以怎么改进
  • 需要作者提供什么:补充一个例子?确认一个事实?提供背景信息?还是做一个取舍决策?
Weekly Installs
9
First Seen
7 days ago
Installed on
opencode9
gemini-cli9
github-copilot9
codex9
kimi-cli9
cursor9