waterdjiang/wattter_openskills/wtt-magazine-deck
Claude Code and agent skill by waterdjiang/wattter_openskills
- community
Checking that the SKILL.md file is still in the repository.
当用户需要制作自包含横向翻页网页演示文稿、杂志风 PPT、瑞士风 PPT、发布会/分享/报告型网页 slides,或提到 magazine deck、Swiss style、horizontal swipe deck、editorial magazine、e-ink presentation 时使用。适用于从主题、大纲、素材或旧文档生成可本地打开的 HTML deck。
Install
npx vskill@latest install waterdjiang/wattter_openskills/wtt-magazine-deckSKILL.md
杂志风网页演示
生成一份自包含文件夹的横向翻页网页演示文稿。当前支持三种组件化风格:
editorial:电子杂志 × 电子墨水。适合叙事、观点、分享、个人风格表达;衬线标题、WebGLfluid、5 套主题、15 种布局和 4 个预设。swiss:瑞士国际主义。适合事实、产品、分析、方法论、数据汇报;Inter 极细字重、1px 发丝线、单一高饱和锚点色、WebGLgrid、9 套主题、22 个登记版式 S01-S22。linear:Linear 科技型。适合产品发布、AI 工作流、SaaS、工程团队、路线图和任务系统;深色产品界面、玻璃面板、issue/roadmap/agent 组件、WebGLgrid、4 套主题、6 个登记版式 LNR-01-LNR-06。
风格不能混用。 先选 style,再选 theme、motion、layout/preset。
何时使用
适合:线下分享、行业内部讲话、发布会、demo day、数据报告、作品展廊、强个人风格演讲。
不适合:大段表格、复杂图表堆叠、培训课件、需要多人协作编辑的 PPT。
入口流程
- Brief Gate(生成前确认)。 先读
references/brief-gate.md。如果用户没有明确给出内容组织、风格、颜色主题、模板/预设、动效模式,必须给选项卡让用户确认;如果用户给了完整大纲,也要先复述拟采用配置并等确认,除非用户明确说“直接生成 / 你决定 / 不用确认”。对用户展示风格时用“杂志叙事型 / 瑞士信息型 / Linear 科技型”这类中文名称,内部 ideditorial/swiss/linear只作为括号补充;颜色选项必须带主题色号和适用判断。 - 确认输入完整度。 确认受众场景、分享时长、原始素材、图片、主题色、硬约束是否足够决定页数和节奏;缺失项并入 Brief Gate 一次问完,不要边做边反复追问。
- 选风格。 读
references/styles/index.md。拿不准时默认editorial;内容偏事实、产品、分析、方法论、数据汇报时优先swiss。 - 选引用资料。 先读
references/required-components.md,把页面表达收敛到 6 个必须组件,再按风格读取对应 layout/theme。
editorial:读references/themes.md、references/presets.md、references/layouts.md;细节组件读references/components.md。swiss:读references/swiss-layout-lock.md、assets/styles/swiss/layouts.md、assets/styles/swiss/themes.md;地图页读references/swiss-map-component.md。linear:读assets/styles/linear/layouts.md、assets/styles/linear/themes.md;适合产品 UI、issue board、roadmap、agent command 结构。- 动效细节读
references/motions.md;最终自检读references/checklist.md。
- 生成 deck 文件夹。 输出目录必须命名为
<YYYYMMDDHHmm>_<内容主题>_<模板主题色动效>,例如202606181530_AI课程合作介绍_瑞士克莱因蓝电影;目录内结构必须是可直接打开的静态文件夹:index.html、css/、js/、images/。 - 运行校验。 生成后必须先跑
node scripts/validate-theme-contract.mjs,再跑node scripts/validate-deck.mjs <index.html> <style-id>;Swiss 额外跑node scripts/validate-swiss-deck.mjs <index.html>。
构建契约
按 assets/styles/registry.json 作为机器可读权威来源,不要在脑中硬编码路径。当前构建顺序:
使用选定风格的模板:
assets/styles/editorial/template.htmlassets/styles/swiss/template.htmlassets/styles/linear/template.html
替换 {{MOTION_CSS}}、{{LAYOUT_SECTIONS}}、{{WEBGL_JS}}、{{MOTION_JS}}、{{FX_JS}},再替换 [必填] 标题。
硬性规则
- 每份 deck 都必须包含可见翻页导航:
#nav、#nav-btns、#btn-prev、#btn-next;Swiss 可以弱化按钮视觉,但不能移除按钮。 - 未经 Brief Gate 确认,不要开始生成 deck。用户只给主题或模糊方向时,必须先让用户在内容组织、风格、颜色、模板/预设、动效中确认或选择“按推荐生成”。
- 输出目录必须使用最终确认的内容主题、模板、主题色和动效命名,并以生成时间开头:
YYYYMMDDHHmm_内容主题_模板主题色动效,例如202606181530_AI课程合作介绍_瑞士克莱因蓝电影。不要再使用_Mdeck,也不要输出到deck、dist、output、slides这类泛目录。 - 首页是主题色和风格方案的第一印象页:Swiss 首页必须用
S01或SWISS-COVER-ASCII,并用slide accent让所选主题色成为主视觉;Editorial 首页必须用hero dark/light并让主题的 WebGL/主色可见。 - 每页都必须有清晰视觉节奏。Editorial 写 section 前先规划
hero dark/hero light/light/dark;避免连续 3 页使用相同主题。 - 每页必须能整页显示。长标题加
.fit-safe-text;Editorial 主体用.frame,Swiss 高密度主体在.canvas-card内包.fit-shell。生成后观察是否出现内容过密标记,出现就删减文字、拆页或换低密度版式。 - T 键只切换当前风格内的主题色,不切换
editorial/swiss风格;要换风格必须重新按目标 style 生成 deck。 - 不要发明 layout class。使用
base.css的核心 class 和引用文件里的风格专属版式。 - 不要混用风格系统。Editorial 版式和 Swiss Sxx 版式有不同的字体、栅格、图片和动效契约。
- 选定风格后整份 deck 只使用该风格的模板、layout、components 和 theme;
scripts/validate-deck.mjs会拦截跨风格 class/layout 混入。 - 组件库做减法:新 deck 的内容表达先归入
title-block、figure-frame、metric-block、comparison-block、sequence-block、evidence-strip六类。decision-matrix、risk-register、screenshot-callout、roadmap-lanes、action-checklist等只能作为这六类的变体,不新增顶层组件。 - 主题色优先使用风格预设;如果用户给出明确品牌色/主题色,用
scripts/make-custom-theme.mjs生成 deck 专属theme.css,不要在 HTML 里散写 hex。 - 主题、T 按钮、
data-theme-list、--accent-on对比度都属于共享主题契约;新增或修改主题时先更新registry.json和主题 CSS,再跑scripts/validate-theme-contract.mjs,不要只补某个模板。 - 文字颜色必须跟随所在底色 surface,而不是靠页面整体深浅猜测。局部深色底、底部压暗区、图片遮罩文字必须加
.on-dark/.surface-dark/data-surface="dark";局部浅色底加.on-light;主题色底加.on-accent。图片或渐变上叠文字优先用.readable-zone.on-dark/.readable-zone.on-light,不要单独写color:var(--ink)或color:var(--paper)。 - 使用 Lucide 图标,不要使用 emoji。
- 图片放入
images/,使用01-cover.jpg这类稳定命名;文件名保持稳定,替换图片时不需要改 HTML。 - 微动/沉浸模式下,每页至少有一个
data-anim;Swiss section 还必须包含data-layout="Sxx"和data-animate="recipe-name"。 - 不要用内联
color:var(--paper)或color:var(--ink)硬改整页文字;跨模板可读性由assets/core/slide.css的 surface contract 和scripts/validate-deck.mjs检查。
扩展规则
新增长期复用主题时,在 assets/styles/<style-id>/themes/ 下添加 CSS 文件,更新该风格的主题文档;必要时更新风格注册信息。一次性品牌色只生成 deck 内 css/theme.css,不要登记进 skill。
新增风格时,创建 assets/styles/<id>/,包含 template.html、style.css、themes/、版式文档、可选的 components/recipes,以及 validate-rules.json;随后登记到 assets/styles/registry.json 和 references/styles/index.md。除非共享契约变化,不要修改 assets/core/、既有风格或既有 WebGL 模块。
验证
Run these before delivery:
真实生成 deck 时,还要在浏览器打开 index.html 验证:左右翻页按钮、键盘方向键、滚轮/触摸导航、分页 dots、图片渲染、标题替换,以及没有残留 {{...}} 占位符。
Security
- Security scanPassed, 90 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingwattter_skills/wtt-magazine-deck/SKILL.md
Popularity
- Repository stars
- 55
- Repository forks
- 7
- 7-day trend score
- 0
Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/waterdjiang/wattter_openskills/wtt-magazine-deck)