Create immersive, interactive storytelling experiences using Anthropic's authentic design language: strict duotone palette, organic Bézier SVG paths, custom cursors, and chapter-based narratives.
Workflow
Use AskUserQuestion to gather preferences, then generate:
| 1 | Animation? | GSAP (rich) vs CSS-only (lightweight)
| 2 | Mood? | Warm vs Cool vs Creative
| 3 | Palette? | (show 3-4 based on mood)
| 4 | Topic? | Biblical/Tech/Business/Personal/Custom
| 5 | Chapters? | 3, 4, or 5
| 6 | Content per chapter | Title, description, keywords
Generate:
bash ~/.claude/skills/scroll-storyteller/scripts/generate.sh my-story <palette> [--gsap] [--chapters N]
Post-generation: Customize content, create SVGs (see references/structure-templates.md)
SVG Illustration Workflow
Each chapter needs a topic-relevant SVG that matches the narrative position:
| Hero | Set scene, show contrast | Wide (1000x1000), 2 silhouettes | David vs Goliath distant
| Chapter 1 | Introduce protagonist | Centered figure + context | Shepherd with sheep
| Chapter 2 | Show conflict/obstacle | Imposing, fills frame | Giant warrior
| Chapter 3 | Resolution/triumph | Dynamic, radiating | Victor + fallen + rays
| Chapter 4 | Deepening conflict (optional) | Crowded, escalating | Army masses, threats multiply
| Chapter 5 | Final climax (optional) | Action, decisive | Stone flying, impact moment
| Finale | Symbolic summary | Centered symbol | Crown + light
Light/Dark Pattern by Chapter Count:
-
3 chapters: Ch1=Light → Ch2=Dark → Ch3=Light
-
4 chapters: Ch1=Light → Ch2=Dark → Ch3=Light → Ch4=Dark
-
5 chapters: Ch1=Light → Ch2=Dark → Ch3=Light → Ch4=Dark → Ch5=Light
Process:
-
Load
references/svg-illustration-guide.mdfor theme → element mapping -
Identify chapter position (hero/ch1/ch2/ch3/ch4/ch5/finale)
-
Extract topic keywords from chapter content
-
Select SVG elements from element library:
Characters: figure-small, figure-large, figure-triumphant, figure-action
-
Nature: hills, sun, tree, path, clouds, lightning, wind
-
Objects: staff, crown, shield, weapon, stone, obstacle
-
Abstract: radiate, rings, trajectory, converge, impact
-
Compose using position template
-
Apply palette mood style (see
references/design-harmony.md→ Palette Mood → SVG Style) -
Add animation classes:
organic-path,fade-path,scale-path
SVG Checklist:
Uses only var(--deep) and var(--foam) colors
All paths are organic Bézier curves (Q/C commands)
No geometric primitives (circle, rect, ellipse)
Opacity range matches palette mood
Composition matches chapter position
Symbolically represents chapter content
Animation Styles
| GSAP | GSAP 3.x + ScrollTrigger | ~45KB | Rich interactions, SVG draw, orbits, timelines
| CSS-only | None (IntersectionObserver) | 0KB | Lightweight, fast load, simple reveals
GSAP Features
-
SVG path draw animations (strokeDasharray)
-
Continuous orbit/rotation effects
-
Scroll-linked timeline control
-
Parallax with scrub
-
Staggered animations with precise timing
CSS-only Features
-
IntersectionObserver reveals
-
CSS transitions with delays
-
Transform-based animations
-
No external dependencies
-
Smaller bundle size
Duotone Palettes
| 1
| Anthropic
| #FAF9F5 cream
| #141413 charcoal
| Warm
| 2
| Midnight
| #E8F4F8 ice
| #0D1B2A navy
| Cool
| 3
| Sepia
| #F5F0E6 parchment
| #2C1810 espresso
| Warm
| 4
| Forest
| #F0F4F0 mist
| #1A2E1A evergreen
| Creative
| 5
| Dusk
| #F4F0F8 lavender
| #1E1A2E violet
| Creative
| 6
| Ember
| #FFF5F0 blush
| #2A1A14 ember
| Warm
| 7
| Steel
| #F0F2F5 silver
| #1A1C20 graphite
| Cool
| 8
| Ocean
| #F0F8F8 foam
| #0A1A1A deep
| Cool
Mood → Palette mapping:
-
Warm: 1 (Anthropic), 3 (Sepia), 6 (Ember)
-
Cool: 2 (Midnight), 7 (Steel), 8 (Ocean)
-
Creative: 4 (Forest), 5 (Dusk)
Design Modes
| Authentic (default) | Strict duotone, organic paths | Editorial, brand storytelling
| Expressive | Multi-color accents allowed | Product showcases, demos
Core Features
| Custom Cursor | Dual-layer cursor with smooth easing, mix-blend-mode
| Hero Section | GSAP: Flowing organic lines (1000x1000 background). CSS-only: Desk lamp with animated light cone reveal
| Spotlight Layer | Radial gradient follows cursor on dark sections
| Staggered Reveals | Title words animate in sequence on load
| Chapter Structure | Alternating light/dark sections with transitions
| Organic SVGs | Hand-drawn Bézier paths, fill-only (no strokes)
| Parallax | Subtle depth movement on scroll
Anthropic Design Language
Strict Duotone Palette
| Cream (light)
| #FAF9F5
| --cream
| Charcoal (dark)
| #141413
| --charcoal
Rule: No other colors. All illustrations use exactly these two.
Typography
| Display/Headings | Instrument Serif | Georgia, serif
| Body/UI | Inter | -apple-system, sans-serif
Characteristics:
-
Large, editorial headings (clamp 3rem - 7rem)
-
Light weight (300-400)
-
Negative letter-spacing on display (-0.02em)
-
Generous line-height (1.5-1.8)
SVG Design Rules
| Fills only | Never use strokes for main shapes
| Organic paths | Complex Bézier curves, hand-drawn feel
| viewBox | Always 1000x1000 or 500x500 (square)
| 2-4 paths | Keep compositions simple
| Layered | Light shapes behind, dark in front
Anti-patterns:
❌ <circle>, <rect>, <ellipse> (geometric)
❌ stroke="..." on main elements
❌ Multiple colors
✅ <path d="M... Q... C..."> with organic curves
Topic-Driven SVG Generation
The svg-generator.sh helper automatically selects appropriate SVG templates based on chapter content:
| identity, profile, self, unique | Fingerprint + Verification | Personal identity concepts
| network, connect, distributed, system | Central Hub + Network | System architecture concepts
| protect, secure, vault, lock | Protected Vault + Links | Security concepts
| growth, learn, knowledge, tree | Knowledge Tree | Learning/growth concepts
| enforce, filter, gate, barrier | Gateway Arches | Enforcement/validation
| trust, hand, collaboration | Hand Holding + Connection | Partnership concepts
| unify, finale, complete | Concentric Symbol | Conclusion/unity
Usage:
# Source the generator in your script
source scripts/svg-generator.sh
# Generate SVG for a chapter (position: hero/ch1/ch2/ch3/ch4/ch5/finale)
generate_svg_for_chapter \
"ch1" \
"Digital Identity" \
"Your unique identity on the blockchain" \
"var(--foam)" \
"var(--deep)" \
"fade-path"
Positions: hero | ch1 | ch2 | ch3 | ch4 | ch5 | finale
Animation Patterns
For detailed GSAP and CSS animation patterns, see references/animation-patterns.md
Animation Classes:
| organic-path
| Base class for all SVG paths
| Always applied
| fade-path
| Fade in animation
| Default for most paths
| scale-path
| Scale up animation
| Combined with fade-path
| draw-path
| Stroke draw animation (GSAP only)
| For line/path drawing effects
Narrative Structure
For narrative structure and HTML templates, see references/structure-templates.md
Resources
| scripts/generate.sh
| Creates HTML (CSS-only or GSAP with --gsap)
| Starting new project
| scripts/svg-generator.sh
| Topic-driven SVG generation helper
| Creating custom illustrations
| references/animation-patterns.md
| GSAP + CSS animation patterns
| Implementing animations
| references/structure-templates.md
| Narrative structure + HTML templates
| Building sections
| references/svg-illustration-guide.md
| Theme → SVG element mapping, templates
| Creating topic-relevant illustrations
| references/example-david-goliath.md
| Complete worked example with all 5 SVGs
| Learning SVG composition patterns
| references/anthropic-design.md
| Full design system reference
| Deep customization
| references/gsap-patterns.md
| GSAP + ScrollTrigger recipes
| Using GSAP animation style
| references/css-only-patterns.md
| IntersectionObserver recipes
| Using CSS-only animation style
| references/design-harmony.md
| Visual cohesion + palette-mood SVG styling
| Ensuring consistent design quality
Example Files
| agent-harness-gsap.html
| GSAP
| Full experience with orbit SVGs, draw animations, parallax
| agent-harness-anthropic.html
| CSS-only
| Lightweight with IntersectionObserver reveals
Usage Workflow
-
Choose Animation Style: GSAP (rich) or CSS-only (lightweight)
-
Choose Palette: Select mood → pick specific palette
-
Select Chapter Count: Choose 3, 4, or 5 chapters
-
Plan Narrative: Hero + selected chapters + finale
-
Generate:
bash scripts/generate.sh project-name <palette> [--gsap] -
Customize Content: Replace placeholder text
-
Add Illustrations: Use organic path templates from assets/
-
Test: Verify animations, cursor, scroll behavior
-
Ship: Single self-contained HTML file
Accessibility
-
prefers-reduced-motionsupport (disables animations) -
Touch device detection (hides custom cursor)
-
Semantic HTML structure
-
High contrast duotone
Token Efficiency
-
Scripts execute without loading context (0 tokens)
-
SVG templates are copy-paste patterns
-
Single HTML output, no build step
-
CSS custom properties for easy theming