Loading...
Loading...
Plan presentations using the Storytelling Canvas framework — from raw content to a format-agnostic story blueprint with speaker scripts and visual evidence notes. Use this skill whenever the user wants to plan a presentation, create a slide deck outline, structure a pitch, design a talk, write presentation scripts, or prepare content before generating slides. Also triggers on: '/storytelling', 'วางแผน presentation', 'ทำ slide plan', 'plan slides', 'presentation outline', 'pitch deck plan', 'เตรียม slide', 'วางโครง presentation'. Use this even when the user just says 'I need to present X' or pastes content and says 'turn this into slides'. This skill creates the storytelling plan — the actual slide or content generation happens via a separate output skill afterward.
npx skill4agent add champpaba/storytelling storytellingstorytelling.json| Field | Why it matters |
|---|---|
| Audience | Determines vocabulary, depth, emotional appeals |
| Goal (Before → After) | What should the audience think/feel/do differently after? |
| Field | Default if not specified |
|---|---|
| Tone | "professional" |
| Language | Same as input content |
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]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]references/storytelling-canvas.mdSUCCESS 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]essentialimportantกำลังสร้างรายละเอียด 12 beats...
✅ Beat 1/12 — Opening
✅ Beat 2/12 — Common Ground
...storytelling.json{
"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.jsontypesuccess_elementsparkline_positionsuccess_element| File | When to read |
|---|---|
| Step 3 (blueprint) — story roles, audience types, sparkline pattern; Step 4 (beats) — SUCCESS formula, script guidance |