Storytelling Web logo

Storytelling Web

Community
wang1212
storytelling-web

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.

Overview

Publisherwang1212
Repositorystorytelling-web
Skill namestorytelling-web
Stars
7
Forks
0
Bundled files
3
LicenseMIT
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • 3 bundled files

    Scripts, templates, and references the model can read while it works. Files are read-only and never executed.

  • Open source

    Published by wang1212 on GitHub. Read the source before you install it.

Installation

Install the Storytelling Web AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
    https://github.com/wang1212/storytelling-web/tree/main/skills/storytelling-web
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/wang1212/storytelling-web.git /tmp/storytelling-web
mkdir -p .claude/skills
cp -r /tmp/storytelling-web/skills/storytelling-web .claude/skills/storytelling-web
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Storytelling Web in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Storytelling Web on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Storytelling Web is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

Storytelling Web

Create stunning, animation-rich exploratory visual web pages from text content — choose between slide-based presentations or scroll-driven narratives.

Core Philosophy

  1. Zero Dependencies — Single HTML files with inline CSS/JS. No npm, no build tools.
  2. Show, Don't Tell — Generate visual previews, not abstract choices. People don't know what they want until they see it.
  3. Distinctive Design — Avoid generic "AI slop" aesthetics. Every experience should feel custom-crafted.
  4. 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:

  • Slides mode works well if: [explain why slides might fit based on their purpose/length]

    • Structured, sequential presentation
    • Speaker-led experience with navigation control
    • Content that benefits from clear boundaries between sections
  • Scrolling mode works well if: [explain why scrolling might fit based on their purpose/length]

    • Exploratory, narrative-driven experience
    • Reader-controlled pacing
    • Content that flows naturally as a continuous story

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):

MoodSlides OptionsScrolling 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)

  1. Typography Hierarchy — Clear distinction between headings, body, captions
  2. Color Consistency — Use CSS custom properties for easy theming
  3. Accessibility — Sufficient contrast, semantic HTML, keyboard navigation
  4. Mobile Consideration — Test responsiveness
  5. 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

Bundled files

The model reads these on demand while the skill is loaded. They are exposed as readable files and are never executed.

Frequently asked questions

What does the Storytelling Web AI skill do?

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.

Why use Storytelling Web on TypingMind?

Because you install it once and use it with any model. Storytelling Web is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Storytelling Web in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/wang1212/storytelling-web/tree/main/skills/storytelling-web. TypingMind reads its SKILL.md and bundles its files and installs it as a skill you can enable per chat.

Which AI models can use Storytelling Web?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Storytelling Web?

As many as you like. As long as a model supports skills, you can use Storytelling Web with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Storytelling Web AI skill free?

Yes. It is published on GitHub by wang1212 under the MIT license. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