Use before creating presentations — transforms a topic or rough outline into a complete Slide Plan with narrative strategy, audience analysis, and per-slide detail. Auto-chains to interactive-presentation-generator for production.
Install
npx skillscat add tomwangowa/agent-skills/presentation-planner Install via the SkillsCat registry.
Presentation Planner
Overview
Turn a topic or rough outline into a validated Slide Plan through structured
planning, before any slides are generated.
Core principle: A presentation without a narrative strategy is just a
collection of bullet points. Every minute spent on planning saves ten minutes
of slide reshuffling.
Violating the letter but not the spirit doesn't count. Dumping the user's
outline into a slide-per-section format is not planning — it's transcription.
Real planning identifies the core message, selects a narrative framework,
and structures content for the target audience.
Announce at start:
"Activating presentation planner — I'll help you design the narrative
before generating any slides."
When to Use
Always before interactive-presentation-generator:
- User wants to create a presentation from a topic or idea
- User has a rough outline that needs structure and polish
- User wants to convert a report or document into a presentation
- User asks "help me plan a talk about X"
Exceptions (planner can be skipped):
- User provides a complete, per-slide plan with titles and key points
- User explicitly says "skip planning" or "just generate slides"
- User only needs to re-style an existing presentation (no content change)
The Iron Law
NO SLIDES WITHOUT A NARRATIVE STRATEGY FIRST- Do NOT chain to
interactive-presentation-generatorbefore the user
approves a Slide Plan - Do NOT skip Audience Analysis — even "obvious" audiences have
assumptions worth examining - Do NOT present a Slide Plan and proceed without explicit user approval
- "Looks good" or "go ahead" from the user counts as approval
- Silence or topic change does NOT count as approval — ask explicitly
Workflow
Phase 1: Intake
Auto-detect input mode:
- From-scratch: User provides only a topic, keyword, or brief
description → enter full planning flow from Phase 2 - Optimize: User provides an existing outline, document path, or
pastes structured content → read and analyze, then skip to Phase 3
with pre-filled context
Gather information (one question at a time):
- Purpose — What should this presentation achieve?
- Persuade (adopt a proposal, approve a budget)
- Educate (teach a concept, share knowledge)
- Report (status update, project summary)
- Inspire (keynote, motivational, vision)
- Audience — Who is listening?
- Technical (engineers, developers)
- Executive (C-suite, directors, managers)
- General (mixed, non-specialist)
- Domain expert (researchers, analysts, designers)
- Duration — How long?
- Lightning talk (5 min)
- Short session (15 min)
- Standard session (30 min)
- Full session (60 min)
- Constraints — Anything mandatory or forbidden?
- Must-include content, company guidelines, tone requirements
- If none, move on
For Optimize mode: Read the existing material first, then ask only
questions whose answers are not already evident from the content.
Phase 2: Audience Analysis & Framework Selection
Audience Profile:
Generate a 3-sentence audience profile covering:
- Who they are and what they already know
- What they care about (their goals, pain points)
- What will make them act on your message
Auto-select narrative framework based on purpose + audience:
| Purpose | Audience | Framework |
|---|---|---|
| Persuade decision-makers | Executive | SCQA (Situation → Complication → Question → Answer) |
| Educate or share knowledge | Any | What → So What → Now What |
| Report progress or results | Executive / Mixed | Chronological (timeline with milestones) |
| Sell a product or project | Any | Problem → Solution → Impact |
| Tell a story or journey | General | Hero's Journey (challenge → transformation → result) |
| Compare options for a decision | Technical / Executive | Compare & Contrast (criteria matrix) |
Present the selection:
"Based on your audience ([profile]) and purpose ([purpose]), I recommend
the [Framework Name] framework because [reason]. Here's how it
structures your talk: [brief outline of framework sections].""Does this framework fit, or would you prefer a different approach?"
Phase 3: Narrative Strategy & Outline
Produce:
- Core Message — One sentence the audience should remember if they
forget everything else - Supporting Messages — 3-5 key arguments or evidence that support
the core message - Story Arc — Map each section to its role in the narrative:
- Opening: hook the audience (question, statistic, story)
- Build-up: establish context and evidence
- Climax: deliver the core insight or recommendation
- Resolution: summarize and call to action
- Section Outline — Each section's title, purpose, and estimated
slide count
When material is insufficient:
"Your [section] lacks concrete data or examples. Would you like to run
critical-researchto find supporting evidence before continuing?"
If user declines, proceed with available material and note the gap.
Present outline for approval. User must confirm before Phase 4.
Phase 4: Slide Plan
Expand the approved outline into a per-slide plan:
## Slide Plan: [Presentation Title]
**Framework**: [Selected Framework]
**Duration**: [X] min | **Total slides**: [N]
**Core Message**: [One sentence]
---
### Slide 1: Title Slide
- **Title**: [Presentation title]
- **Subtitle**: [Context or tagline]
- **Visual**: Cover image
### Slide 2: [Opening Hook]
- **Title**: [Engaging question or statement]
- **Key Points**:
- [Point 1]
- [Point 2]
- [Point 3]
- **Speaker Note**: [What to say, 2-3 sentences]
- **Visual Suggestion**: [chart / image / diagram / none]
### Slide 3-N: [Content Slides]
...
### Slide N: [Closing / CTA]
- **Title**: [Call to action or summary]
- **Key Points**:
- [Takeaway 1]
- [Takeaway 2]
- [Next steps]
- **Speaker Note**: [Closing remarks]
- **Visual**: Ending imageSlide count guidelines:
| Duration | Slide Count | Pace |
|---|---|---|
| 5 min | 5-7 slides | ~1 min/slide |
| 15 min | 12-18 slides | ~1 min/slide |
| 30 min | 20-30 slides | ~1-1.5 min/slide |
| 60 min | 35-50 slides | ~1-1.5 min/slide |
Present Slide Plan for approval. User must confirm before Phase 5.
Phase 5: Handoff
After Slide Plan approval:
"Slide Plan is ready. Would you like to generate the presentation now?"
- Yes → invoke
interactive-presentation-generatorwith the Slide
Plan as input. The generator can skip its own Step 1 (Gather
Requirements) and Step 4 (Generate Content Structure) since the
planner already produced them. Proceed directly to Step 2 (Choose
Style) → Step 3 (Choose Format) → Step 5 (Generate Files). - No → save the Slide Plan to
docs/presentations/YYYY-MM-DD-<topic>-slide-plan.mdand inform the
user they can runinteractive-presentation-generatorlater with this
file as input. - Revise → go back to the phase the user wants to adjust.
Narrative Frameworks Reference
SCQA (Situation → Complication → Question → Answer)
Best for persuading decision-makers. Establishes shared context, introduces
the problem, frames the question, then delivers the recommendation.
What → So What → Now What
Best for education and knowledge sharing. Presents facts, explains their
significance, then suggests actions.
Problem → Solution → Impact
Best for selling ideas or products. Shows the pain, presents the fix,
quantifies the benefit.
Hero's Journey
Best for storytelling and inspiration. Takes the audience through a
challenge, the struggle, and the transformation.
Compare & Contrast
Best for decision presentations. Sets criteria, evaluates options
side-by-side, delivers a recommendation.
Chronological
Best for status updates and retrospectives. Walks through the timeline
with milestones, turning points, and current state.
Rationalization Prevention
| Excuse | Reality |
|---|---|
| "The user already has an outline" | An outline is a list of topics, not a narrative. Lists don't persuade, stories do. |
| "This is just a status update" | Status updates are the most common bad presentations. A Chronological framework with a Core Message transforms them. |
| "The audience already knows the topic" | Experts are the hardest audience — they'll spot gaps in your argument instantly. Planning matters more, not less. |
| "I'll just make a slide per bullet" | That's a document, not a presentation. Presentations need a narrative arc. |
| "Planning takes too long" | A 5-minute talk needs a 5-minute plan. Saving 5 minutes of planning costs 30 minutes of reshuffling slides. |
Red Flags — STOP
- You're generating slides and realize you never planned → STOP.
Plan first. - You skipped Audience Analysis because the audience "seemed obvious" →
go back and write the profile - You produced a Slide Plan that's just the outline with "Slide N:"
prefixed → that's formatting, not planning - You have no Core Message → the presentation has no point
- Every slide has 6+ bullet points → you're writing a document, not
planning a presentation - You chained to generator without user approval of the Slide Plan →
revert and ask
Examples
Example 1: From-Scratch (Technical Talk)
User: "Help me plan a 30-minute talk on WebAssembly for backend devs"
RIGHT:
"Activating presentation planner — I'll design the narrative first."
- Gathers: Purpose = Educate, Audience = Technical, Duration = 30 min
- Audience Profile: "Backend developers who know JavaScript/Python but
haven't used Wasm. They care about performance and deployment
simplicity. Concrete benchmarks will make them take Wasm seriously."- Auto-selects: What → So What → Now What (educational)
- Core Message: "WebAssembly lets you run near-native-speed code in
places you never could before — and it's ready for production today."- Produces 22-slide plan with speaker notes
- "Slide Plan ready. Generate now?" → chains to generator
WRONG:
"I'll create a presentation about WebAssembly."
(Skipped planning entirely, jumped to generator)
Example 2: Optimize Mode (Existing Outline)
User: "I have this outline for my quarterly review, can you improve it?
[pastes 10 bullet points]"
RIGHT:
"Activating presentation planner — I'll analyze your outline."
- Detects Optimize mode, reads the 10 bullets
- Asks: "Is this for your leadership team or your direct team?"
- Identifies: no Core Message, flat structure, data-heavy sections
lack context- Auto-selects: Chronological with added "So What" for each
milestone- Restructures into narrative arc, suggests where to add impact
statements- Produces Slide Plan for approval
Example 3: Report to Presentation
User: "Turn my monthly report into a presentation for the board"
RIGHT:
- Reads the report file (Optimize mode)
- Audience = Executive → auto-selects SCQA
- Extracts data from report, restructures around a Core Message
- Suggests: "The report has 15 metrics. For a board presentation,
I recommend focusing on the top 3 that support your Core Message.
The rest can go in an appendix slide."- Produces focused Slide Plan (not a 1:1 report-to-slides mapping)
Constraints
- One question per message during intake — never batch questions
- Always produce a Core Message — no plan is complete without one
- Always auto-select a framework — present the recommendation, don't
ask users to pick from a menu - Never skip Audience Analysis — scale it down for obvious cases,
don't skip it - Slide Plan must be approved before handoff to generator
- Respect slide count guidelines — flag if the plan exceeds the
guideline by more than 20%
Error Handling
User Provides Contradictory Requirements
- Surface the contradiction: "You mentioned this is for executives (who
prefer high-level) but also want to include code demos (which are
technical). Which takes priority?" - Do not silently resolve — let the user decide
User Abandons Mid-Session
- If the user changes topic or says "never mind", stop cleanly
- Do not save partial Slide Plans
- If resuming later, re-read context from scratch
Existing Outline is Unstructured
- If the provided material is too unstructured to analyze (e.g., stream
of consciousness notes), inform the user:
"This material is quite unstructured. I'll switch to From-scratch mode
and use your notes as reference material." - Extract what you can, ask for the rest
Content Exceeds Duration
- If the Slide Plan exceeds the target slide count by more than 20%:
"The current plan has [N] slides for a [X]-minute talk. That's
[Y] slides over the guideline. I recommend cutting [section] or
splitting into two talks." - Let the user decide what to cut
Research Skill Unavailable or Inconclusive
- If user agrees to run
critical-researchbut it returns inconclusive
results, note the gap in the Slide Plan:
"Speaker Note: [Data needed — research was inconclusive. Consider
gathering this before presenting.]"
Security Considerations
Slide Plan File Safety
- Validate the
docs/presentations/path exists before writing; create
if missing - Sanitize
<topic>in filenames — strip characters outside[a-z0-9-]
to prevent path traversal - Never include confidential data in Slide Plans unless the user
explicitly provides it
User Input in Slide Plans
- Slide Plans may quote user content verbatim — escape markdown injection
if rendered in web context - Do not embed executable code blocks from user input without review
- Speaker Notes may contain sensitive talking points — remind user if
the plan will be shared
Scope Limitation
- This skill reads existing files (outlines, reports) and writes one
Slide Plan file - It does not generate presentation files (that's the generator's job)
- It does not execute code, install packages, or modify source files
- The only file mutation is creating
docs/presentations/*.md
Related Skills
- interactive-presentation-generator — downstream: produces slides
from the Slide Plan - critical-research — optional upstream: fills evidence gaps in
Phase 3 - report-generator — optional upstream: reports can be input for
Optimize mode - brainstorming — sibling: both are planning skills; brainstorming
is for code, presentation-planner is for slides