storytelling
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseStorytelling — Presentation Planning Skill
Storytelling — 演示文稿规划技能
Turn any content into a structured story plan with speaker scripts and visual evidence notes. Built on the Storytelling Canvas framework (Kernbach) and presentation design principles (Duarte, Reynolds, Alley).
将任意内容转化为包含讲者脚本和视觉佐证备注的结构化故事规划。基于Storytelling Canvas框架(Kernbach)和演示文稿设计原则(Duarte、Reynolds、Alley)构建。
What This Skill Produces
本技能产出内容
A file containing:
storytelling.json- Presentation Blueprint — shared context for the entire story (topic, audience, goal, narrative arc)
- Story Beats — each beat is a content unit with: headline, speaker script, visual evidence, and story metadata
Beats are story units, not slides. One beat may become 1 slide, multiple slides, or part of a slide — that mapping is the output skill's responsibility.
This file is a format-agnostic content plan — usable by any output skill: slide generators, social media posts, TikTok scripts, articles, etc.
一个文件,包含:
storytelling.json- 演示文稿蓝图 — 整个故事的共享上下文(主题、受众、目标、叙事弧线)
- 故事节点 — 每个节点是一个内容单元,包含:标题、讲者脚本、视觉佐证和故事元数据
节点是故事单元,而非幻灯片。一个节点可能对应1张幻灯片、多张幻灯片,或是幻灯片的一部分——这种映射由输出技能负责。
该文件是格式无关的内容规划——可被任意输出技能使用:幻灯片生成器、社交媒体帖子、TikTok脚本、文章等。
Workflow — 5 Steps
工作流——5个步骤
Step 1: Receive Content
步骤1:接收内容
Accept content from any source:
- User types/pastes directly
- Reference to a NotebookLM notebook
- File path to a document
- URL
Read or gather the raw content. Don't ask the user to restructure it — that's your job.
接受来自任意来源的内容:
- 用户直接输入/粘贴
- NotebookLM笔记本的引用
- 文档的文件路径
- URL
读取或收集原始内容。无需要求用户重新整理内容——这是你的工作。
Step 2: Clarify (ask only what's missing)
步骤2:澄清信息(仅询问缺失内容)
Check what information you already have from the content and conversation. Only ask for what's genuinely missing. Never ask more than 3 questions at once.
Required inputs (must have before proceeding):
| Field | Why it matters |
|---|---|
| Audience | Determines vocabulary, depth, emotional appeals |
| Goal (Before → After) | What should the audience think/feel/do differently after? |
Optional inputs (use smart defaults):
| Field | Default if not specified |
|---|---|
| Tone | "professional" |
| Language | Same as input content |
If the user gives a brief like "pitch to investors, 10 min" — you already know audience (investors), goal (get funding), duration (10 min). Don't re-ask. Just confirm your interpretation.
检查从内容和对话中已获取的信息。仅询问真正缺失的内容,一次最多不超过3个问题。
必填输入(继续前必须获取):
| 字段 | 重要性 |
|---|---|
| 受众 | 决定词汇、深度和情感诉求 |
| 目标(Before → After) | 演示结束后,受众的想法/感受/行为应发生哪些变化? |
可选输入(使用智能默认值):
| 字段 | 未指定时的默认值 |
|---|---|
| 语气 | "专业" |
| 语言 | 与输入内容一致 |
如果用户给出类似"向投资者推介,时长10分钟"的简要需求——你已明确受众(投资者)、目标(获得资金)、时长(10分钟),无需重复询问,只需确认你的理解即可。
Step 3: Create Presentation Blueprint
步骤3:创建演示文稿蓝图
Synthesize everything into a per-presentation blueprint. Read for the full framework, but here's the core:
references/storytelling-canvas.mdPresentation Blueprint
──────────────────────
Topic: [what it's about]
Audience: [who + what they care about]
Goal: Before: [current state]
After: [desired state]
One Big Idea: [single sentence — the thesis]
Storyline: [Report / Explanation / Pitch / Drama]
Sparkline: [What Is ↔ What Could Be pattern]
Tone: [professional / casual / inspiring]
Language: [Thai / English / mixed]Choosing the storyline type:
- Pitch — user wants approval, budget, buy-in → alternate what-is/what-could-be
- Explanation — user wants to teach or inform → progressive complexity
- Report — user presents findings/results → data-driven narrative
- Drama — user tells a story to inspire → classic hero's journey arc
Show the blueprint to the user for confirmation before proceeding.
将所有信息整合为专属的演示文稿蓝图。如需完整框架,请阅读,核心内容如下:
references/storytelling-canvas.mdPresentation Blueprint
──────────────────────
Topic: [演示主题]
Audience: [受众群体 + 他们关注的点]
Goal: Before: [当前状态]
After: [期望状态]
One Big Idea: [单句核心论点]
Storyline: [汇报 / 讲解 / 推介 / 叙事]
Sparkline: [现状 ↔ 愿景 模式]
Tone: [专业 / 随意 / 鼓舞人心]
Language: [泰语 / 英语 / 混合语言]选择叙事类型:
- 推介 — 用户希望获得批准、预算或支持 → 交替呈现现状与愿景
- 讲解 — 用户希望教学或传递信息 → 逐步提升复杂度
- 汇报 — 用户展示研究结果/业绩 → 数据驱动的叙事
- 叙事 — 用户通过故事鼓舞他人 → 经典英雄之旅弧线
在继续下一步前,需向用户展示蓝图以确认。
Step 4: Generate Per-Beat Details
步骤4:生成节点细节
Once the blueprint is approved, generate full details for every beat directly. Skipping an intermediate beat plan table keeps the focus on story depth rather than a skeleton that could anchor thinking to the wrong format.
Deciding beat count: Let the content and the narrative arc determine how many beats you need — not a duration target. A short input may yield 5–6 beats; rich, multi-topic content may yield 12–15. Every beat must carry real content — a beat with nothing substantial to say shouldn't exist just to fill a quota. The minimum arc every story needs is: Opening → Problem → S.T.A.R. → Solution → CTA. Add beats in the middle only when the content genuinely supports them.
S.T.A.R. placement: The S.T.A.R. moment lands hardest after tension has built through problem and evidence beats — placing it too early wastes the impact. It belongs in the second half of the story.
Each beat has 2 layers:
蓝图获批后,直接生成每个节点的完整细节。跳过中间的节点规划表格,专注于故事深度,而非可能限制格式的框架。
节点数量的确定: 由内容和叙事弧线决定所需节点数量——而非时长目标。简短输入可能生成5-6个节点;丰富的多主题内容可能生成12-15个节点。每个节点必须承载真实内容——不应为了凑数而创建无实质内容的节点。每个故事至少需要以下弧线:开场 → 问题 → S.T.A.R. → 解决方案 → 行动号召。仅当内容真正支持时,才添加中间节点。
S.T.A.R.的位置: S.T.A.R.时刻应放在通过问题和证据节点构建起张力之后——过早放置会浪费其影响力。它属于故事的后半部分。
每个节点包含2层内容:
Layer 1: Briefing (for humans)
第一层:人工简报
Core Takeaway: [1 sentence — if the audience forgets everything, they remember this]
Transition IN: [sentence connecting from previous beat — needed for every beat except the first]
Script: [what the presenter/author says — at least 100 Thai characters or 50 English words,
even for short beats like dividers and CTAs. Complement, not duplicate the content]
Transition OUT: [sentence setting up the next beat — needed for every beat except the last]Why transitions matter: Each beat must flow into the next — without transitions, the story feels like disconnected information. The transition_in reminds the audience where they are; the transition_out creates anticipation for what comes next. Beat 1 has no transition_in (it's the opening). The last beat has no transition_out (it ends with the CTA).
Every beat needs a script, even short ones. A divider beat still has a spoken line that carries the audience across the arc.
Read Section "SUCCESS Formula" for how to craft each script based on the beat's story role.
references/storytelling-canvas.mdCore Takeaway: [单句核心要点——即使受众忘记其他内容,也能记住这一点]
Transition IN: [连接上一个节点的语句——除第一个节点外,所有节点都需要]
Script: [讲者的发言内容——至少100个泰文字符或50个英文单词,即使是分隔页和行动号召这类短节点也需满足。补充而非重复内容]
Transition OUT: [引出下一个节点的语句——最后一个节点不需要]过渡语句的重要性: 每个节点必须流畅过渡到下一个节点——没有过渡语句,故事会显得零散。转入语句提醒受众当前进度;转出语句为后续内容制造期待。第一个节点没有转入语句(它是开场);最后一个节点没有转出语句(以行动号召结束)。
即使是短节点也需要脚本。分隔页节点仍需有口语化语句引导受众完成叙事弧线。
如需了解如何根据节点的叙事角色撰写脚本,请阅读中的"SUCCESS Formula"部分。
references/storytelling-canvas.mdLayer 2: Beat Spec (format-agnostic)
第二层:节点规范(格式无关)
SUCCESS Element:[which element of the Canvas this beat addresses:
simplicity / unexpectedness / concreteness / credibility / emotions / storyline / star_moment
— null for opening, divider, reward, and CTA beats]
Visual Evidence:[what should be shown to support the headline — described as content intent,
not as a prompt. e.g. "bar chart comparing 3 competitors" not "flat vector infographic"]
Emotional Tone: [alarming / confident / curious / relieved / inspiring / shocking / nostalgic]
Priority: [essential | important | supplementary]
essential — story is incomplete without this beat
important — significantly aids understanding; include if space allows
supplementary — adds depth but the story holds without it
Cluster: [opening | problem | evidence | solution | closing]
— which narrative section this beat belongs to; output skills use this
to group beats when mapping to multi-post or section-based formats
Condensed Script:[1–2 sentence version of the script for space-constrained formats
such as social captions, infographic labels, or short-form video]Why SUCCESS element matters: The middle section of a story must cover all dimensions of the Canvas — Simplicity, Unexpectedness, Concreteness, Credibility, Emotions. Tagging each beat keeps the story balanced and prevents over-indexing on one type (e.g., 5 data beats in a row).
Why priority + cluster + condensed_script matter: This blueprint is a master source of truth — output skills (slides, social posts, TikTok, infographics) will consume it with different space constraints. Priority lets them select beats automatically: a 5-slide deck takes only; a 12-slide deck adds . Cluster lets them group beats into sections or posts. Condensed script gives them a pre-written short version rather than truncating the full script awkwardly.
essentialimportantShow progress to the user as you generate:
กำลังสร้างรายละเอียด 12 beats...
✅ Beat 1/12 — Opening
✅ Beat 2/12 — Common Ground
...SUCCESS Element:[该节点对应的Canvas元素:
simplicity / unexpectedness / concreteness / credibility / emotions / storyline / star_moment
— 开场、分隔页、奖励和行动号召节点为null]
Visual Evidence:[用于支持标题的展示内容——描述为内容意图,而非提示词。例如:"对比3家竞品的柱状图"而非"扁平化矢量信息图"]
Emotional Tone: [警示 / 自信 / 好奇 / 释然 / 鼓舞人心 / 震惊 / 怀旧]
Priority: [essential | important | supplementary]
essential — 缺少该节点,故事不完整
important — 显著提升理解度;如有空间则包含
supplementary — 增加深度,但缺少它故事依然成立
Cluster: [opening | problem | evidence | solution | closing]
— 该节点所属的叙事板块;输出技能会利用此字段
在映射到多帖子或分板块格式时对节点进行分组
Condensed Script:[脚本的1-2句精简版——适用于空间受限的格式,
如社交媒体标题、信息图标签或短视频脚本]SUCCESS元素的重要性: 故事的中间部分必须覆盖Canvas的所有维度——简洁性、意外性、具体性、可信度、情感性。标记每个节点可保证故事平衡,避免过度侧重某一类型(例如连续5个数据节点)。
优先级 + 板块 + 精简脚本的重要性: 此蓝图是核心数据源——输出技能(幻灯片、社交媒体帖子、TikTok、信息图)会根据不同的空间限制使用它。优先级可帮助自动选择节点:5页幻灯片仅使用节点;12页幻灯片则添加节点。板块可帮助将节点分组为章节或帖子。精简脚本提供预编写的短版本,避免生硬截断完整脚本。
essentialimportant生成过程中向用户展示进度:
กำลังสร้างรายละเอียด 12 beats...
✅ Beat 1/12 — Opening
✅ Beat 2/12 — Common Ground
...Step 5: Save storytelling.json
步骤5:保存storytelling.json
Write the complete output to in the current working directory.
storytelling.jsonSchema:
jsonc
{
"canvas": {
// — General Conditions (Kernbach) —
"topic": "string",
"audience": "string",
"audience_type": "doer | supplier | influencer | innovator",
"audience_analysis": {
"before": {
"think": "string — what they currently believe",
"feel": "string — how they currently feel",
"know": "string — what they currently know",
"want": "string — what they currently want to do"
},
"after": {
"think": "string — what they should believe",
"feel": "string — how they should feel",
"know": "string — what they should know",
"want": "string — what they should want to do"
}
},
"goal": {
"before": "string — summary of audience state before",
"after": "string — summary of desired state after"
},
"one_big_idea": "string — single thesis sentence, the one thing they must remember",
"common_ground": "string — shared experience or vision between presenter and audience",
// — Story Architecture —
"storyline": "pitch | explanation | report | drama",
"plot_type": "man_in_a_hole | rags_to_riches | cinderella | icarus | riches_to_rags | oedipus",
"conflict_type": "self_vs_self | self_vs_others | self_vs_environment",
"sparkline_type": "what_is_vs_what_could_be | progressive | data_driven | hero_journey",
"star_moment_index": "number — index of the S.T.A.R. moment beat",
// — Ending —
"reward": {
"personal": "string — how the audience personally benefits",
"sphere": "string — how it benefits people around them",
"humanity": "string — how it contributes to something larger"
},
// — Delivery —
"tone": "string",
"language": "string"
},
"beats": [
{
"index": 1,
"type": "opening | common_ground | problem | data | star_moment | divider | solution | process | roi | comparison | reward | cta | ...",
"story_role": "string — e.g. beginning/start_with_why, middle/credibility, end/reward",
"success_element": "simplicity | unexpectedness | concreteness | credibility | emotions | storyline | star_moment | null",
"sparkline_position": "what_is | what_could_be | shift | neutral",
"emotional_tone": "string",
"headline": "string — full-sentence assertion (Alley model)",
"visual_evidence": "string — what should be shown to support the headline, described as content intent",
"content": ["array of specific data/text items to include"],
"core_takeaway": "string — 1 sentence: if they forget everything else, they remember this",
"transition_in": "string | null",
"script": "string — spoken words, 100+ Thai chars or 50+ English words",
"transition_out": "string | null",
// — Output skill hints —
"priority": "essential | important | supplementary",
"cluster": "opening | problem | evidence | solution | closing",
"condensed_script": "string — 1-2 sentences for space-constrained formats"
}
]
}After saving, tell the user:
📄 storytelling.json พร้อมแล้ว (X beats) — นำไปใช้ต่อได้เลยNote: เป็น format-agnostic content plan — skill ใดก็ได้รับไปเป็น context แล้วตีความสู่ output format ของตัวเอง
storytelling.json将完整输出写入当前工作目录下的文件。
storytelling.jsonSchema:
jsonc
{
"canvas": {
// — General Conditions (Kernbach) —
"topic": "string",
"audience": "string",
"audience_type": "doer | supplier | influencer | innovator",
"audience_analysis": {
"before": {
"think": "string — what they currently believe",
"feel": "string — how they currently feel",
"know": "string — what they currently know",
"want": "string — what they currently want to do"
},
"after": {
"think": "string — what they should believe",
"feel": "string — how they should feel",
"know": "string — what they should know",
"want": "string — what they should want to do"
}
},
"goal": {
"before": "string — summary of audience state before",
"after": "string — summary of desired state after"
},
"one_big_idea": "string — single thesis sentence, the one thing they must remember",
"common_ground": "string — shared experience or vision between presenter and audience",
// — Story Architecture —
"storyline": "pitch | explanation | report | drama",
"plot_type": "man_in_a_hole | rags_to_riches | cinderella | icarus | riches_to_rags | oedipus",
"conflict_type": "self_vs_self | self_vs_others | self_vs_environment",
"sparkline_type": "what_is_vs_what_could_be | progressive | data_driven | hero_journey",
"star_moment_index": "number — index of the S.T.A.R. moment beat",
// — Ending —
"reward": {
"personal": "string — how the audience personally benefits",
"sphere": "string — how it benefits people around them",
"humanity": "string — how it contributes to something larger"
},
// — Delivery —
"tone": "string",
"language": "string"
},
"beats": [
{
"index": 1,
"type": "opening | common_ground | problem | data | star_moment | divider | solution | process | roi | comparison | reward | cta | ...",
"story_role": "string — e.g. beginning/start_with_why, middle/credibility, end/reward",
"success_element": "simplicity | unexpectedness | concreteness | credibility | emotions | storyline | star_moment | null",
"sparkline_position": "what_is | what_could_be | shift | neutral",
"emotional_tone": "string",
"headline": "string — full-sentence assertion (Alley model)",
"visual_evidence": "string — what should be shown to support the headline, described as content intent",
"content": ["array of specific data/text items to include"],
"core_takeaway": "string — 1 sentence: if they forget everything else, they remember this",
"transition_in": "string | null",
"script": "string — spoken words, 100+ Thai chars or 50+ English words",
"transition_out": "string | null",
// — Output skill hints —
"priority": "essential | important | supplementary",
"cluster": "opening | problem | evidence | solution | closing",
"condensed_script": "string — 1-2 sentences for space-constrained formats"
}
]
}保存完成后,告知用户:
📄 storytelling.json พร้อมแล้ว (X beats) — นำไปใช้ต่อได้เลย注意:是格式无关的内容规划——任何技能均可将其作为上下文,转化为自身的输出格式
storytelling.jsonImportant Principles
重要原则
On beat types: Each beat has exactly one — the primary narrative function (opening, problem, data, solution, star_moment, etc.). If a beat is trying to do two things at once (e.g., establish common ground AND deliver the S.T.A.R. moment), split it into two beats. The field is separate — it tags which Canvas dimension the beat serves, not the narrative role.
typesuccess_elementOn S.T.A.R. placement: The S.T.A.R. moment is the climax of the story — it lands hardest when the audience has traveled through problem, data, and stakes. Placing it before that tension has built wastes the impact. S.T.A.R. belongs in the second half of the story, after the Middle section has done its work.
On beats vs slides: Beats are story units, not slides. A beat represents one narrative idea — it may become 1 slide, multiple slides, or share a slide with another beat. The split into visual units is the output skill's responsibility. Don't think in slides when planning beats.
On headlines: Every beat headline is a full-sentence assertion (Michael Alley's model). "ต้นทุนซ่อนเร้นสูงถึง 1.2 ล้านต่อปี" not "ต้นทุน". This is backed by research — audiences understand and remember assertion headlines significantly better than topic labels.
On content density: Each beat carries exactly one idea. If you find yourself putting two arguments, two data points, or two emotional appeals into a single beat — split it. The script can elaborate, but the headline and core takeaway must be singular and sharp. Audiences remember one thing per moment, not five.
On emotional arc: Stories that just dump information are forgettable. The Sparkline pattern (Duarte) alternates between "what is" (current reality, problems) and "what could be" (vision, solutions). This tension and resolution keeps the audience engaged and makes the final vision feel earned. For Pitch storylines, this is essential — tag each beat's carefully to maintain the rhythm.
sparkline_positionOn SUCCESS elements: The middle section of a story must cover all 7 elements of the Canvas (Simplicity, Unexpectedness, Concreteness, Credibility, Emotions, Storylines, S.T.A.R. moment). Tagging each beat keeps you honest — if you look at your tags and see only "data/credibility" beats, the story is too dry. Balance information with emotion.
success_element关于节点类型: 每个节点仅有一个——即主要叙事功能(开场、问题、数据、解决方案、S.T.A.R.时刻等)。如果一个节点试图同时完成两件事(例如,建立共识并呈现S.T.A.R.时刻),需拆分为两个节点。字段是独立的——它标记节点对应的Canvas维度,而非叙事角色。
typesuccess_element关于S.T.A.R.的位置: S.T.A.R.时刻是故事的高潮——当受众经历了问题、数据和风险节点后,它的影响力最大。过早放置会浪费其效果。S.T.A.R.属于故事的后半部分,需在中间板块完成铺垫后再呈现。
关于节点与幻灯片的区别: 节点是故事单元,而非幻灯片。一个节点代表一个叙事观点——它可能对应1张幻灯片、多张幻灯片,或与其他节点共享一张幻灯片。将其拆分为视觉单元是输出技能的职责。规划节点时不要以幻灯片为单位思考。
关于标题: 每个节点的标题必须是完整的断言句(Michael Alley模型)。例如:"隐性成本每年高达120万"而非"成本"。研究表明,与主题标签相比,受众对断言式标题的理解和记忆程度显著更高。
关于内容密度: 每个节点仅承载一个观点。如果你发现一个节点中包含两个论点、两个数据点或两个情感诉求——请拆分它。脚本可以详细阐述,但标题和核心要点必须单一且清晰。受众每个时刻只能记住一件事,而非五件。
关于情感弧线: 仅堆砌信息的故事容易被遗忘。Sparkline模式(Duarte)交替呈现"现状"(当前现实、问题)和"愿景"(未来图景、解决方案)。这种张力与和解能保持受众的参与度,让最终愿景显得更有价值。对于推介类叙事,这一点至关重要——需仔细标记每个节点的以维持节奏。
sparkline_position关于SUCCESS元素: 故事的中间部分必须覆盖Canvas的所有7个元素(简洁性、意外性、具体性、可信度、情感性、叙事线、S.T.A.R.时刻)。标记每个节点可确保故事平衡——如果标签仅包含"数据/可信度"节点,说明故事过于枯燥,需平衡信息与情感。
success_elementReference Files
参考文件
Read these when you need deeper knowledge:
| File | When to read |
|---|---|
| Step 3 (blueprint) — story roles, audience types, sparkline pattern; Step 4 (beats) — SUCCESS formula, script guidance |
如需深入了解,请阅读以下文件:
| 文件 | 阅读场景 |
|---|---|
| 步骤3(蓝图)——叙事角色、受众类型、Sparkline模式;步骤4(节点)——SUCCESS公式、脚本撰写指南 |