Scroll World Storytelling
Meng ToCommunityCreated by Meng To
- Skill
- Content generator
- Design and creative
- MIT
- Low risk
- Has scripts
AutoGineer summary
Written by AutoGineer from the skill’s own files, not by the author
Scroll World Storytelling provides a structured framework for converting long-form content into interactive, scroll-triggered visual journeys. It guides the user through defining a narrative arc, establishing a style bible, and selecting one of three rendering modes: video-scrubbed footage, real-time Three.js environments, or semantic HTML/SVG layouts. The skill emphasizes maintaining narrative integrity, ensuring responsive accessibility, and providing a consistent user experience across different devices.
What it does
- Converts source articles or brand narratives into 5-7 beat scrollable story maps.
- Supports video-scrubbed landing pages for cinematic, pre-rendered visual sequences.
- Enables real-time 3D experiences using Three.js for spatial and object-based storytelling.
- Provides an HTML/SVG mode for data-driven, accessible, and lightweight editorial content.
- Includes a structured verification process to ensure narrative flow and technical stability.
- Defines a style bible to maintain consistent art direction, palette, and motion grammar.
When to use it
- When you need to turn a case study or product journey into a connected visual experience.
- When you want to replace stacked sections with a unified, scroll-driven narrative.
- When you need to present data or reports in an interactive, scrollytelling format.
- When you require a fly-through or animated landing page to explain a complex system.
Advantages
- Offers three distinct rendering modes tailored to different content types.
- Ensures narrative focus by separating content beats from technical implementation.
- Prioritizes accessibility and responsive design through semantic structure and reduced-motion fallbacks.
- Provides a clear, repeatable workflow from source material to final delivery.
Usage examples
- “Transform this product case study into a Three.js scroll world.”
- The agent will guide you through creating a beat ledger, defining a 3D world metaphor, and implementing a Three.js scene mapped to scroll progress.
- “Create a video-scrubbed landing page for our new brand narrative.”
- The agent will help you generate continuous camera-move footage and configure the ffmpeg encoding and scroll-mapping logic for the video.
Install
1 of its files are not mirrored here, so install it from its source:
https://github.com/MengTo/Skills/tree/5ea1661a0e05d82b054553daaa6baf6d0233c33c/agent-skills/web-design/scroll-world-storytelling
Documentation by Meng To
Scroll World Storytelling
Turn source material into one connected journey. Scroll advances a visual world and the copy reveals the story in deliberate beats.
The skill has exactly three production modes. Choose one primary mode before building:
Video scrub — generated or filmed footage, mapped to scroll.
Three.js world — a real-time 3D object, place, planet, or system.
HTML / data / type — semantic DOM, SVG charts, metrics, and kinetic typography.
Do not mix modes by default. A focused renderer produces a clearer concept, smaller test surface, and more reliable fallback.
Start with the contract
Write these blocks before implementation.
Goal
Turn the supplied story into a one-page journey with 5–7 memorable beats and one final action. A first-time visitor should understand the thesis, tension, mechanism, proof, and payoff without reading the source.
House rules
Preserve the source thesis, sequence, facts, and caveats. Never invent proof.
Use one connected world, one dominant motion grammar, and one art direction.
Let motion carry transitions; let copy explain meaning.
Keep one primary CTA. Keep navigation and utility controls quiet.
Keep native, reversible document scrolling. Never hijack the wheel.
Never spend generation credits, publish, deploy, or replace production files without approval.
Keep builder and verifier separate when agents are available.
Bar
A visitor can explain the arc after one pass.
Scrolling works forward, backward, slowly, and with a fast flick.
No visible jump, flash, or unintended reversal at a seam.
The page remains legible on mobile and with reduced motion.
Every completion claim includes browser, console, responsive, and asset evidence.
Read the whole source
Read the complete article or narrative.
Inspect the target repo, framework, asset pipeline, and current page.
Separate source facts from presentation ideas.
Collect supplied brand assets and 2–3 references when available.
Identify the one action the story should earn.
If a local daily-inspiration archive exists, inspect the latest one or two capture articles, their stills, and representative local motion files before choosing the art direction. Extract principles such as palette, hierarchy, material, composition, and motion; do not copy layouts literally or upload local reference files to an external generator without explicit approval.
When reuse rights are unclear, paraphrase the source and keep quotations short. Never fabricate testimonials, metrics, or customer claims.
Build the story map
Reduce the source to 5–7 beats:
Hook — the promise or surprising thesis.
Old way — the friction or belief being rejected.
New rule — the idea that changes the route.
Mechanism — how the system works.
Proof — the strongest evidence.
Payoff — the transformed end state.
Action — one next step.
Create a beat ledger before code:
| Field | Constraint |
|---|---|
| id | short stable slug |
| scene | what exists in the visual world |
| eyebrow | 2–4 words |
| headline | 3–8 words |
| body | one sentence, ideally under 24 words |
| evidence | exact source fact or asset |
| motion | one clear verb phrase |
| scroll weight | 0.7–1.8 viewport heights |
| CTA | final beat only unless required earlier |
Combine repeated arguments. Do not turn every paragraph into a scene.
Write the style bible
Define:
Mood: three precise adjectives.
World metaphor: one place or system that can hold every beat.
Palette: 4–6 named colors with one dominant field and one accent.
Typography: one display voice and one reading voice.
Material language: one system such as paper, glass, clay, photographic, or mechanical.
Motion grammar: forward glide, orbit, crane, lateral track, dive, or staged reveal.
Pacing: where the story pauses and where it moves quickly.
Exclusions: three visual clichés to avoid.
For generated media, reuse the style preamble byte-for-byte in every asset prompt.
Choose one mode
| Choose | Best for | Strength | Main cost |
|---|---|---|---|
| Video scrub | cinematic realism, places, products, pre-rendered camera moves | exact art direction and photographic finish | heavier assets and seek tuning |
| Three.js world | planets, objects, maps, systems, spatial interaction | real-time depth and responsive camera control | WebGL performance and fallback work |
| HTML / data / type | reports, launches, metrics, editorial stories | accessible, crisp, lightweight, content-first | less photographic spectacle |
If the story is primarily proof and numbers, prefer HTML/data. If the central metaphor is spatial and interactive, prefer Three.js. If cinematic imagery is the idea, prefer video.
Mode 1 — Video scrub
Use demo/video/index.html and demo/video/PROMPT.md.
Generate the source clip
Choose one continuous 6–15 second camera move. Avoid cuts.
Write three materially different style studies before generating: change the dominant field, material language, lighting, and composition—not just the accent color.
Keep important subjects near center with usable headline space.
Generate a short calibration clip before the final render when paid tools are used.
For multi-leg journeys, start each leg from the previous leg's actual rendered last frame.
Keep raw masters and record provider, model, prompt, seed, duration, aspect ratio, and rights.
When the user requests Grok Imagine, use its current video interface or API, choose Video, set the requested aspect ratio, duration, and resolution, and generate the approved style studies. Prefer 16:9, 6–10 seconds, and 720p for a first landing-page pass unless the brief requires otherwise. Never substitute a procedural placeholder and call it generated footage.
Preferred prompt shape:
Single continuous [camera move], no cuts. Travel through [world metaphor] from [opening] to [payoff]. [Exact scene sequence]. [Byte-identical style preamble]. Center-safe composition, quiet negative space for editorial copy, no text, no logos, no captions.
Do not promise seamless connectors unless the model accepts the required start frame, or both endpoints for a connector.
Encode for scrubbing
ffmpeg -i source.mp4 -an \
-c:v libx264 -preset slow -crf 20 -pix_fmt yuv420p \
-g 8 -keyint_min 8 -sc_threshold 0 \
-movflags +faststart output.mp4Use one codec and encode profile across every clip.
Strip audio unless the experience explicitly includes it.
Keep small GOPs for responsive seeking.
Use byte-range hosting or fetch to a Blob URL before scrubbing.
Keep the first frame as a poster until video paints.
Map one normalized scroll value to
currentTime; coalesce seeks inrequestAnimationFrame.Reduced motion uses the poster or ordered stills with ordinary document flow.
Mode 2 — Three.js world
Use demo/threejs/index.html and demo/threejs/PROMPT.md.
Produce three art-direction studies before committing. Each must change the field color, object material, light behavior, typography relationship, and composition—not just shader colors.
Reject the generic default of a glowing blue planet in dark space unless the source specifically earns it.
Create one scene, perspective camera, renderer, and world group.
Make the hero object carry the metaphor: sculpture, machine, archive, constellation, city, product, or a non-literal planetary system.
Map scroll progress to camera position, camera target, object rotation, lights, and scene states.
Keep ambient motion subtle; scroll must remain the primary conductor.
Cap device pixel ratio at 2 and update renderer and camera on resize.
Pause continuous rendering when the page is hidden or off-screen.
Dispose geometries, materials, textures, and listeners during teardown.
Provide a static CSS/SVG poster when WebGL fails or reduced motion is requested.
Use local, pinned Three.js files in portable demos. Do not depend on a remote CDN for the core renderer.
Mode 3 — HTML / data / type
Use demo/html-data/index.html and demo/html-data/PROMPT.md.
Start with semantic headings, paragraphs, lists, tables, and real links.
Turn the strongest evidence into one chart grammar: bars, line, range, slope, or comparison.
Use inline SVG only when a DOM chart needs paths or axes; keep labels as selectable text.
Drive CSS custom properties from one normalized scroll value.
Animate transforms, opacity, clip paths, counters, and SVG stroke offsets.
Keep chart scales truthful and expose values in accessible text or a table.
Let the page remain complete and readable when JavaScript is disabled.
Reduced motion removes interpolation while preserving state changes and order.
This mode should not secretly become Canvas or WebGL. Its advantage is native layout, accessibility, and sharp responsive typography.
Shared page contract
Keep content separate from renderer code:
const story = {
title: "The journey",
cta: { label: "Begin", href: "#begin" },
sections: [
{
id: "hook",
eyebrow: "01 / Premise",
title: "A destination, not a route.",
body: "Define arrival clearly and let the system find the path.",
evidence: null,
scroll: 1.4
}
]
};Every runtime needs:
A pinned or sticky visual stage.
One scroll conductor and config-driven chapters.
Native reversible scrolling and keyboard focus.
Local easing without changing scene endpoints.
Work that stops when settled, unless ambient motion is visibly required.
Lazy loading for heavy current and next assets.
Semantic headings, one real CTA, and visible focus.
A reduced-motion version with ordinary document flow.
Verify with a fresh pass
Check:
Story — every beat advances the thesis.
Timing — the right state is active at each scroll position.
Reverse — backward scroll restores the exact prior state.
Performance — no unnecessary work after settling; no decoder or WebGL backlog.
Responsive — verify 390, 768, 1024, and 1440 pixel widths.
Mobile — fast flick, orientation change, safe areas, and readable copy.
Accessibility — semantic order, visible focus, contrast, and reduced motion.
Integrity — every fact matches the source and the CTA works.
Console — no errors or failed local assets.
Mode proof — confirm the result actually uses the selected renderer.
Repeat: build, verify, close the largest gap. Stop when no material gap remains against the bar.
Deliverables
Return:
Story map and final beat ledger.
Style bible.
Chosen mode and why it fits.
Working page and reusable story configuration.
Exact asset-generation and page prompts.
Local assets with source, model, and rights notes where applicable.
Desktop and mobile behavior.
Verification evidence and known limitations.
Start at demo/index.html for the three-mode launcher. Keep REFERENCES.md as the external reading list.
Files
- ATTRIBUTION.mdAdded by AutoGineer872 B
- LICENSELicence file added by AutoGineer1.0 KiB
- REFERENCES.md610 B
- SKILL.md11.6 KiB
- agents/openai.yaml321 B
- demo/PROMPT.md1.7 KiB
- demo/html-data/PROMPT.md2.2 KiB
- demo/html-data/index.html13.9 KiB
- demo/index.html11.2 KiB
- demo/preview.jpg50.8 KiB
- demo/threejs/PROMPT.md3.6 KiB
- demo/threejs/assets/THREE-LICENSE.txt1.1 KiB
- demo/threejs/assets/three.core.min.jsScript372.0 KiB
- demo/threejs/assets/three.module.min.jsScript346.8 KiB
- demo/threejs/index.html25.1 KiB
- demo/video/PROMPT.md3.8 KiB
- demo/video/assets/README.md666 B
- demo/video/assets/contract-flight-source.svg5.5 KiB
- demo/video/assets/contract-flight.mp4(opens on GitHub)Not mirrored: opens on GitHub3.7 MiB
- demo/video/assets/contract-flight.webp48.9 KiB
- demo/video/index.html10.6 KiB
demo/threejs/PROMPT.md
Three.js Style-Study Demo Prompt
Build the landing page
Use $scroll-world-storytelling in Three.js world mode to create a responsive standalone landing page titled The Contract: One Coherent Object.
Story
Use six chapters: Destination, Fence, Bar, Loop, Route, and Proof. The central metaphor is a kinetic bead-and-ring sculpture. As the contract becomes clearer, scattered paths resolve into one legible object. Finish with one CTA.
Inspiration audit
Before designing, inspect the newest one or two daily UI inspiration captures in the local Content project when available. Review the article, full-page stills, and representative local MP4 frames. Extract visual principles, not markup or exact layouts.
For this demo, abstract three directions from the July 17 references:
Signal red — REFORM and Swiss editorial cues: vermilion field, black structural object, hard graphic contrast, giant compressed type.
Monochrome editorial — Tomorrow cues: warm white report field, severe black geometry, fine rules, photography-like shadows, numeric precision.
Soft pearl — Portal cues: warm ivory space, pearl ceramic beads, charcoal wire structure, diffuse daylight, one coral signal.
Build all three as switchable, labeled art directions around the same scene and story. They must change background, object material, light, contrast, and page palette—not merely accent colors. Default to Soft pearl.
Three.js requirements
Use a local pinned Three.js module, not a CDN.
Create one real-time scene with a perspective camera and WebGL renderer.
Build a non-literal spatial object from an instanced bead shell, faceted core, orbital rings, a structural knot, and six evidence nodes.
Map normalized scroll progress to camera orbit, camera distance, object rotation, shell alignment, ring scale, and active chapter.
Keep ambient object rotation slow; scroll must remain the primary conductor.
Cap device pixel ratio at 2, resize correctly, pause rendering when the document is hidden, and dispose resources on teardown.
Preserve native reversible scrolling. Do not add orbit controls or wheel hijacking.
Provide a CSS/SVG sculptural fallback when WebGL is unavailable and a static ordered version for reduced motion.
Layout
Reserve the left side for oversized editorial chapter type and the right side for the sculpture.
Keep the art-direction switch compact and persistent without covering story copy.
On mobile, move the sculpture above the copy and turn the three styles into a bottom segmented control.
Avoid dashboard cards, glass panels, purple gradients, star fields, glowing planet clichés, and ornamental UI chrome.
Verification bar
The page proves that a Three.js canvas is rendering.
Each art-direction control changes the field, material, lighting, and interface palette.
All six chapters change the camera and world state at the expected scroll points.
Reverse scrolling restores prior camera states.
No console errors, missing module, WebGL overflow, or hidden text collision.
Verify desktop and 390px mobile, device-pixel-ratio cap, resize, hidden-tab pause, keyboard focus, and reduced motion.
Remix prompt
Use $scroll-world-storytelling in Three.js mode for my supplied story. Read the complete source, audit the newest local daily inspirations, and return a beat ledger plus three materially different art-direction studies before coding. Then build one procedural real-time world whose camera and object states are deterministically controlled by native scroll. Use local pinned dependencies, a static fallback, responsive composition, reduced motion, and a real Codex-browser verification pass.
Requirements and compatibility
Works with: Claude Code, Claude apps, OpenAI Codex, GitHub Copilot, Cursor, Gemini CLI, Kiro, OpenCode, Goose, Amp, Roo Code, JetBrains Junie, Factory Droid, Devin (ex-Windsurf), Mistral Vibe, OpenHands, Letta
“Works with” means the tool reads the open Agent Skills format; a skill written for one tool may use features others lack.
Needs: Needs Node.js
Security
What our scanner noticed· Low risk
- Scripts that your agent may run
This skill includes scripts that your agent may run. Read them before you use it.
A static scan is not a guarantee. Skills are third-party content: review a skill before you let an agent use it.
Attribution and licence
- Created by
- Meng To
- Publisher
- Meng To (Community)
- Source
- MengTo/Skills · agent-skills/web-design/scroll-world-storytelling · commit 5ea1661
- Licence
- MIT License (redistribution allowed)
- LICENSE (added by AutoGineer from LICENSE)
- ATTRIBUTION.md (written by AutoGineer)
- Synced
AutoGineer is not affiliated with or endorsed by Meng To.
Get it from the source
1 of this skill’s files are not mirrored here, so there is no ZIP. Get the complete skill from its source: MengTo/Skills