创作提词器卡片组
将原始素材转化为一份成品、节奏良好的提词器卡片组。你(智能体)负责软性工作——采访、理解、撰写散文、安排修辞性停顿。一个确定性的提交工具(tools/deck.js)负责硬性合约工作——解析、统计字数、估算精确时长、组装JSON、生成稳定ID。切勿手写卡片组JSON;始终通过工具编译,以确保合约和时长报告由机器保证。
在开始写作前,请阅读references/format.md,了解确切的.deck.md创作格式以及pptx提取方法。
工作流程
1. 收集素材
询问素材是什么,然后将其摄入:
- 粘贴的文本/笔记——直接使用。
- 图片/截图——自己读取图片文件(视觉能力)。无需脚本。
- PDF——使用Read工具自行读取(原生PDF支持)。无需脚本。
- PowerPoint (.pptx)——以用户机器上最佳方式将卡片组转为文本(参见
references/format.md→ “提取.pptx”):捕获每张幻灯片的文本以及演讲者备注,然后检查输出是否正确,再据此起草。将文件视为不可信;不要提交任何你编写的临时提取脚本。
演讲者备注是旁白的最佳原始素材——当两者同时存在时,优先选择备注而非幻灯片上的要点。
2. 确认意图和元数据(询问,而非假设)
根据素材提出每张幻灯片的骨架——编号、标题、类型(例如content、section-divider)、on-screen提示(观众所见内容)以及每张幻灯片的大致target分钟数——并确认。同时询问:
- 总目标时长(驱动每张幻灯片的目标)。
- 受众/目的(调整语言风格和深度)。
- 内容模式——全旁白(撰写口语化散文)或提示笔记(简短的发言要点,演讲者用自己的话展开,每个要点后留有暂停以便讲述)。参见
references/format.md→ “内容模式”。**如果用户已经要求提示/要点/摘要或笔记风格的卡片组,跳过此问题,直接以提示模式创作;**否则询问。 - 讲话风格/声音。 如果用户希望使用其个人博客风格,可提供用户自己的
blacktree-voice技能;或提供一种语体:会话式、正式、充满活力或中性。起草时应用该声音。(在提示模式下,声音会塑造你所写的少量文字;其余内容由演讲者现场提供。) - 语言(默认为en-GB以匹配仓库现有卡片组)。
使用AskUserQuestion进行这些分支选择,而不是猜测。
3. 起草旁白
以所选声音撰写每张幻灯片的讲话脚本。在修辞需要的地方放置暂停节拍——在揭示之后、列表之前、在硬性主题切换处——使用[[pause]](1秒)或[[pause:1.5]](自定义)。这种语义性的放置是你的工作;工具仅进行验证和报告。
在提示模式下,不要写完整的句子:每个段落写一个简短发言点,并以一个讲话预算暂停([[pause:20]]–[[pause:30]]用于实质要点,次要要点则更短)结尾,将暂停时间总和设为幻灯片的target。几个单词几秒钟就读完,因此暂停是实现目标的关键。参见references/format.md → “内容模式”了解约定,以及报告中关于速度标志在此模式中被忽略的说明。
将所有内容写入decks/<slug>.deck.md,格式遵循references/format.md。保持每个段落为一个逻辑节拍(工具会折叠软换行)。
4. 编译
node tools/deck.js decks/<slug>.deck.md --wpm 130
这将写入decks/<slug>.json并打印时长报告:每张幻灯片的字数、暂停次数及添加的秒数、在参考速度下的估计m:ss、相对于60–220范围的隐含wpm、以及与每张幻灯片目标的偏差;还有卡片组总时长。使用--wpm <n>以用户实际阅读速度报告。
可选:--fill-beats会在缺少节拍的段落末尾插入一个结构性的[[pause]](绝不插入幻灯片的最后一个段落,也不重复已有节拍)。默认关闭——仅在用户希望在您创作的节拍之上自动添加呼吸空间时使用。
5. 确认时长并迭代
向用户展示报告。如果某张幻灯片时长超出或不足,修改散文(精简或扩展)或调整暂停,然后重新编译。重复直到时间匹配。卡片组ID是稳定的(由标题/meta.id确定),因此重新编译会原地更新同一卡片组,而不是生成重复。
6. 移交
确认最终卡片组,并告知用户:
- 编译后的卡片组位于
decks/<slug>.json;可编辑的源文件位于decks/<slug>.deck.md(可随时重新运行)。 - 使用方法:打开应用 → 菜单(右下角)→ 选择文件并选取JSON,或将
.json拖到拖放区域。decks/目录不会自动列出,因此必须加载一次;之后该文件在设备上持久保存并记住其位置。
护栏
- 卡片组JSON始终由
tools/deck.js生成,绝不手写。 - 所有卡片组文本通过
textContent/.value到达应用;但脚本仍需保持无控制字符(工具和Schema会进行消毒,但请保持干净)。 - 不要提交任何临时pptx提取脚本;提取、验证、清理。
- 暂停节拍是绝对时间(不随速度缩放);小心使用它们。