Storytelling Web
Create stunning, animation-rich exploratory visual web pages from text content — choose between slide-based presentations or scroll-driven narratives.
Core Philosophy
- Zero Dependencies — Single HTML files with inline CSS/JS. No npm, no build tools.
- Show, Don't Tell — Generate visual previews, not abstract choices. People don't know what they want until they see it.
- Distinctive Design — Avoid generic "AI slop" aesthetics. Every experience should feel custom-crafted.
- Production Quality — Code should be well-commented, accessible, and performant.
Phase 0: Content Discovery
First, understand the user's needs and gather content:
Step 0.1: User Requirements
Understand what the user wants to achieve:
Question 1: Purpose
- Header: "Purpose"
- Question: "What is this for?"
- Options:
- "Pitch/Investment" — Selling an idea, product, or company
- "Teaching/Education" — Explaining concepts, tutorials, guides
- "Story/Narrative" — Sharing experiences, journalism, creative writing
- "Update/Report" — Status updates, project reviews, documentation
Question 2: Length
- Header: "Length"
- Question: "How much content do you have?"
- Options:
- "Short" — Quick read, 3-5 slides or sections
- "Medium" — Standard length, 6-15 slides or sections
- "Long" — Comprehensive, 15+ slides or sections
Step 0.2: Content Gathering
Get the actual content from the user:
Question 1: Content Status
- Header: "Content"
- Question: "Do you have the content ready?"
- Options:
- "I have all content ready" — Just need to design it
- "I have rough notes" — Need help organizing
- "I have a topic only" — Need help creating from scratch
If user has content, ask them to share it (text, bullet points, images, etc.).
Phase 1: Choose Mode
Based on the content understanding, provide helpful context about both modes, then let the user choose.
Step 1.1: Mode Analysis (Informational)
Analyze the user's content from Phase 0 and share insights:
For your content:
Note: These are just considerations — choose whichever mode aligns with your vision. You may have a clear preference already.
Step 1.2: Mode Selection Question
Then ask:
- Header: "Experience Type"
- Question: "Which mode would you like to use?"
- Options:
- "Slides" — Presentation with slide navigation, best for structured content.
- "Scrolling Story" — Continuous scroll narrative, best for exploratory content.
Phase 2: Style Discovery
Step 2.1: Mood Selection
Question 1: Feeling
- Header: "Vibe"
- Question: "What feeling should the audience have?"
- Options:
- "Impressed/Confident" — Professional, trustworthy, polished
- "Excited/Energized" — Innovative, bold, dynamic
- "Calm/Focused" — Clear, thoughtful, easy to follow
- "Inspired/Moved" — Emotional, memorable, atmospheric
- multiSelect: true (can choose up to 2)
Step 2.2: Generate Style Previews
Based on their mood selection and chosen mode (Slides or Scrolling), read the corresponding reference document (references/slides-mode.md or references/scrolling-mode.md) to understand the HTML architecture and design patterns for that mode.
Also read references/style-presets.md for detailed style presets including specific font pairings, color palettes, animation approaches, and signature elements to ensure distinctive, non-generic designs.
Then generate 3 distinct style previews as mini HTML files. Each file should contain only a small portion of content, serving as a draft for users to visually select from, showing:
- Typography (font choices, heading/body hierarchy)
- Color palette (background, accent, text colors)
- Animation style (how elements enter)
- Overall aesthetic feel
Preview Styles to Consider (pick 3 based on mood):
| Mood |
Slides Options |
Scrolling Options |
| Impressed/Confident |
"Corporate Elegant", "Dark Executive", "Clean Minimal" |
"Swiss Modern", "Editorial Classic", "Professional Dark" |
| Excited/Energized |
"Neon Cyber", "Bold Gradients", "Kinetic Motion" |
"Neon Nights", "Dynamic Energy", "Future Forward" |
| Calm/Focused |
"Paper & Ink", "Soft Muted", "Swiss Minimal" |
"Zen Garden", "Clean Air", "Quiet Space" |
| Inspired/Moved |
"Cinematic Dark", "Warm Editorial", "Atmospheric" |
"Midnight Cinema", "Golden Hour", "Misty Forest" |
IMPORTANT: Never use these generic patterns:
- Purple gradients on white backgrounds
- Inter, Roboto, or system fonts
- Standard blue primary colors
- Predictable layouts
Instead, use distinctive choices:
- Unique font pairings (Clash Display, Satoshi, Cormorant Garamond, DM Sans, etc.)
- Cohesive color themes with personality
- Atmospheric backgrounds (gradients, subtle patterns, depth)
- Signature animation moments
Step 2.3: Present Previews
Create the previews and present them to the user.
Each preview should be:
- Self-contained (inline CSS/JS)
- A single slide (Slides) or hero section (Scrolling) showing the aesthetic
- Animated to demonstrate motion style
- ~50-300 lines
Present to user:
I've created 3 style previews for you to compare:
**Style A: [Name]** — [1 sentence description]
**Style B: [Name]** — [1 sentence description]
**Style C: [Name]** — [1 sentence description]
Take a look and tell me:
1. Which style resonates most?
2. What do you like about it?
3. Anything you'd change?
Then use AskUserQuestion:
Question: Pick Your Style
- Header: "Style"
- Question: "Which style preview do you prefer?"
- Options:
- "Style A: [Name]" — [Brief description]
- "Style B: [Name]" — [Brief description]
- "Style C: [Name]" — [Brief description]
- "Mix elements" — Combine aspects from different styles
If "Mix elements", ask for specifics.
Phase 3: Generate Output
Output Locations
Style Preview Outputs (Intermediate)
- Generated in Phase 2 for user to select from
- Saved to
.agent-design/storytelling-web/ directory:
.agent-design/storytelling-web/
├── style-a.html # First style option
├── style-b.html # Second style option
├── style-c.html # Third style option
└── assets/ # Any shared assets
Final Output
- Location: User's working directory root (where the task was initiated)
- Filename: Based on the content title, e.g.,
xxx.html (use kebab-case, e.g., my-presentation.html, my-story.html)
- Requirements:
- Single self-contained HTML file with inline CSS/JS
- Zero external dependencies (except Google Fonts CDN)
- All content included based on user's provided material
For Slides Mode
Read references/slides-mode.md for:
- Complete HTML architecture
- Slide type patterns (title, content, split, image, quote, closing)
- Navigation and keyboard controls
- Animation patterns for slide transitions
For Scrolling Mode
Read references/scrolling-mode.md for:
- Complete HTML architecture
- Section type patterns (hero, text, image-text, full-bleed, quote)
- Scroll-triggered animations
- Progress bar implementation
Design Principles (Both Modes)
- Typography Hierarchy — Clear distinction between headings, body, captions
- Color Consistency — Use CSS custom properties for easy theming
- Accessibility — Sufficient contrast, semantic HTML, keyboard navigation
- Mobile Consideration — Test responsiveness
- Performance — Optimize images, efficient animations
Tips for Great Experiences
Slides Mode
- One idea per slide
- Large, readable text
- Visual variety between slides
- Strong opening and closing
Scrolling Mode
- Start with a hook
- Control pacing (some sections quick, others slow)
- Use images intentionally
- Build to key moments
- End memorably
1---2name: storytelling-web3description: Create stunning, animation-rich exploratory visual web pages from text content. Supports both Slides mode (presentation-style with slide navigation) and Scrolling mode (scroll-driven narrative with progressive animations). Use when the user wants to transform text into immersive web experiences with distinctive visual design, smooth animations, and engaging interactions. Generates zero-dependency single-file HTML.4---56# Storytelling Web78Create stunning, animation-rich exploratory visual web pages from text content — choose between **slide-based presentations** or **scroll-driven narratives**.910## Core Philosophy11121. **Zero Dependencies** — Single HTML files with inline CSS/JS. No npm, no build tools.132. **Show, Don't Tell** — Generate visual previews, not abstract choices. People don't know what they want until they see it.143. **Distinctive Design** — Avoid generic "AI slop" aesthetics. Every experience should feel custom-crafted.154. **Production Quality** — Code should be well-commented, accessible, and performant.1617## Phase 0: Content Discovery1819First, understand the user's needs and gather content:2021### Step 0.1: User Requirements2223Understand what the user wants to achieve:2425**Question 1: Purpose**2627- Header: "Purpose"28- Question: "What is this for?"29- Options:30 - "Pitch/Investment" — Selling an idea, product, or company31 - "Teaching/Education" — Explaining concepts, tutorials, guides32 - "Story/Narrative" — Sharing experiences, journalism, creative writing33 - "Update/Report" — Status updates, project reviews, documentation3435**Question 2: Length**3637- Header: "Length"38- Question: "How much content do you have?"39- Options:40 - "Short" — Quick read, 3-5 slides or sections41 - "Medium" — Standard length, 6-15 slides or sections42 - "Long" — Comprehensive, 15+ slides or sections4344### Step 0.2: Content Gathering4546Get the actual content from the user:4748**Question 1: Content Status**4950- Header: "Content"51- Question: "Do you have the content ready?"52- Options:53 - "I have all content ready" — Just need to design it54 - "I have rough notes" — Need help organizing55 - "I have a topic only" — Need help creating from scratch5657If user has content, ask them to share it (text, bullet points, images, etc.).5859## Phase 1: Choose Mode6061Based on the content understanding, provide helpful context about both modes, then let the user choose.6263### Step 1.1: Mode Analysis (Informational)6465Analyze the user's content from Phase 0 and share insights:6667**For your content:**6869- **Slides mode** works well if: [explain why slides might fit based on their purpose/length]70 - Structured, sequential presentation71 - Speaker-led experience with navigation control72 - Content that benefits from clear boundaries between sections7374- **Scrolling mode** works well if: [explain why scrolling might fit based on their purpose/length]75 - Exploratory, narrative-driven experience76 - Reader-controlled pacing77 - Content that flows naturally as a continuous story7879**Note:** These are just considerations — choose whichever mode aligns with your vision. You may have a clear preference already.8081### Step 1.2: Mode Selection Question8283Then ask:8485- Header: "Experience Type"86- Question: "Which mode would you like to use?"87- Options:88 - **"Slides"** — Presentation with slide navigation, best for structured content.89 - **"Scrolling Story"** — Continuous scroll narrative, best for exploratory content.9091## Phase 2: Style Discovery9293### Step 2.1: Mood Selection9495**Question 1: Feeling**9697- Header: "Vibe"98- Question: "What feeling should the audience have?"99- Options:100 - "Impressed/Confident" — Professional, trustworthy, polished101 - "Excited/Energized" — Innovative, bold, dynamic102 - "Calm/Focused" — Clear, thoughtful, easy to follow103 - "Inspired/Moved" — Emotional, memorable, atmospheric104- multiSelect: true (can choose up to 2)105106### Step 2.2: Generate Style Previews107108Based on their mood selection and chosen mode (Slides or Scrolling), read the corresponding reference document ([references/slides-mode.md](references/slides-mode.md) or [references/scrolling-mode.md](references/scrolling-mode.md)) to understand the HTML architecture and design patterns for that mode.109110Also read [references/style-presets.md](references/style-presets.md) for detailed style presets including specific font pairings, color palettes, animation approaches, and signature elements to ensure distinctive, non-generic designs.111112Then generate **3 distinct style previews** as mini HTML files. Each file should contain only a small portion of content, serving as a draft for users to visually select from, showing:113114- Typography (font choices, heading/body hierarchy)115- Color palette (background, accent, text colors)116- Animation style (how elements enter)117- Overall aesthetic feel118119Preview Styles to Consider (pick 3 based on mood):120121| Mood | Slides Options | Scrolling Options |122|------|---------------|-------------------|123| Impressed/Confident | "Corporate Elegant", "Dark Executive", "Clean Minimal" | "Swiss Modern", "Editorial Classic", "Professional Dark" |124| Excited/Energized | "Neon Cyber", "Bold Gradients", "Kinetic Motion" | "Neon Nights", "Dynamic Energy", "Future Forward" |125| Calm/Focused | "Paper & Ink", "Soft Muted", "Swiss Minimal" | "Zen Garden", "Clean Air", "Quiet Space" |126| Inspired/Moved | "Cinematic Dark", "Warm Editorial", "Atmospheric" | "Midnight Cinema", "Golden Hour", "Misty Forest" |127128**IMPORTANT: Never use these generic patterns:**129130- Purple gradients on white backgrounds131- Inter, Roboto, or system fonts132- Standard blue primary colors133- Predictable layouts134135**Instead, use distinctive choices:**136137- Unique font pairings (Clash Display, Satoshi, Cormorant Garamond, DM Sans, etc.)138- Cohesive color themes with personality139- Atmospheric backgrounds (gradients, subtle patterns, depth)140- Signature animation moments141142### Step 2.3: Present Previews143144Create the previews and present them to the user.145146Each preview should be:147148- Self-contained (inline CSS/JS)149- A single slide (Slides) or hero section (Scrolling) showing the aesthetic150- Animated to demonstrate motion style151- ~50-300 lines152153Present to user:154155```156I've created 3 style previews for you to compare:157158**Style A: [Name]** — [1 sentence description]159**Style B: [Name]** — [1 sentence description]160**Style C: [Name]** — [1 sentence description]161162Take a look and tell me:1631. Which style resonates most?1642. What do you like about it?1653. Anything you'd change?166```167168Then use AskUserQuestion:169170**Question: Pick Your Style**171172- Header: "Style"173- Question: "Which style preview do you prefer?"174- Options:175 - "Style A: [Name]" — [Brief description]176 - "Style B: [Name]" — [Brief description]177 - "Style C: [Name]" — [Brief description]178 - "Mix elements" — Combine aspects from different styles179180If "Mix elements", ask for specifics.181182## Phase 3: Generate Output183184### Output Locations185186**Style Preview Outputs (Intermediate)**187188- Generated in Phase 2 for user to select from189- Saved to `.agent-design/storytelling-web/` directory:190191```192.agent-design/storytelling-web/193├── style-a.html # First style option194├── style-b.html # Second style option195├── style-c.html # Third style option196└── assets/ # Any shared assets197```198199**Final Output**200201- **Location**: User's working directory root (where the task was initiated)202- **Filename**: Based on the content title, e.g., `xxx.html` (use kebab-case, e.g., `my-presentation.html`, `my-story.html`)203- **Requirements**:204 - Single self-contained HTML file with inline CSS/JS205 - Zero external dependencies (except Google Fonts CDN)206 - All content included based on user's provided material207208### For Slides Mode209210Read [references/slides-mode.md](references/slides-mode.md) for:211212- Complete HTML architecture213- Slide type patterns (title, content, split, image, quote, closing)214- Navigation and keyboard controls215- Animation patterns for slide transitions216217### For Scrolling Mode218219Read [references/scrolling-mode.md](references/scrolling-mode.md) for:220221- Complete HTML architecture222- Section type patterns (hero, text, image-text, full-bleed, quote)223- Scroll-triggered animations224- Progress bar implementation225226## Design Principles (Both Modes)2272281. **Typography Hierarchy** — Clear distinction between headings, body, captions2292. **Color Consistency** — Use CSS custom properties for easy theming2303. **Accessibility** — Sufficient contrast, semantic HTML, keyboard navigation2314. **Mobile Consideration** — Test responsiveness2325. **Performance** — Optimize images, efficient animations233234## Tips for Great Experiences235236### Slides Mode237238- One idea per slide239- Large, readable text240- Visual variety between slides241- Strong opening and closing242243### Scrolling Mode244245- Start with a hook246- Control pacing (some sections quick, others slow)247- Use images intentionally248- Build to key moments249- End memorably