Communitygithub.com

namenguiin/talk-grill

当用户需要一个新的演讲、幻灯片、PPT或演示文稿(발표, 발표자료, 슬라이드, 피피티, 랩미팅·학회·세미나·수업·저널 클럽 발표),或需要规划演讲内容时使用。创建演讲文件夹,通过与演讲者逐一提问的方式,先编写 brief.md 和 outline.md,待批准后移交给 talk-build。

talk-grill 是什么?

该技能名为“그릴링”(Grilling),旨在通过一系列结构化提问,从演讲者脑海中提取演讲的核心内容,并将其转化为两个关键文件:`brief.md`(记录所有决策)和 `outline.md`(每章节的表格大纲)。构建过程由一个新的子代理仅读取这两个文件和 `sources/` 目录来独立完成,因此对话中并未记录在文件中的决策不会影响构建。该技能支持 Claude Code 等平台,通过 `./talk` 命令行工具进行配置,如设置演讲者资料(`./talk profile`)和品牌风格(`./talk brand`)。它严格遵循“一次只问一个问题”的原则,从对构建影响最大的要素(如场合、时长、受众)开始提问,逐步引导至一句话总结、框架、每节的论证与依据、开头结尾等,最后生成 outline.md 并请求批准。批准后,技能会调用 talk-build 子代理进行实际幻灯片构建,并在完成后提供反馈。

兼容平台✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/namenguiin/talk-kit/tree/HEAD/.claude/skills/talk-grill

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

그릴링 (Grilling)

通过提问将演讲者脑海中的演讲内容提取出来,形成演讲文件夹中的 brief.md(决策记录)和 outline.md(章节表格)。构建过程由新的子代理仅读取这两个文件和 sources/ 目录来完成。仅存在于对话中而未记录在文件中的决策,不会传递给构建流程。

演讲者最初提供的内容:$ARGUMENTS

会话在工具包根目录打开。./talk 命令在工具包根目录调用。下文中的 brief.md、talk.json 等名称均指演讲文件夹(talks/<文件夹>/)内的文件。

0. 确定演讲文件夹

  1. 使用 ./talk profile 查看演讲者信息。若无信息,则第一个问题询问英文名称和所属机构。如果演讲者要制作韩语幻灯片,还需询问韩文名称和所属机构。答案通过 ./talk profile --name "..." --affiliation "..."(如有需要,附加 --name-ko、--affiliation-ko)保存。
  2. 查看 ./talk brand。若显示“未设置”,则在创建新演讲前,用一个问题确定颜色和标志。具体方法见工具包根目录 AGENTS.md 中的“学校/实验室颜色与标志”。如果演讲者要求直接创建而不提问,则默认使用基本预设。
  3. 如果演讲者提到了要接续制作的演讲,则通过 ./talk list 找到对应文件夹。
  4. 如果是新演讲,则需要类型、日期、活动信息。仅针对演讲者未提及的部分,通过一个问题进行询问。然后使用 ./talk new <类型> <YYYY-MM-DD> [活动] [--title "..."] [--lang ko] 创建。类型包括 lab、conf、seminar、class、jc。对于实验室会议,活动留空(封面显示为“Lab meeting, 日期”,当天主题写入 --topic 或 talk.json 的 topic 字段)。输出中显示的文件夹即为该演讲的文件夹。
  5. 如果出现缺少 node 工具的错误,则运行 ./talk setup 后重试。

1. 提问前阅读

  1. 读取演讲文件夹中的 talk.json、README.md、brief.md、outline.md。如果 brief.md 中包含 Grilling 记录,则从上次中断处继续。
  2. 阅读演讲者提供的所有内容以及 sources/ 目录下的所有文件。PDF 文件需分页读取。对于演讲者提到的外部文件或网页文档,将其复制到 sources/ 目录下(网页需保存正文文本),并在 brief.md 的输入材料表中记录路径和确认状态(“仅摘要”、“正文确认”、“仅图表”)。使用 cp 复制外部文件时,会出现一次权限询问,演讲者应允许。文件使用 Write 和 Edit 工具写入,确认用的脚本放置在演讲文件夹的 audit/tmp/ 中(如果写入工具包外部如 /tmp 会被拒绝)。
  3. 对于材料中已有答案的问题,不再提问。从材料中找到的答案,在 brief.md 中标注“(来自材料)”后仅需确认。
  4. 使用 talk.json 填充 brief.md 的任务部分。不同演讲类型的基本模板位于 .claude/skills/talk-grill/references/talk-types.md(相对于工具包根目录)。
  5. 工具包文件夹外部(如主目录)仅在演讲者明确指定路径时才读取。读取外部文件时会出现权限询问,导致首次提问延迟。完成上述四个步骤后,立即开始第一个问题。

