beautiful-article
把用户提供的素材(网页 URL / PDF / DOCX / Markdown / 纯文本 / 截图 / 粘贴材料)编辑、设计成一篇美丽的、可离线打开和分享的**单文件 HTML…
用代码制作以图形、文字或界面动画为主的短视频(常见 5–60 秒,纯音乐片最长约 2 分钟),输出 MP4 和可编辑源码:产品宣传短片、动效作品集、UI 动效演示、动态排版与金句卡点、Logo 演绎与片头、生成艺术循环、年代回顾短片。配乐可选:代码合成,或按用户提供的曲子卡点。用户想做这类短视频或动效时使用,例如「做个 15 秒动效视频」「做个 Logo 动画 / 片头」「做个产品宣传短片」「用代码做视频」。不用于:口播讲解类长视频、网页与交互原型、写实人物或实拍内容、剪辑已有视频。
$ npx -y skills add ConardLi/garden-skills --skill motion-showreel --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/motion-showreelContext preview
The summary Claude sees to decide when to auto-load this skill.
用代码制作以图形、文字或界面动画为主的短视频(常见 5–60 秒,纯音乐片最长约 2 分钟),输出 MP4 和可编辑源码:产品宣传短片、动效作品集、UI 动效演示、动态排版与金句卡点、Logo 演绎与片头、生成艺术循环、年代回顾短片。配乐可选:代码合成,或按用户提供的曲子卡点。用户想做这类短视频或动效时使用,例如「做个 15 秒动效视频」「做个 Logo 动画 / 片头」「做个产品宣传短片」「用代码做视频」。不用于:口播讲解类长视频、网页与交互原型、写实人物或实拍内容、剪辑已有视频。
name: motion-showreel description: 用代码制作以图形、文字或界面动画为主的短视频(常见 5–60 秒,纯音乐片最长约 2 分钟),输出 MP4 和可编辑源码:产品宣传短片、动效作品集、UI 动效演示、动态排版与金句卡点、Logo 演绎与片头、生成艺术循环、年代回顾短片。配乐可选:代码合成,或按用户提供的曲子卡点。用户想做这类短视频或动效时使用,例如「做个 15 秒动效视频」「做个 Logo 动画 / 片头」「做个产品宣传短片」「用代码做视频」。不用于:口播讲解类长视频、网页与交互原型、写实人物或实拍内容、剪辑已有视频。
把一个想法做成一支以图形、文字或界面动画为主的短视频,交付 MP4 和能重建的源码。
**原理**:页面暴露确定性的 `render(t)`,脚本逐帧截图,再用 ffmpeg 合成 MP4。配乐和音效在代码里合成,和画面共用一张时间表 `timeline.js`,所以卡点可以精确到帧。
**好片子从哪来**:变化密度、运动质感、一个记忆点、音画关系,这四项通常决定观感。但具体怎么动、动多少,由**风格和内容**决定,不是每支片子都要多机位、弹簧和满屏音效。全局只守几条底线(见「底线」),其余都是给模型的起点,不是天花板。
---
| 用户想要 | 用这个 Skill? | |---|---| | 产品宣传短片、动效作品集、UI 动效、动态排版 / 卡点、Logo 演绎、片头、循环动图 | ✅ | | 视频模型生成的绿幕人物 + 代码做的场景、大字、动效 | ✅ 人物由用户提供(`references/formats.md` H 类) | | 有口播稿或文章、要逐句讲解的几分钟视频 | ❌ 用 `web-video-presentation` | | 网页、落地页、交互原型、静态视觉稿 | ❌ 用 `web-design-engineer` | | 写实人物表演、实拍质感、剪辑已有素材、用视频模型直接出画面 | ❌ |
**时长**:最适合 5–60 秒。纯音乐驱动、没有旁白的片子可以做到 2 分钟左右(比如 `mixed-media-era` 那种年代回顾);超过 60 秒时按段落分别制作、分别检查,开工前跟用户说清楚渲染和审片的成本。需要旁白讲解的视频不在本 Skill 范围内。
---
0 环境检查(一次) 1 一次问清 ──────── 能从请求里推断的就不问 2 brief.md ──────── 对标 → 用途 + 风格 → Reel Read → 节拍网格 + 分镜 + 禁止清单 3 风格帧 ────────── 🛑 唯一的停顿点:已定风格 → 1 个方向 3 张帧;未定风格 → 3 个方向各 1 张帧 4 制作 ──────────── timeline → 逐镜头 → 静帧自检 → 确定性检查 → 小样 → 正片 5 声音(可选)────── 代码合成 / 用户曲子 / 无声 6 验收 ──────────── 技术检查(程序判定,必须全过)+ 审片(看图列问题,交给用户终审) 7 交付
工作目录:在用户当前目录下建 `<slug>/`,所有文件都放在里面:`brief.md`、`index.html`、`motion.js`、`timeline.js`、`score.mjs` 或 `score.tone.js`(按 scaffold 的 `--audio` 选择)、`build.sh`、`fonts/`、`assets/`、`audio/`、`qa/`、`out/`。
第一次使用时运行 `sh <skill>/scripts/setup.sh`:它会安装 Playwright 和 Chromium,再跑 `check-env.mjs`。需要 Node 18+ 和 ffmpeg;缺了就告诉用户怎么装,不要替用户装系统软件。工具自带测试:`cd <skill>/scripts && npm test`。
**用一条消息**问,最多 5 个问题,请求里已经回答过的就跳过。用户说「你看着办」,就全部用默认值,并在 brief 里注明。
| 问什么 | 默认值 | |---|---| | 主题和素材:logo、产品截图、文案、品牌色、字体 | 只用用户给的事实,不编功能、数据和客户 | | 观众看完要记住的一句话或一个画面 | 从主题里提炼 | | 时长、画幅、平台 | 15 秒 · 1920×1080 · 30fps;竖屏平台用 1080×1920;UI 动效可以用 60fps | | 风格:有指定的风格、参考视频或截图吗? | 没有就在第 3 步给 3 个方向,看图选 | | 声音:无声 / 代码合成 / 你提供曲子(需能商用) | 代码合成 |
**放手模式**:用户说「全力以赴」「你随意」「给我惊喜」,或者只给了一个主题、没有其他要求时,进入放手模式:只守底线和技术管线,风格、结构、手法都由你自己判断,可以完全不用风格库里的风格。仍然要写 brief(这是让你自己的创意可控、可复现的方式),仍然在第 3 步给 3 个方向。
**先找对标**:动笔前为这支片子(这个主题 + 这种用途)挑 1–2 个对标作品,可以是电影片头、广告、游戏、动效作品、设计流派。在 brief 里写下「学什么」(构图、节奏、镜头语法、配色逻辑、配乐结构)和「不学什么」(角色、具体镜头、旋律、logo、字体文件)。对标比任何规则都更能拉高上限。
**再想三个候选结构**:比如一段旅程、一次前后对比、一次倒数、一个变成另一个、一个不切镜头的长镜头。各用两三行写下来,选一个并写明理由。第一个冒出来的想法往往是这个风格的陈词滥调。
**用途**和**风格**分开选:
按 `references/brief-template.md` 写 brief,核心是:
Reel Read: format: [用途,formats.md 里的类型] benchmark: [对标作品 · 学什么 · 不学什么] structure: [三个候选结构 → 选中哪个、为什么] style: [styles/ 里的风格(含改造点),或者混搭方案,或者自定义规则] signals: [挑了哪 2–3 个辨识信号、为什么;翻掉了俗套的哪几条] takeaway: [观众记住的一句话或一个画面] hook: [前 1 秒发生什么] signature: [记忆点:第几秒、什么手法] palette / type / motion / camera / texture: [按所选风格写出具体值] sound: [无声 / 合成(声音对标、律动、和声、配器、曲线,见 sound.md 第 2 节)/ 用户曲子(BPM、drop)] forbidden: [这支片子的禁止清单]
接着在 brief 里写**节拍网格 + 分镜表**:先定 BPM 和小节数,每个镜头一行,写明 `拍号区间 | 画面(含原文文字)| 运动 | 镜头 | 声音 | 转场`。
用户只说了一句「全力以赴」,也要把它翻译成上面这份具体约束,否则结果就是抽卡。
建项目:`sh <skill>/scripts/scaffold.sh <slug> [--audio synth|tone|layer|none]`(默认 synth = 第 1 档合成;只拷贝选中的那份 score,`build.sh` 的 `AUDIO=` 也随之设好)。starter 只用来验证管线能跑通,画面和文案都要换掉。先写 `timeline.js`。
**A. 用户已经定了风格**(或者给了明确的参考): 1. 用真代码搭出 hook 帧、记忆点帧、结尾帧,配色、字体、文案都用最终的。 2. `render.mjs <slug> --still 0.6,7.2,14.5 --sheet`,自己先看一遍,明显的问题修完再给用户。记忆点靠运动的话,另出一段 2–3 秒的小样(`--start --duration`)。 3. 把 Reel Read 摘要、分镜概要、风格帧发给用户,问「方向对吗?」。
**B. 用户没定风格(包括放手模式)**:给 **3 个拉开差距的方向**,规则见 `styles/INDEX.md`:
两种情况都**真的等用户回复**,再进入制作。用户事先说过不用确认的,就自己选一个、写明理由,自查后继续;交付时把没选的方向一起给用户(B 情况附上 `qa/directions.png`,A 情况各写一句另外两个可能的方向),让用户回来还能换。
制作前先读 `references/stack.md`(页面契约、确定性、各技术的坑)。要现成写法时查 `references/recipes.md`。
1. 时间点全部写进 `timeline.js`,页面和 `score.mjs` 都从这里 import。镜头表写进 `SHOTS`(验收时按镜头报运动),刻意的停留写进 `HOLDS`(比如落版 `[[b(36), DUR]]`),要留呼吸的重拍写进 `DROPS`,验收工具会读它们。转场要对拍时,用 `revealOn(拍点, 转场时长, 揭开点)` 倒推起点,让新画面露出来的那一帧落在拍上。 2. 逐个镜头做。每个镜头渲开头、中段、结尾 3 张静帧;快速动作用 `inspect.mjs strip` 看连续帧。 3. 跑确定性检查 `render.mjs <slug> --determinism`,不通过就先修。 4. 片长 30 秒以上或渲染慢的,先出低清小样:`--size 960x540 --out out/proxy.mp4`。 5. 出正片:先在 `build.sh` 顶部按 brief 设好 `FPS`、`SIZE`、`AUDIO`、`LOOP`,再 `sh <slug>/build.sh`。它会构建配乐,先跑确定性检查(不过不出片),再渲染,接着跑文字框景检查(只出审片材料,不挡构建),最后带着同一份规格跑技术检查(时长取 `timeline.js` 的 `DUR`)。`--subframes`、`--dpr`、`--grain` 作为参数加在后面,按风格需要加。这些参数都会成倍增加耗时,开渲前先报预计时间。
**硬规则**:
A curated collection of production-ready Agent Skills for Claude Code, Cursor, Codex, and other AI coding agents.
Repo: ConardLi/garden-skills
把用户提供的素材(网页 URL / PDF / DOCX / Markdown / 纯文本 / 截图 / 粘贴材料)编辑、设计成一篇美丽的、可离线打开和分享的**单文件 HTML…
面向 GPT Image 2 的图像生成 / 编辑技能。可在 3 种环境下使用:(A) Garden 本地模式,通过 OpenAI 兼容接口直接出图并落盘;(B) Host-Native…
面向本地知识库目录的检索和问答助手。核心流程:(1)分层索引导航 (2)遇到PDF/Excel时必须先读取references学习处理方法 (3)处理文件后再检索。按文件类型组合使用…
Build or redesign polished browser-rendered visual artifacts with HTML/CSS/JavaScript/React:…
把一篇文章或口播稿,做成"看起来像视频"的点击驱动 16:9 网页演示,可选合成口播音频。流程:原始文章 → **一次产出**口播稿 + outline 开发计划 →…