writing-beats
1. Bilingual SKILL.md
左右滑动可直接切换英文版与中文版;两种语言按段落自动对齐。英文中的蓝色虚线词语可点击查看解释。共标记 14 处。
Entry SHA-256: a96abafa2372eede8267d770138b322d6125da8adaa7ccf0a5e08e4ee13ee71e
2. Why This Skill Is Clever
一句话核心机制
把文章写作建模为一张由“概念是否已落地”约束的可达图:每轮只展示 2–3 个当前可达节拍,用户选定后只写一个,再从磁盘重读并继续分支。
触发与边界
- Direct source:
disable-model-invocation: true表明它只由用户显式发起;输入是一份已经固定的 Markdown 原始素材,输出是另一份逐节拍增长的文章。 - Direct source: 这是写作的 exploit 阶段,不负责继续发散素材;它可以改述、拆分、重组或引用已有素材,但不会以“把素材用完”为完成标准。
- Direct source: 若用户没给输出路径,只问一次并在会话中记住;之后每次写入前都从磁盘重读,保留用户改动。
- Supporting context: bucket README 把它标为公开测试中的 Beta,未进入插件,可变化或消失;这解释了报告的 Beta 标签,但不属于选中原文。
- Interpretation: 该流程要求持续的人类选择,不适合无人值守的一键成文;它优化的是叙事可控性,而不是首次生成速度。
信息架构 / 执行顺序
- 接收固定的原始素材堆,并确定文章输出路径。
- 与用户协商受众入场时已经掌握的前置概念,建立初始 grounded 集合。
- 从素材中提出 2–3 个只依赖当前 grounded 集合的起始节拍,并标出各自会落地的新概念与短程解锁效果。
- 用户只选一个;系统只把这个节拍写入文章,然后停止。
- 从磁盘重读文章,把用户可能发生的编辑纳入当前事实。
- 基于更新后的 grounded 集合提出 2–3 个可达的下一节拍,重复选择、单步写入与重读。
- 当叙事旅程完整时结束;允许素材堆保留未使用碎片。
最巧妙的设计点
1. 把“读者跟得上吗”变成可执行的可达性约束
“A candidate beat is only reachable if everything it requires is already grounded”
Direct source: 每个节拍同时声明隐含的前置概念和它将引入的新概念。后续候选只有在所有前置概念都已落地时才可出现,把模糊的“循序渐进”变成状态转换规则。
2. 前置知识与文中引入形成一对可调杠杆
“what you make a prerequisite versus what you ground inside the piece”
Direct source: 把概念放进 prerequisite 能缩短铺垫,却会排除部分读者;把它放进正文能扩大可读人群,却可能让开头淹没在定义里。skill 要求一开始协商,并在遇到不可达节拍时重新决策。
3. 候选分支不仅给选项,还展示“会解锁什么”
“Preview what beats that pick unlocks”
Direct source: 用户看到的不只是 2–3 个局部句子,还能看到每个选择会让哪些概念落地、让哪些后续方向变得可达。这是有限前瞻:支持有意识的路径选择,同时避免提前写完整文章。
4. 严格的一步提交保留真正的协作反馈
“write only that beat”
Direct source: 一次只落盘一个节拍,随后立即停下。用户可以改写、回退或换掉某个节拍,后续路径必须随之改变;若批量预写,前面的微小编辑就会让大量后文变成过期推演。
5. 磁盘重读把用户文件变成权威状态
“Re-read the article file from disk”
Direct source: 系统不假定自己记忆中的文章仍然最新。每次写前重读,能吸收用户在工具外发生的编辑,并通过“绝对保留用户修改”避免覆盖协作成果。
6. 完成由旅程决定,而不是由素材消耗决定
“The article ends when the journey is complete, not when the pile is empty.”
Direct source: 素材被视为 quarry 而非 checklist。允许舍弃剩余碎片,使文章服务于论证和阅读节奏,而不是为了证明每条笔记都被使用而臃肿。
防失败机制与 trade-off
- 显式不变量: 未落地概念不能被后续节拍依赖;每轮只写一个已选择节拍;每次写入前重读磁盘;用户修改必须保留。
- 显式恢复路径: 某个诱人节拍不可达时,先增加 grounding beat,或与用户决定把概念提升为 prerequisite;不能直接跳过依赖。
- 显式编辑边界: 用户可要求重写或替换某个既有节拍;系统原地编辑目标节拍,其余内容保持不动。
- Trade-off: 每个节拍都需要一次用户决策,长文会产生较高交互成本;但成本换来的是结构可解释、修改影响可控。
- Trade-off: grounded 集合是概念级而非词汇级,判断不可完全机械化;同一句无行话的文字仍可能暗含陌生概念,需要模型和用户共同判断。
- Portability risk:
disable-model-invocation、会话内“记住路径”和磁盘重读语义依赖具体 agent harness;迁移到纯聊天环境时,需要显式状态存储和文件版本冲突处理。 - Beta risk: supporting README 明确说明 in-progress skills 尚未随插件发布,接口和流程可能无预警变化。
可迁移原则
- 把内容顺序表示为“前置状态满足后才可执行”的可达图,而不是只给静态提纲。
- 给用户分支选项时,说明每个选择会新增什么能力以及解锁哪些后续路径。
- 在高反馈任务里采用单步提交:一次只写一个最小完整动作,随后重新读取权威状态。
- 把输入素材当资源库而不是完成清单;以目标完整性决定结束,而不是以资源耗尽决定。
- 将高影响力取舍显式交给用户,例如哪些知识可假定、哪些必须在正文中建立。
今日实践题
假设你要写一篇面向非技术产品经理的“向量数据库”文章,而候选第二节拍需要读者理解 embedding。你会把 embedding 设为 prerequisite,还是先增加一个 grounding beat?请说明这项选择会排除谁、又会解锁哪个后续节拍。
Evidence note
双语原文、grounding 规则、逐节拍分支、单步写入、磁盘重读与自然结束标准均来自选中的 writing-beats/SKILL.md。skills/in-progress/README.md 只作为 Supporting context,用于确认 Beta、未随插件发布和可能变化的状态。对可达图、事务式单步提交、交互成本及 harness 可移植性的描述属于 Interpretation。
Source & provenance
- Repository path
- skills/in-progress/writing-beats/SKILL.md
- Generated
- 2026-08-28 17:30 Asia/Shanghai
- Upstream commit
- 6654f6b60cd9d5be8b54c6fafe44346dabeb3b76
- Source
- View on GitHub