2. 提问方式

  • 每次只问一个问题。提供 2-4 个选项。推荐选项置于首位,并附上一行理由。演讲者也可以直接输入答案。在 Claude Code 中使用 AskUserQuestion 工具提问。对于不支持该工具的代理,则采用相同格式(一行问题、编号选项、首位为推荐)通过聊天提问。
  • 提问要简洁。不要冗长地重复之前的回答。
  • 收到回答后,立即更新 brief.md。在 Grilling 记录中添加一行 Qn 问题 → 回答,并更新该回答所影响的行(任务、一句话总结、框架)。不要同时保留旧决策和新决策。
  • 如果演讲者回答“不知道”或“以后再说”,则在开放项中记录,不再重复提问该问题。
  • 如果演讲者询问意见,先确认原文,然后推荐一个选项并附上一行理由。在 brief.md 中标注为“推荐”。决策由演讲者做出。
  • 如果演讲者的前提与原文不符,先指出哪些部分正确,再指出需要修正之处。
  • 如果演讲者改变决策,以新信息为准。不要追问原因。
  • 如果演讲者要求不提问直接构建,则根据材料和演讲类型的基本模板填充 brief 和 outline,仅需审批(第 5 节)。未确定的内容记录在开放项中。

3. 提问顺序

从对构建影响最大的要素开始提问。

  1. 场合:活动、演讲时长、问答时长、听众。此处确定章节数量预算(参见 talk-types.md)。如果幻灯片语言与 talk.json 不同,则更新 lang。
  2. 一句话总结:听众应该带走的那一句话。
  3. 框架:2-4 个部分及其顺序。以 talk-types.md 中的基本框架为起点提出建议。
  4. 每个部分的论点、依据(图表、数据、论文页码)、呈现方式(论文原图、重新绘制的概念图、每次点击逐步展示的流程图)。一个部分可以多次提问。
  5. 开头与结尾:第一张幻灯片要提出的问题,最后一张幻灯片(结论、讨论问题、如果是实验室会议则包括下一步计划和给导师的请求)。
  6. 整理开放项。

提问 6-10 个问题后结束。如果演讲者提出停止,则立即结束。

4. 原文确认

  • 幻灯片中使用的数字和引用必须从原文(正文、表格、图表标题)中确认,并在 brief.md 的“原文确认”中记录值、文件、页码。不得仅根据摘要或笔记的概括就写下数字。
  • 数字必须附上条件(该值来自何种数据、设置、子集)。
  • 如果原文未说明因果关系,不要为两个数字的差异赋予原因。
  • 如果计划直接使用论文中的图表,需检查其许可证。如果禁止修改(如 CC BY-ND),则决定重新绘制。
  • 对于未能获取的原文(如付费论文),在 brief.md 的开放项中记录为“演讲者需获取的材料”,并将在 outline 中依赖该原文的章节标记为“待确认”。

5. 目录 (outline.md)

  • 表的列:#、sceneId、模板、标题(一行,10 词以内)、论点一句话、画面与点击顺序、依据(文件·页码)。
  • sceneId 使用英文小写字母和数字(例如:motivation、setup、result2)。封面为 title,目录为 outline,章节开始页为 sec01 起,结束页为 thanks。
  • 幻灯片数量控制在预算内。每张幻灯片一个想法。文字要少,图表要能说明问题。细节放入演讲者备注。
  • “画面与点击顺序”列需写明图表展示什么内容,每次点击会显示什么。构建代理仅根据该列的内容进行制作。
  • 确定的封面信息写入 talk.json:title(非实验室会议的演讲标题)、topic(实验室会议主题,封面强调色副标题)、event、authors(合著者:{"name": ..., "name_ko": ...})、length_min、lang。
  • outline 顶部需写明演讲信息行(活动、日期、时长、幻灯片数量)。批准行留空。

6. 批准与移交

  1. 展示 outline.md 表格并询问。选项:“按此构建”(推荐)、“有需要修改的地方”。
  2. 如有需要修改的地方,修改后再次询问。
  3. 批准后,在 outline.md 的批准行写入当天日期,并在 README.md 的当前状态中写入 Grilling 条目(已确定事项、开放项)。
  4. 移交构建。在 Claude Code 中,通过 Skill 工具调用 talk-build,并将演讲文件夹路径作为第一个参数传递(例如 talks/2026-11-16-lab-meeting)。talk-build 在新的子代理中运行。对于不支持 Skill 工具的代理,则读取 .claude/skills/talk-build/SKILL.md 并直接按其指示执行。
  5. 构建过程根据幻灯片数量需要十几分钟到几十分钟不等。完成后,向演讲者简要报告结果。然后查看联系表(talks/<文件夹>/audit/contact-sheet.png),并要求演讲者一次性指出需要修改的地方。

相关技能