mcpField
S
scroll-storyteller

scroll-storyteller

github.com/ingpoc设计与 UI9186 次安装12 周前更新
代码仓库

关于 scroll-storyteller

scroll-storyteller 是用于制作章节式互动叙事页面的技能,结合双色调样式、有机 SVG 插图和滚动效果。它指导内容规划,并生成采用 GSAP 或纯 CSS 动画的独立 HTML 页面。

主要功能

  1. 01章节式叙事结构
  2. 02GSAP 或纯 CSS 动画
  3. 03双色调调色板选择
  4. 04按主题生成 SVG 插图
  5. 05自定义光标与滚动效果
  6. 06支持减少动态效果偏好

适用场景

  1. 01制作互动式编辑故事
  2. 02为多章节叙事创作插图
  3. 03创建轻量级纯 CSS 页面

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/ingpoc/skills --skill scroll-storyteller

安装后在 Claude Code 中输入/scroll-storyteller确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

test-determinism.html
assets/
svg-templates.md
references/
animation-patterns.md
anthropic-design.md
css-only-patterns.md
design-harmony.md
example-david-goliath.md
gsap-patterns.md
structure-templates.md
svg-illustration-guide.md
scripts/
generate.sh
svg-generator.sh
validate.sh

详细介绍

滚动叙事创作工具

使用 Anthropic 原生设计语言,打造沉浸式互动叙事体验:严格的双色调配色、有机 Bézier SVG 路径、自定义光标和基于章节的叙事。

工作流

使用 AskUserQuestion 收集偏好,然后生成:

步骤问题选项
1动画?GSAP(丰富)或仅 CSS(轻量)
2氛围?温暖、冷峻或创意
3配色?(根据氛围展示 3-4 种方案)
4主题?圣经/技术/商业/个人/自定义
5章节数?3、4 或 5
6每章内容标题、描述、关键词

生成:

bash ~/.claude/skills/scroll-storyteller/scripts/generate.sh my-story <palette> [--gsap] [--chapters N]

生成后: 自定义内容,创建 SVG(参见 references/structure-templates.md)

SVG 插图工作流

每章都需要与叙事位置相符、且与主题相关的 SVG:

位置用途构图示例
主视觉设置场景,展现对比宽幅(1000x1000),2 个剪影远处的大卫与歌利亚
第 1 章介绍主人公中央人物 + 背景环境与羊群在一起的牧羊人
第 2 章展现冲突/障碍气势逼人,铺满画面巨人战士
第 3 章展现解决/胜利动态,向外辐射胜利者 + 倒下的对手 + 光芒
第 4 章冲突加剧(可选)拥挤,局势升级大军集结,威胁倍增
第 5 章最终高潮(可选)动作,决胜时刻石块飞出,命中瞬间
尾声象征性总结居中的符号王冠 + 光芒

按章节数设置明暗模式:

  • 3 章: 第 1 章=浅色 → 第 2 章=深色 → 第 3 章=浅色
  • 4 章: 第 1 章=浅色 → 第 2 章=深色 → 第 3 章=浅色 → 第 4 章=深色
  • 5 章: 第 1 章=浅色 → 第 2 章=深色 → 第 3 章=浅色 → 第 4 章=深色 → 第 5 章=浅色

流程:

  1. 加载 references/svg-illustration-guide.md,查看主题到元素的映射
  2. 确定章节位置(hero/ch1/ch2/ch3/ch4/ch5/finale)
  3. 从章节内容中提取主题关键词
  4. 从元素库中选择 SVG 元素:
    • 人物:figure-small、figure-large、figure-triumphant、figure-action
    • 自然:hills、sun、tree、path、clouds、lightning、wind
    • 物件:staff、crown、shield、weapon、stone、obstacle
    • 抽象:radiate、rings、trajectory、converge、impact
  5. 使用位置模板进行构图
  6. 应用配色氛围样式(参见 references/design-harmony.md → Palette Mood → SVG Style)
  7. 添加动画类:organic-path、fade-path、scale-path

SVG 检查清单:

  • 仅使用 var(--deep) 和 var(--foam) 颜色
  • 所有路径均为有机 Bézier 曲线(Q/C 命令)
  • 不使用几何图元(circle、rect、ellipse)
  • 不透明度范围符合配色氛围
  • 构图符合章节位置
  • 以符号形式呈现章节内容

动画样式

样式库大小适用场景
GSAPGSAP 3.x + ScrollTrigger~45KB丰富的交互、SVG 绘制、环绕效果、时间轴
仅 CSS无(IntersectionObserver)0KB轻量、加载快、简单的显现效果
GSAP 功能
  • SVG 路径绘制动画(strokeDasharray)
  • 连续的环绕/旋转效果
  • 与滚动联动的时间轴控制
  • 带 scrub 的视差效果
  • 具有精确时间控制的交错动画
仅 CSS 的功能
  • IntersectionObserver 显现效果
  • 带延迟的 CSS 过渡
  • 基于变换的动画
  • 无外部依赖
  • 更小的打包体积

双调色板

#主题浅色深色氛围
1Anthropic#FAF9F5 奶油色#141413 炭灰色暖
2Midnight#E8F4F8 冰蓝色#0D1B2A 海军蓝冷
3Sepia#F5F0E6 羊皮纸色#2C1810 浓缩咖啡色暖
4Forest#F0F4F0 薄雾色#1A2E1A 常青色创意
5Dusk#F4F0F8 薰衣草色#1E1A2E 紫罗兰色创意
6Ember#FFF5F0 红晕色#2A1A14 烬火色暖
7Steel#F0F2F5 银色#1A1C20 石墨色冷
8Ocean#F0F8F8 泡沫色#0A1A1A 深海色冷

