关于 writing-beats
一种引导式写作技能,将固定素材逐步组织成文章,并按顺序引入概念。用户可选择每个写作节拍的方向。
主要功能
- 01确定读者的预备知识
- 02提供不同的开篇节拍
- 03每次只写一个节拍
- 04追踪已铺垫的概念
- 05编辑前重新读取文件
适用场景
- 01将原始笔记整理成文章
- 02选择文章的开篇方向
- 03按清晰顺序展开说明
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ leandrocfe/ skills --skill writing-beats安装后在 Claude Code 中输入/writing-beats确认已加载。
附带文件agents/openai.yaml
详细介绍
用户已经提供(或即将提供)一份原始素材的 Markdown 文件。这就是素材:探索已经完成,素材堆也已固定——选定一条路径,逐步推进,从素材中挖掘内容来填充每个节拍。
如果用户没有说明文章的保存位置,询问一次并记住路径。
然后按照逐个节拍的旅程展开,采用“选择你自己的冒险”风格:
- 确定先备知识。 在开始任何节拍之前,与用户确认读者入场时已经了解哪些内容——也就是一开始就已铺垫的概念。其他所有概念都必须先由某个节拍铺垫,之后才能在后续节拍中使用。参见铺垫。
- 根据原始素材写出 2–3 个候选起始节拍。每个节拍都是进入文章的不同切入点。每个节拍只能依赖已铺垫的概念;注明每个节拍会铺垫哪些新概念。在写入文章文件之前,先向用户展示这些节拍。由用户选择。预览该选择将解锁哪些后续节拍,让用户仿佛能提前看到一小段前方路径。
- 用户选定起始节拍后,只将该节拍写入文章文件。一个节拍可以是一句话,也可以是几段文字——以自然表达该节拍所需的长度为准。到此为止。
- 从磁盘重新读取文章文件。然后提供 2–3 个候选下一节拍,展示这段旅程接下来可以转向的不同方向。每个节拍都必须能从当前已铺垫的概念出发;注明每个节拍会铺垫哪些内容。
- 重复步骤 3–5,直到文章自然结束。
铺垫
每个概念都必须先铺垫,节拍才能依赖它:读者要么入场时就已了解,要么在较早的节拍中接触过它。试图引入尚未铺垫的概念会让读者跟不上——这是这段旅程唯一不能采取的做法。衡量单位是概念,而不是词语:即使没有使用术语,节拍也可能依赖读者尚不了解的观点。如果某个概念有名称——也就是一个术语——铺垫它就意味着同时讲清观点和术语。
概念有两种铺垫方式:
- 先备知识——在第一个节拍之前铺垫。读者入场时已经掌握。开始时确定,此后不变。
- 引入——由某个节拍确立;从那以后,它就对所有后续节拍而言都已铺垫。
因此,每个节拍要完成两项工作:它需要已经铺垫的概念,并铺垫新的概念。持续记录目前已铺垫的内容,并在每个节拍完成后更新清单。
这正是“选择你自己的冒险”式结构的基础。只有当候选节拍所需的所有概念都已铺垫时,它才是可选的;选择一个铺垫了概念 X 的节拍,就会解锁所有等待 X 的节拍。提供下一节拍选项时,它们都必须能从当前已铺垫的概念出发;同时说明每个节拍会铺垫哪些内容,让用户看清它会开启哪些路径。
关键在于,哪些内容应作为先备知识,哪些内容应在文章中铺垫。要求读者一开始就掌握太多,会把不具备这些知识的读者拒之门外;在文章内部铺垫太多,则会让开头的节拍被定义淹没。确定先备知识时要与用户商议;如果某个吸引人的节拍需要一个尚未铺垫的概念,也要重新审视这个安排——解决办法要么是在它之前加入铺垫该概念的节拍,要么将该概念提升为先备知识。
什么是节拍
节拍是旅程中的一个推进动作。它只做一件事——营造场景、提出观点、抛出问题、插入旁白,或转换视角。然后停下来,让读者停留在一个可以转向下一节拍的位置。
节拍的长度取决于它的需要:
- 如果一句话就能完成这个动作,就写一句话(“然后,三周里什么也没发生。”)。
- 如果这个动作需要铺垫,就写一小段。
- 如果这个节拍是一个完整的小故事、论证或示例,可以写多段。
如果一个“节拍”需要五段文字和三个小标题,那它就不是一个节拍——而是两个粘在一起的节拍。把它拆开。
## 从素材堆中取材从原始素材堆中提取内容,填充每个节拍。你可以转述、拆分、重组或引用。素材堆就是你的采石场。
结束旅程
旅程完成时,文章就结束了——而不是等到素材堆空了才结束。大多数素材堆都会剩下一些最终未能用上的片段。没关系;这正是准备比实际所需更多原始素材的意义所在。
写作节奏
- 一次只追加一个节拍。绝不提前写。
- 每次写入前,都要从磁盘重新读取文章文件。绝对要保留用户的编辑。
- 如果用户大幅修改了先前的节拍,就让它影响接下来的内容。
- 如果用户说“重写那个节拍”或“回去试试不同的第 3 个节拍”,就照做——直接原地编辑,其余部分保持不变。