ui-ux-pro-max-skill 幻灯片策略知识库:15 种 Deck 结构、情绪弧线与 Sparkline 检索系统
本文以 slides 技能中的 Slide Strategies 参考文档为主体,系统讲解 15 种经验证的演示文稿(Deck)结构、情绪弧线(Emotion Arc)与 Duarte Sparkline 叙事模式,并结合 design-system 技能中的结构化数据文件(slide-strategies.csv)与 BM25 检索脚本 search-slides.py,说明这些策略是如何被组织、检索、并结合版式/色彩逻辑在生成 HTML 幻灯片时被实际落地的。读完本文,你将掌握:如何在不同演讲场景下选择合适的 Deck 结构,如何查询每种策略的情绪弧线与 Sparkline 节拍,以及如何用上下文感知检索(pattern break / full-bleed 判定)驱动单页设计决策。
Slide Strategies 在技能体系中的位置
slides 技能(SKILL.md)的定位是"Strategic HTML presentation design with data visualization",即基于 Chart.js、设计令牌(design tokens)与响应式版式创建战略性 HTML 演示文稿。其路由规则为:从 $ARGUMENTS 第一个词解析子命令(目前为 create),加载对应的 references/{subcommand}.md 后执行。
在知识库里,Slide Strategies 是"策略层"参考,与其他三个参考并列:
| 主题 | 文件 |
|---|---|
| 版式模式(25 种布局 + CSS 结构) | layout-patterns.md |
| HTML 模板 | html-template.md |
| 文案公式(PAS、AIDA 等) | copywriting-formulas.md |
| 幻灯片策略(本文主题) | slide-strategies.md |
策略层回答的是"整套 Deck 讲什么故事、多少页、面向谁",而版式层回答"单页怎么排",文案层回答"标题怎么写"。三者共同构成 design-system 技能描述的上下文决策流(Contextual Decision Flow):先解析目标与上下文,检索 slide-strategies.csv 得到策略与情绪节拍,再对每一页依次查询版式逻辑、字体比例、色彩处理与背景图,最终生成 HTML 并用 token 校验器验证(见 SKILL.md 中 "Contextual Decision Flow" 一节)。
15 种 Deck 策略速查表
原文档核心是一张 15 行策略选择表,按"策略 / 页数 / 目标 / 受众"四列组织,是选型时的第一张参考表,完整继承如下:
| Strategy | Slides | Goal | Audience |
|---|---|---|---|
| YC Seed Deck | 10-12 | Raise seed funding | VCs |
| Guy Kawasaki | 10 | Pitch in 20 min | Investors |
| Series A | 12-15 | Raise Series A | Growth VCs |
| Product Demo | 5-8 | Demonstrate value | Prospects |
| Sales Pitch | 7-10 | Close deal | Qualified leads |
| Nancy Duarte Sparkline | Varies | Transform perspective | Any |
| Problem-Solution-Benefit | 3-5 | Quick persuasion | Time-pressed |
| QBR | 10-15 | Update stakeholders | Leadership |
| Team All-Hands | 8-12 | Align team | Employees |
| Conference Talk | 15-25 | Thought leadership | Attendees |
| Workshop | 20-40 | Teach skills | Learners |
| Case Study | 8-12 | Prove value | Prospects |
| Competitive Analysis | 6-10 | Strategic decisions | Internal |
| Board Meeting | 15-20 | Update board | Directors |
| Webinar | 20-30 | Generate leads | Registrants |
这 15 种策略并非只存在于 Markdown 文档中。仓库在 slide-strategies.csv 中为其建立了结构化数据源,每行一条策略,字段包括:id、strategy_name、keywords(检索关键词)、slide_count、structure(逐页结构)、goal、audience、tone(语气)、narrative_arc(叙事弧)、key_metrics(该策略应关注的关键指标)、sources(方法来源,如 Y Combinator Library、Guy Kawasaki Blog、Nancy Duarte Resonate 等)、emotion_arc(情绪弧)以及 sparkline_beats(Sparkline 节拍序列)。例如 YC Seed Deck 一行:
slide_count:10-12structure:1.Title 2.Problem 3.Solution 4.Traction 5.Market 6.Product 7.Business Model 8.Team 9.Financials 10.Asktone:Clear concise focused narrativeemotion_arc:curiosity→frustration→hope→confidence→trust→urgencysparkline_beats:hook|what-is|what-could-be|proof|proof|what-could-be|proof|trust|what-could-be|action
其中 sparkline_beats 值得特别留意:它把 10 页结构逐页映射到叙事功能(hook、what-is、what-could-be、proof、trust、action),是 Sparkline 节奏在页面粒度的落地表示——文档中"Common Structures"给出的是"页 → 内容",CSV 中补充的是"页 → 叙事角色"。
三种典型结构的情绪弧线详解
原文档在"Common Structures"一节给出了三种高频策略的逐页结构与情绪弧线,完整继承如下:
YC Seed Deck(10 页)
- Title/Hook
- Problem
- Solution
- Traction
- Market
- Product
- Business Model
- Team
- Financials
- The Ask
Emotion arc: curiosity→frustration→hope→confidence→trust→urgency
解读:前 3 页完成"好奇 → 挫败 → 希望"的经典 Problem-Solution 转折,中段用 Traction/Market/Product/Business Model 四页堆叠建立 confidence,Team 页制造 trust,最后 Financials 与 The Ask 把情绪推向 urgency 收尾。
Sales Pitch(9 页)
- Personalized Hook
- Their Problem
- Cost of Inaction
- Your Solution
- Proof/Case Studies
- Differentiators
- Pricing/ROI
- Objection Handling
- CTA + Next Steps
Emotion arc: connection→frustration→fear→hope→trust→confidence→urgency
与 YC 版本的关键差异在于多了一个"cost of inaction"(不行动的代价)环节,情绪链里因此出现 fear 这一节拍——面向客户的销售场景允许、甚至需要制造紧迫感;而融资场景更依赖证据建立 trust。
Product Demo(6 页)
- Hook/Problem
- Solution Overview
- Live Demo/Screenshots
- Key Features
- Benefits/Pricing
- CTA
Emotion arc: curiosity→frustration→hope→confidence→urgency
最短路径的转化结构:问题引入后立刻进入产品实拍(Live Demo/Screenshots),用"看得见在运行"代替大段论述。
Duarte Sparkline 模式
原文档将 Nancy Duarte 的 Sparkline 抽象为一个交替模式:
What Is → What Could Be → What Is → What Could Be → New Bliss
(pain) (hope) (pain) (hope) (resolution)
即"现状之痛(What Is)"与"理想之盼(What Could Be)"交替推进,最终落到 New Bliss(新欢愉/解决态)。文档指出:在 1/3 与 2/3 位置的模式切换(Pattern break)会制造注意力峰值。
在 slide-strategies.csv 中,该策略对应的 sparkline_beats 就是 what-is|what-could-be|what-is|what-could-be|new-bliss,且其 slide_count 标记为 Varies——Sparkline 是节奏模板而非固定页数,页数随内容伸缩。
检索命令:从自然语言到策略记录
原文档"Search Commands"一节给出的两条命令,完整保留:
# Find strategy by goal
python .claude/skills/design-system/scripts/search-slides.py "investor pitch" -d strategy
# Get emotion arc
python .claude/skills/design-system/scripts/search-slides.py "series a funding" -d strategy --json
结合 search-slides.py 与 slide_search_core.py 的源码,可以补充几条实操中真正有用的参数:
-d/--domain:限定检索域,取值为strategy、layout、copy、chart(对应CSV_CONFIG中的四个 CSV 文件);省略时由detect_domain()按关键词自动判定,默认回落到strategy。-n/--max-results:返回条数,默认 3。--all:跨全部四个域检索。--json:JSON 输出,便于 Agent 或脚本消费(原文档第二条命令即此用途,可从中直接取emotion_arc、structure字段)。--context --position N --total M --prev-emotion E:上下文感知模式,返回版式、字体、色彩、pattern break、full-bleed 等单页级建议(见下节)。
底层实现上,slide_search_core.py 内置了一个标准 BM25 排序器(k1=1.5, b=0.75,见 BM25 类实现),对 strategy 域建立索引时使用的字段是 strategy_name、keywords、goal、audience、narrative_arc 五列拼接成的文档。因此查询词命中的是策略名、关键词与目标描述——例如 "investor pitch" 命中 YC Seed 与 Guy Kawasaki 两条记录的 keywords/goal 字段,而 "series a funding" 会直接命中 Series A Deck 行的 keywords(series a, growth, scale, investor, traction)。
值得注意的一个工程细节:search-slides.py 开头有一段强制 stdout/stderr 使用 UTF-8 的兼容处理(第 16-24 行),注释说明其原因是脚本会输出 emoji 标记,在 Windows cp1252 控制台下会抛 UnicodeEncodeError。这意味着该 CLI 在 Windows/macOS/Linux 均可直接运行,无需额外环境配置,只需 Python 标准库。
上下文感知决策:Pattern Break 与 Full Bleed
--context 模式是策略层与版式层之间的桥梁:给定"这是第几页、总共几页、上一页的情绪是什么",系统输出该页的版式、字号比例、色彩处理、是否打破视觉模式、是否使用全幅背景等建议。其中两个判定函数把文档里的 Sparkline 理论变成了可计算规则:
Pattern break(模式切换),实现于 calculate_pattern_break:
- 总页数少于 5 页时不触发;
- 位置落在
total // 3或total // 3 * 2(即 1/3 与 2/3 处)时触发——这正是原文档"Pattern breaks at 1/3 and 2/3 positions create engagement peaks"的代码化; - 或当前情绪与上一页情绪构成对比对(
frustration ↔ hope/relief、hope ↔ frustration/fear、fear ↔ hope/relief)时触发。
Full bleed(全幅背景),实现于 should_use_full_bleed:
- 只保留高情绪节拍:
hope、urgency、fear、curiosity; - 位置限定在战略点位
[1, total//3, total//3*2, total-1](首页、1/3、2/3、末页),且绝不连续出现; - 注释中写明规则意图:"Premium decks use 2-3 full-bleed slides strategically"。
这两个函数的输入来自哪里?来自 slide-layout-logic.csv 按 goal 给出的情绪与版式,例如:
| goal | emotion | layout_pattern | visual_weight | break_pattern |
|---|---|---|---|---|
| hook | curiosity | split-hero | 70-visual | false |
| problem | frustration | card-grid | balanced | false |
| agitation | fear | full-bleed-stat | 100-text | true |
| solution | relief | split-feature | 50-50 | false |
| social | connection | quote-hero | 80-text | true |
可以看到 agitation(激化痛点)与 social proof(社会认同)两页被标记为 break_pattern=true,对应 Sparkline 中的痛点峰值与信任峰值;情绪再由 slide-color-logic.csv 映射到色彩处理,例如 hope → accent-bleed / use_full_bleed=true、urgency → gradient / cta-button / use_full_bleed=true、frustration → dark-surface / subtle-border。最终 search_with_context() 把这些结果连同动画类(如 cta → animate-pulse、traction → animate-chart animate-count)打包返回(search_with_context 实现)。一次典型调用:
python .claude/skills/design-system/scripts/search-slides.py "problem slide" --context --position 2 --total 9
python .claude/skills/design-system/scripts/search-slides.py "cta" --context --position 9 --total 9 --prev-emotion frustration
第二条命令的语义是:"第 9 页是 CTA 页,上一页情绪是 frustration",系统据此判定 should_break_pattern=YES(frustration→hope 构成对比对),并给出 CTA 的版式、字号、色彩与 animate-pulse 动画建议。
场景到策略的匹配规则
原文档最后一节给出 Context → Strategy 的匹配表,完整继承如下:
| Context | Recommended Strategy |
|---|---|
| Raising money | YC Seed, Series A, Guy Kawasaki |
| Selling product | Sales Pitch, Product Demo |
| Internal update | QBR, All-Hands, Board Meeting |
| Public speaking | Conference Talk, Workshop |
| Proving value | Case Study, Competitive Analysis |
| Lead generation | Webinar |
这张表实际上是 strategy 域检索结果的"人工兜底":当 BM25 检索的 Top-N 与场景意图不符时(例如 "internal update" 同时命中 QBR 与 All-Hands 的 audience 字段),用该表做最终裁决。结合 CSV 中各策略的 key_metrics 字段(如 Sales Pitch 关注 ROI case study metrics,QBR 关注 KPIs OKRs progress %),选型时还应同步确认"这套结构要求你拿出什么数据"——结构选错了,往往是数据备不齐。
落地流程小结:从策略到 HTML 幻灯片
综合 slides SKILL.md 与 design-system SKILL.md,围绕本文策略知识库的完整工作流为:
- 选型:按场景匹配表(或
search-slides.py -d strategy)确定 Deck 策略,确认页数范围、逐页结构与emotion_arc; - 节拍展开:用 CSV 中的
sparkline_beats把每页标记为 hook / what-is / what-could-be / proof / trust / action 等叙事角色; - 逐页决策:对每页执行
--context检索,按goal查版式逻辑(含break_pattern)、字体比例、情绪色彩与背景图配置,1/3 与 2/3 位置的页面优先做视觉模式切换,高情绪节拍(hope/urgency/fear/curiosity)在战略点位考虑 full-bleed 背景; - 生成与验证:用 html-template.md 与 layout-patterns.md 提供的 CSS 结构生成 HTML,图表使用 Chart.js(不用纯 CSS 条形图),并导入
design-tokens.css使用var(--color-primary)等 CSS 变量而非硬编码色值,最后用slide-token-validator.py校验 token 合规性。
需要说明的适用前提:以上脚本均以仓库根目录为工作目录运行(search-slides.py 通过 Path(__file__).parent.parent / "data" 定位 CSV 数据,相对脚本位置解析,与当前工作目录无关,因此从仓库根目录或其他位置调用均可命中同一份 data 目录);而策略、版式、文案、图表四个域的知识全部以 CSV 为准,Markdown 参考文档(含本文主体 slide-strategies.md)是面向人的阅读视图。若你维护或扩展该技能,建议以 CSV 为单一事实源(single source of truth)更新,再同步 Markdown 表格。
atomcodeClaude Code 的开源替代方案。连接任意大模型,编辑代码,运行命令,自动验证 — 全自动执行。用 Rust 构建,极致性能。 | An open-source alternative to Claude Code. Connect any LLM, edit code, run commands, and verify changes — autonomously. Built in Rust for speed. Get StartedRust0622
Hy4-previewHy4 preview 是由腾讯混元团队研发的新一代混合专家(MoE)旗舰模型。模型总参数量 770B,每个 token 激活 49B,主干共包含78层,第一层采用标准 FFN,其余 77 层均为 MoE 结构,每层包含 256 个路由专家与 1 个共享专家,每个 token 激活 top-8 路由专家及共享专家。主干之外原生内置 1 层 MTP(总参数量 10B,激活 0.7B)以支持投机解码。Python00
GLM-5.3GLM-5.3 与 GLM-5.2 使用相同的基座模型——所有提升均来自后训练。与 GLM-5.2 相比,它在复杂编程和长程任务上的表现显著提升。Jinja00
GLM-5.3-FlashGLM-5.3-Flash (320B-A18B),是GLM-5系列的首个原生多模态模型。320B总参数,能力超过GLM-5.2Jinja00
Spark-X2.5-4BSpark-X2.5-4B 旨在让强大的 AI 更实用、更高效、更易获得。在广泛日常任务中表现强劲,涵盖对话、写作、翻译、推理、编码、工具调用以及智能体工作流,并在同等规模的开源模型中取得领先成绩。Spark-X2.5 将面向效率的架构与最高 1M tokens 的原生上下文窗口相结合,并支持 200 多种语言。Python00
Spark-X2.5-1.7BSpark-X2.5-1.7B 旨在让强大的 AI 更加实用、高效且易于获取。这些模型在广泛的日常任务中表现出色,涵盖对话、写作、翻译、推理、编程、工具调用和智能体工作流,并在同等规模的开源模型中取得领先结果。Spark-X2.5 将面向效率的架构与最高 1M tokens 的原生上下文窗口相结合,并支持 200 多种语言。Python00