氛围 → 调色板映射:

  • 暖:1(Anthropic)、3(Sepia)、6(Ember)
  • 冷:2(Midnight)、7(Steel)、8(Ocean)
  • 创意:4(Forest)、5(Dusk)

设计模式

模式描述适用场景
Authentic(默认)严格双调,采用有机路径编辑设计、品牌叙事
Expressive允许使用多色点缀产品展示、演示

核心功能

功能描述
自定义光标带平滑缓动效果的双层光标,采用 mix-blend-mode
主视觉区GSAP:流动的有机线条(1000x1000 背景)。纯 CSS:带动态光锥显现效果的台灯
聚光层深色区块上的径向渐变会跟随光标
错落显现标题中的单词在页面加载时依次出现
章节结构浅色/深色区块交替,并带有过渡效果
有机 SVG手绘贝塞尔路径,仅填充(无描边)
视差效果滚动时产生微妙的纵深移动

Anthropic 设计语言

严格双调色板
元素HexCSS 变量
奶油色(浅色)#FAF9F5--cream
炭灰色(深色)#141413--charcoal

**规则:**不使用其他颜色。所有插图都只使用这两种颜色。

排版
角色字体后备字体
展示/标题Instrument SerifGeorgia, serif
正文/界面Inter-apple-system, sans-serif

特点:

  • 大号编辑风格标题(clamp 3rem - 7rem)
  • 较细字重(300-400)
  • 展示文字采用负字间距(-0.02em)
  • 宽松的行高(1.5-1.8)
SVG 设计规则
规则描述
仅使用填充主体形状绝不使用描边
有机路径复杂的贝塞尔曲线,呈现手绘质感
viewBox始终使用 1000x1000 或 500x500(正方形)
2-4 条路径保持构图简洁
分层浅色形状置于后方,深色形状置于前方

反面模式:

❌ <circle>, <rect>, <ellipse> (geometric)
❌ stroke="..." on main elements
❌ Multiple colors
✅ <path d="M... Q... C..."> with organic curves
由主题驱动的 SVG 生成

svg-generator.sh 辅助脚本会根据章节内容自动选择合适的 SVG 模板:

关键词模板最适合
identity, profile, self, unique指纹 + 验证个人身份概念
network, connect, distributed, system中心枢纽 + 网络系统架构概念
protect, secure, vault, lock受保护的保险库 + 链接安全概念
growth, learn, knowledge, tree知识之树学习/成长概念
enforce, filter, gate, barrier门户拱门强制执行/验证
trust, hand, collaboration手持 + 连接合作伙伴关系概念
unify, finale, complete同心符号总结/统一

用法:

# 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"

位置: hero | ch1 | ch2 | ch3 | ch4 | ch5 | finale

动画模式

有关 GSAP 和 CSS 动画模式的详细信息,请参阅 references/animation-patterns.md

动画类:

类描述用法
organic-path所有 SVG 路径的基类始终应用
fade-path淡入动画大多数路径的默认样式
scale-path放大动画与 fade-path 结合使用
draw-path描边绘制动画(仅限 GSAP)用于线条/路径绘制效果

叙事结构

有关叙事结构和 HTML 模板,请参阅 references/structure-templates.md

资源

文件用途加载时机
scripts/generate.sh创建 HTML(仅 CSS 或使用 --gsap 的 GSAP 版本)开始新项目时
scripts/svg-generator.sh根据主题生成 SVG 的辅助工具创建自定义插图时
references/animation-patterns.mdGSAP + CSS 动画模式实现动画时
references/structure-templates.md叙事结构 + HTML 模板构建章节时
references/svg-illustration-guide.md主题 → SVG 元素映射、模板创建与主题相关的插图时
references/example-david-goliath.md包含全部 5 个 SVG 的完整示例学习 SVG 组合模式时
references/anthropic-design.md完整设计系统参考深度自定义时
references/gsap-patterns.mdGSAP + ScrollTrigger 配方使用 GSAP 动画风格时
references/css-only-patterns.mdIntersectionObserver 配方使用纯 CSS 动画风格时
references/design-harmony.md视觉统一性 + 调色板情绪 SVG 样式确保设计质量一致时
示例文件
文件动画描述
agent-harness-gsap.htmlGSAP完整体验,包含轨道 SVG、绘制动画和视差效果
agent-harness-anthropic.html仅 CSS轻量版,使用 IntersectionObserver 显示内容

使用工作流

  1. 选择动画风格:GSAP(丰富)或仅 CSS(轻量)
  2. 选择调色板:选择情绪 → 挑选具体调色板
  3. 选择章节数量:选择 3、4 或 5 个章节
  4. 规划叙事:主视觉 + 选定章节 + 结尾
  5. 生成:bash scripts/generate.sh project-name <palette> [--gsap]
  6. 自定义内容:替换占位文本
  7. 添加插图:使用 assets/ 中的有机路径模板
  8. 测试:验证动画、光标和滚动行为
  9. 交付:单个自包含 HTML 文件

无障碍访问

  • 支持 prefers-reduced-motion(禁用动画)
  • 检测触摸设备(隐藏自定义光标)
  • 语义化 HTML 结构
  • 高对比度双色调

Token 效率

  • 脚本执行时无需加载上下文(0 个 token)
  • SVG 模板可直接复制粘贴
  • 单个 HTML 输出,无需构建步骤
  • 使用 CSS 自定义属性,便于更换主题

评论

支持 Markdown