conardli/garden-skills

motion-showreel

用代码制作图形、文字或界面动画视频,输出 MP4 和可编辑源码,最长 20 分钟。适用于动效作品集、产品片、UI 动效、动态排版、Logo 片头、生成艺术与讲解视频;支持独立选择 BGM/音效来源、用户口播,以及用用户提供的口播稿通过 TTS 合成语音。不用于实拍制作、写实人物生成或一般视频剪辑。

查看源码

使用方法

  1. 复制安装命令,在自己的智能体环境安装前先检查源码包。
  2. 从原始文档核对所需工具、凭据和支持的宿主。
  3. 说明输入材料与期望交付物,并对照来源检查输出。
npx skills add https://github.com/conardli/garden-skills --skill motion-showreel

开始前需了解

  • 安装不包含模型订阅、API 额度或访问文件的权限。
  • 仓库星数和安装量反映活跃情况,不等于独立质量或安全测试。
仓库原始内容

按源仓库内容呈现,保留标题、案例、代码、表格、链接以及原文引用的演示图片。

Motion Showreel

把一个想法做成以图形、文字或界面动画为主的视频,交付 MP4 和能重建的源码。保留短片的动效密度和创意自由,也支持按章节制作最长 20 分钟的内容。

原理:页面暴露确定性的 render(t),脚本逐帧截图,再用 ffmpeg 合成 MP4。画面、口播、配乐和音效共用 timeline.js。无口播时按内容和音乐节拍组织画面;有口播时以真实语音时间为准,再安排音乐和音效。

好片子从哪来:变化密度、运动质感、一个记忆点、音画关系,这四项通常决定观感。但具体怎么动、动多少,由风格和内容决定,不是每支片子都要多机位、弹簧和满屏音效。全局只守几条底线(见「底线」),其余都是给模型的起点,不是天花板。

视频感:讲解、产品演示和叙事片要让对象的行为与关系随内容发展,保持镜头间的空间承接。不能把口播逐句变成静态标题卡,再用淡入、缩放和背景粒子包装。分镜先写清「观众要看懂什么变化、主体前后状态、如何接上一个镜头」,再选动效。Logo、动态排版、循环与刻意静止的风格仍按自身语法制作;不靠持续乱动或强制 60fps 判定好坏。具体方法见 references/craft.md 的「连续叙事」。


适用范围

用户想要用这个 Skill?
产品宣传短片、动效作品集、UI 动效、动态排版 / 卡点、Logo 演绎、片头、循环动图✅
视频模型生成的绿幕人物 + 代码做的场景、大字、动效✅ 人物由用户提供(references/formats.md H 类)
用户提供口播稿或录音,要导出有讲解的 MP4✅ 口播驱动模式;TTS 必须使用用户提供的原稿
需要点击推进、现场演讲、交互式网页演示,或文章转口播稿用 web-video-presentation
网页、落地页、交互原型、静态视觉稿❌ 用 web-design-engineer
写实人物表演、实拍质感、剪辑已有素材、用视频模型直接出画面❌

时长:最长 20 分钟(1200 秒),以用户确认的时长为准。短片仍适合 5–60 秒,不把长片做成连续二十分钟的高密度卡点。超过 2 分钟,读 references/long-form.md,按章节规划、制作和审片。用户指定时长与口播实际长度或内容量冲突时,停下来确认调整方案,不擅自截断、加速口播或改变片长。

Opus 的长处和默认坑

  • 长处:一个文件里能混用 Canvas、SVG/DOM、WebGL、Three.js,甚至每段换一种媒介;运动可以用公式精确计算(闭式弹簧、节拍网格、子帧运动模糊);声音和画面读同一张时间表;能长时间自主「渲静帧 → 看图 → 修改」;审美判断力强,一句「全力以赴」就可能出很惊艳的东西。
  • 默认坑:没有约束时,画面会落到深色背景、居中大字、所有元素一起淡入、紫蓝渐变加发光、机位不动;配乐会落到 A 小调四踩、每个重拍 impact + crash、钟声落版,几支片子听起来像同一首歌。所以要先找对标(画面和声音都要)、写清风格和禁止清单。但约束也不能写死:这个 Skill 的风格库和手法库都是起点,主题需要时随时改造、混搭或自定义。
  • 做不好的:写实人物、复杂的手部 / 布料 / 毛发、需要真实物理精度的东西、照片级产品(除非用户提供模型或图片)。遇到这些就风格化处理,或者换成绿幕人物 + 代码场景的分工。

工作流

0 环境检查(一次)
1 需求确认 ──────── 补齐必填项,汇总要求 → 🛑 等用户确认
2 brief.md ──────── 对标 → 用途 + 风格 → Reel Read → 分镜 + 声音计划
3 风格帧 ────────── 已定风格:3 张帧;未定风格:3 个方向各 1 张 → 🛑 等用户确认
4 制作 ──────────── 有口播先准备真实音频及时间戳 → timeline → 逐镜头 → 小样 → 正片
5 配乐与混音 ────── BGM、音效独立选来源;有口播时人声优先
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/。

第 0 步:环境

第一次使用时运行 sh <skill>/scripts/setup.sh:它会安装 Playwright 和 Chromium,再跑 check-env.mjs。需要 Node 18+ 和 ffmpeg;缺了就告诉用户怎么装,不要替用户装系统软件。工具自带测试:cd <skill>/scripts && npm test。

第 1 步:需求确认(停下来等用户)

集中补问缺失项,已经提供的不要重复问。以下信息必须明确,不能用固定默认值代替用户决定:

必填信息需要明确什么
核心主题、制作内容要呈现什么,哪些内容必须出现
时长明确秒数或分钟数,是否允许小幅浮动;不得超过 1200 秒
横屏或竖屏按选择确定实际尺寸;也保留用户明确指定 1:1 等其他画幅的能力。分辨率、帧率可提出建议,并写入确认摘要
BGM 来源AI 自主合成 / 用户提供;用户也可明确关闭
音效来源AI 自主合成 / 用户提供;与 BGM 分开选择,也可关闭
口播方式无口播 / AI TTS / 用户提供录音

条件必填:选 TTS 时必须由用户提供口播稿,不代写、不补写、不改写后擅自合成;同时明确 TTS 服务及所需 API 配置(已有配置复用,凭据用环境变量,不写进 brief)。支持 Gemini、MiniMax 和自定义适配器,按需读 references/narration.md。选用户录音时,需要录音文件或可访问地址;选用户 BGM/音效时,需要相应文件。口播语言、音色等能从稿件或配置判断的写入摘要,否则一并询问。

可选信息:相关资料、受众与发布平台、主题风格。受众和平台未给时根据内容推断,并在摘要说明。风格未给时留到风格帧阶段提供三个方向。

素材怎么处理:用户已经给了具体内容并授权 AI 生成,就据此制作;用户未给足具体内容时,询问必要资料,也可以根据主题开展网上调研并保留来源。有口播稿时先从原稿提取信息,不再让用户重复填写。AI 可生成插画、场景、抽象图形和明确标注的示意内容;真实产品功能、数字和品牌素材仍守「底线」,不能用虚构资料冒充真实内容。品牌 Logo 或真实产品截图的要求见 references/stack.md。

  • 用户给了参考视频:先跑 inspect.mjs sheet <ref> --cells 30 看全貌,inspect.mjs grid <ref> --strips 量出剪点和它们落的节拍网格(BPM 候选、每段占几步、每个转场的连续帧),inspect.mjs heat <ref> 看每段里哪里在动、动多大面积。把量到的数写进 brief 的对标一栏。只学结构和手法,不搬素材。
  • 用户给了曲子:无口播时先跑 audio.mjs beats <track> --out <slug>/audio/beats.json;有口播时音乐拍点服从讲述节奏。
  • 画面里要出现的产品、品牌或技术名词,不确定的先查证。

补齐后汇总主题、时长、画幅、BGM/音效各自来源、口播方式和素材情况,停下来等用户确认,再写 brief。即便首次请求信息齐全,也先发摘要确认。用户说「全力以赴」「给我惊喜」「你看着办」只授权创意选择,不代表可省略必填信息或跳过确认;只有用户明确要求跳过某次确认时才可继续,记录其授权。

放手模式:保留创意自主权,只守底线和技术管线,风格、结构、手法可自行判断,也可完全不用风格库。仍写 brief、提供三个方向,按上面的规则执行两次确认;用户明确免除的确认除外。

第 2 步:brief.md

先找对标:动笔前为这支片子(这个主题 + 这种用途)挑 1–2 个对标作品,可以是电影片头、广告、游戏、动效作品、设计流派。在 brief 里写下「学什么」(构图、节奏、镜头语法、配色逻辑、配乐结构)和「不学什么」(角色、具体镜头、旋律、logo、字体文件)。对标比任何规则都更能拉高上限。

再想三个候选结构:比如一段旅程、一次前后对比、一次倒数、一个变成另一个、一个不切镜头的长镜头。各用两三行写下来,选一个并写明理由。第一个冒出来的想法往往是这个风格的陈词滥调。

用途和风格分开选:

  • 用途(拍什么、按什么结构讲)看 references/formats.md,只读对应的那一节。
  • 风格(长什么样、怎么动、什么声音)先看 references/styles/INDEX.md,再只读选中的 1–2 个风格文件。风格可以直接用、改造(替换其中一两条规则)、混搭(一主一辅,或者按段落切换媒介),也可以按 styles/_template.md 自定义。风格规则保持不变,故事、镜头和结构从用户的主题来,不要沿用别的片子。每个风格文件都有「辨识信号」和「最俗的版本」两节:按主题挑 2–3 个信号(至少一个不在俗套里),在 brief 里写明翻掉了俗套的哪几条,或者为什么保留。用户选了风格,要的是一眼认出这个风格,两三个信号就够了。
  • 再按需翻 references/craft.md(手法库)。

按 references/brief-template.md 写 brief,核心是:

yaml
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)]
  audio-sources: [BGM 与音效各自为 AI / 用户 / 关闭]
  narration: [无 / 用户原稿 TTS / 用户录音;有口播时句段时间轴路径、人声优先]
  forbidden: [这支片子的禁止清单]

接着写分镜表:无口播时保留节拍网格 + 分镜表。有口播时把句段关联到镜头与事件,写明 镜头 / 句段 ID | 要解释的变化 | 对象起止状态 | 继承的对象与空间 | 关键事件及时间依据 | 镜头与声音。一镜可以覆盖多句,一句可以有多个动作;不把口播分句当作切镜指令,也不要求逐句把原稿写满屏。实际区间在音频准备后回填,不把字数估时当成最终对齐依据。长片另写章节表、各章时长和跨章一致性规则。

用户只说了一句「全力以赴」,也要把它翻译成上面这份具体约束,否则结果就是抽卡。

第 3 步:风格帧(第二次停下来等用户)

建项目:sh <skill>/scripts/scaffold.sh <slug> [--audio synth|tone|layer|file|none](synth = 第 1 档合成;只拷贝选中的那份 score,file 使用已准备好的最终音轨)。脚手架的引擎默认值只用于技术初始化,不能代替需求确认。starter 只用来验证管线能跑通,画面和文案都要换掉。

A. 用户已经定了风格(或者给了明确的参考): 以下命令中的秒数只是示例,实际取本片开场、记忆点与结尾的有效时间;短片和长片都不要照抄 14.5 秒。

  1. 用真代码搭出 hook 帧、记忆点帧、结尾帧,配色、字体、文案都用最终的。
  2. render.mjs <slug> --still 0.6,7.2,14.5 --sheet,自己先看一遍,明显的问题修完再给用户。依赖运动的方向,按本节下方要求另出连续小样(--start --duration)。
  3. 把 Reel Read 摘要、分镜概要、风格帧发给用户,问「方向对吗?」。

B. 用户没定风格(包括放手模式):给 3 个拉开差距的方向,规则见 styles/INDEX.md:

  • A 贴合主题 / 品牌,B 换一种画面语言(来自另一个分组),C 大胆(自定义、混搭或结构上很大胆,至少一个方向不是库里现成的)。
  • 每个方向写一段迷你 Reel Read(风格、对标、记忆点、配乐方向,3–5 行),并用真代码渲一张最能代表它的关键帧。三个方向的页面放在同一个项目里,用 ?dir=a|b|c 切换。B、C 只为这一张关键帧服务,不必做成能播的整片。
  • render.mjs <slug> --directions a,b,c --at 14.5,2,0 一次渲出三张并拼成带标签的 qa/directions.png,发给用户,问「选哪个,或者怎么混合?」。

两种情况都真的等用户回复,再进入制作。TTS 项目同时附用户原稿的分段方案和音色短样(只使用用户给的文字),一起确认声音方向,不额外增设必停节点。用户事先明确说过不用确认的,就自己选一个、写明理由,自查后继续;交付时把没选的方向一起给用户(B 情况附上 qa/directions.png,A 情况各写一句另外两个可能的方向),让用户回来还能换。

对依赖连续动作的方向,静帧之外附 6–10 秒代表性运动小样(短于 6 秒的片子用全片),覆盖一次状态变化及前后承接;先自行看连续帧排除跳变。小样随风格帧一起确认,不增加第三次必停。口播尚未生成时明确标为动作预演,不能声称已与语音精确对齐。

第 4 步:制作

制作前先读 references/stack.md(页面契约、确定性、各技术的坑)。要现成写法时查 references/recipes.md。

有口播时先锁定口播时间轴:按 references/narration.md 合成用户原稿或导入用户录音,取得真实时长和句段时间戳,再安排画面。用户录音需通过可用转录工具或用户提供的 SRT/JSON 获得文本与时间;没有可靠时间戳时不能声称已完成逐句对齐。发现时长冲突先确认,不静默填充、裁切或变速。将真实区间导入镜头表,保留口播停顿和重点,不强行对齐音乐小节。超过 2 分钟按 references/long-form.md 分章制作,保留章节缓存。

句段只提供同步范围,镜头和主体运动可以连续跨句。关键变化需要词级同步时,用真实词时间或人工标注锚点,通过 narration.js 查询,让画面与音效引用同一事件;只有句级时间时维持句级同步,不伪造逐字时点。制作过程中用 preview.mjs 带声音预览拖动与逐帧检查;预览只驱动同一个 render(t),不进入正式渲染。

  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 作为参数加在后面,按风格需要加。这些参数都会成倍增加耗时,开渲前先报预计时间。

混合音轨用 AUDIO=file AUDIO_FILE=audio/final.wav sh build.sh;旧的 synth/tone/layer/none 构建方式继续可用。长片使用 build-long.mjs 持久分章构建,详见 references/long-form.md。

硬规则:

  • 画面只由 t 决定:不用 Math.random、Date.now、rAF、定时器、CSS 动画,帧和帧之间不保存状态。
  • 字体和素材全部加载完,再设置 READY = true;字体放进项目自托管。
  • 布局从 stageSize() 返回的宽高推导,不写死像素。

第 5 步:BGM、音效与混音

看 references/sound.md。BGM 和音效分别按确认的来源制作,允许用户配乐 + AI 音效等组合。下表是 AI 合成的引擎选择,不能用引擎默认值覆盖已确认的素材来源。声音方向(对标、律动、和声、配器、曲线)在 brief 里就定好:

档用什么适合
第 1 档 · 内置合成score.mjs,Node 里的合成器(鼓、手鼓、贝斯、铺底、拨弦、马林巴 / 钢片 / 卡林巴、风琴、人声铺底、FM、环境底噪、音效、侧链、混响、lo-fi 处理),零依赖电子、UI、芯片音乐、氛围、lo-fi、手作与玩具、大多数动效片
第 2 档 · Tone.jsscore.tone.js,在无头浏览器里用 Tone.js 离线渲染:采样乐器(audio.mjs samples salamander 下载 CC BY 钢琴)、卷积混响、更丰富的合成器和效果需要真实乐器、空间感、电影感的风格
外部曲子用户提供的音乐(自己的、授权的、AI 音乐服务生成的)用户已有配乐
  • 构建:audio.mjs build <slug>/score.mjs 或 score.tone.js,都会输出 −14 LUFS 的 audio/music.wav。
  • 用户曲子:无口播时先跑 audio.mjs beats(有 librosa 时自动使用)对齐 timeline,再在 score 里 S.load() 叠音效。有口播时只把音乐节拍作为参考,调整音乐和音效配合语音,不移动已确认的口播时间轴。
  • 无声:BGM、音效和口播均关闭时跳过;仅关闭 BGM 不代表整片无声。
  • 有口播:音乐减少主旋律、密集打击和大动态;音效只保留有信息作用的动作,避开关键词与句首。保留独立轨,通过 narration.mjs mix 做人声期间的避让、统一响度和峰值处理。用真实句段时间戳核对画面,听感仍需用户终审。

每次 build 之后都要对最终混音跑 audio.mjs check,看数值和图;宿主支持试听时再听,不能把数值通过写成「听感已确认」。timeline.js 里写了 DROPS 时,它还会量出重拍前的凹陷和抬升,没有呼吸就给 WARN。

第 6 步:验收

技术检查:由程序判定,失败就不能交付。

bash
node <skill>/scripts/inspect.mjs qa <slug>/out/final.mp4 --out <slug>/qa/final \
  --expect-size 1920x1080 --expect-fps 30 --expect-duration 16 --audio required   # 无声片用 --audio none;循环片加 --loop

它检查文件能否解码、尺寸、帧率、时长、帧数、音轨、黑帧、响度、真峰值,以及循环接缝(需要时)。只要有一项 FAIL,退出码就是 1,必须修好。没传的规格项会列成 NOT CHECKED,这时不算验收通过。build.sh 会自动带上规格。渲染工具本身也会拒绝发布帧数不对的文件。

审片:给人判断用,不是程序判定。看抽帧图、手机尺寸抽帧图、冻结段(HOLDS 里声明过的会标成刻意停留,其余要判断是不是空拍)、切点、按镜头的运动和闪帧、文字框景的标记图(qa/text-*.png)、音频图,按 references/review.md 的审片表逐项写下观察和最严重的 3 个问题,有数字和图表的片子要核对内容与数字口径。修完只重渲有问题的那一段,再出整片,过程记到 qa/review_log.md。宿主支持子 agent 时,再派一个没参与制作的 agent 只看这些材料挑问题(review.md「独立审片」)。

有口播时额外运行 narration.mjs check,核对句段时间覆盖、音频长度与确认规格;逐句审查原稿、画面与语音是否一致,自动检查不能代替听感审片。长片逐章审片,并检查拼接处的画面、声音和时间轴。

审片结论是给用户的参考,不能代替用户自己看片。不适用的项标「不适用」,比如无声作品的音画同步,不要硬给分数。

第 7 步:交付

告诉用户:

  • out/final.mp4 和 out/poster.png 的路径(poster:render.mjs <slug> --poster <t>)。
  • brief.md:完整的结构化提示词、两次确认记录,可以复用,不含 API 凭据。
  • 有口播时附用户原稿、句段时间轴和各轨来源;长片附章节 manifest 和断点重建命令。
  • 技术检查结果(全部 PASS)、审片记录里还没解决的问题、渲染用时。
  • 怎么重建(sh build.sh)、怎么只改一段。
  • 第三方素材(字体、用户素材、曲子)的来源和授权;事实类内容提醒用户再核对一遍。

复盘结论和复核证据保存在项目的 qa/review_log.md,与本次制作文件一起交付。


底线(所有风格都要守)

  1. 需求与原稿:必填信息经确认;视频不超过 20 分钟;TTS 原稿必须来自用户。时长冲突须确认,不擅自改稿、截断或变速。
  2. 事实准确:产品功能、数字、名称只来自用户或可靠来源,不确定的标出来。
  3. 文字可读:字号在手机尺寸下看得清,停留时间够读完(见 craft.md 第 7 节);文字不溢出、不重叠、不被遮挡。
  4. 素材有授权:logo、截图、字体、曲子都要能用,并在交付时列出来。
  5. 技术正确:确定性渲染,技术检查全部通过,没有黑帧,结尾不能戛然而止(落版定格或无缝循环)。
  6. 风格一致:选定的风格规则从头守到尾,不落入 brief 的禁止清单。

除此之外,镜头动多少、用不用弹簧、音效密度、节奏快慢,都按风格和内容来定(见 references/styles/ 和 craft.md)。


工具速查(S=<skill>/scripts)

目的命令
装依赖 / 查环境 / 自测sh $S/setup.sh · node $S/check-env.mjs · cd $S && npm test
建项目`sh $S/scaffold.sh <slug> [--audio synth\tone\layer\file\none]`
静帧 + 拼图node $S/render.mjs <slug> --still 0.5,3,7.2 --sheet · --range 0:15:1 --sheet
三个方向 / 封面node $S/render.mjs <slug> --directions a,b,c --at 14.5,2,0 → qa/directions.png · --poster 14.5 → out/poster.png
确定性node $S/render.mjs <slug> --determinism
文字框景(审片材料)`node $S/render.mjs <slug> --text-check [--safe auto\none\T,R,B,L] → qa/text.json` + 标记图(build.sh 自动跑)
拆参考片node $S/inspect.mjs grid <ref> --strips(剪点 + 节拍网格 + 转场连续帧)· heat <ref>(每段的运动热图)
小样 / 正片 / 分段--size 960x540 --out out/proxy.mp4 · 正片 sh <slug>/build.sh --subframes 2 --grain 4(规格在 build.sh 顶部)· --start 6 --duration 3 --out out/seg.mp4
声音node $S/audio.mjs build <slug>/score.mjs(或 score.tone.js)· samples salamander · beats <track> --out audio/beats.json · check audio/music.wav(读 DROPS)
口播 / 最终混音node $S/narration.mjs tts … · import … · mix … · check …(参数见 narration.md)
长片重建node $S/build-long.mjs <slug>/chapters.json(参数见 long-form.md)
带声音预览node $S/preview.mjs <slug> --size 1920x1080 --fps 30(可加 --audio audio/final.wav;用法见 stack.md)
验收与审片材料node $S/inspect.mjs qa out/final.mp4 --expect-…(build.sh 自动带)· sheet · phone · strip --at 4.2 · loop · motion(读 SHOTS / HOLDS:按镜头的运动、跳变、闪帧)

参考文件(按需读)

文件什么时候读
references/formats.md第 2 步:用途,比如宣传短片、作品集、UI 动效、排版卡点、Logo、数据爆点、绿幕合成
references/styles/INDEX.md第 2 步:43 种风格的目录、三方向规则、混搭规则;然后只读选中的 styles/<slug>.md。自定义用 styles/_template.md
references/craft.md第 2 和第 4 步:节奏、运动、转场、镜头、排版、配色、质感、记忆点、默认味清单
references/brief-template.md写 brief 时
references/stack.md第 4 步:页面契约、确定性、各技术的坑、字体、素材、多画幅、性能
references/recipes.md要现成写法时
references/sound.md第 2 步(第 2 节:声音方向)和第 5 步
references/review.md第 6 步:技术检查说明、审片表、独立审片、常见问题、交付清单
references/narration.md选择 TTS、用户口播、独立 BGM/音效混音时
references/long-form.md超过 2 分钟:章节规划、持久缓存、分段音频与断点续建
来自同一仓库

更多 Skills

全部 Skills
conardli
社区

web-design-engineer

Build or redesign polished browser-rendered visual artifacts with HTML/CSS/JavaScript/React: pages, dashboards, prototypes, slide decks, animations, UI mockups, and data visualizations. Use for visual front-end creation, design-system exploration, design critique, or explicit browser acceptance / QA of a web artifact. Not for back-end, CLI, non-visual coding, source-to-longform article conversion, or narration-driven click-through video presentations.

安装量
2
GitHub Stars
1.3万
最近更新
10月24日
conardli
社区

gpt-image-2

面向 GPT Image 2 的图像生成 / 编辑技能。可在 3 种环境下使用:(A) Garden 本地模式,通过 OpenAI 兼容接口直接出图并落盘;(B) Host-Native 模式,把本 Skill 当作提示词工程指引,把渲染好的 prompt 交给宿主 Agent 自带的图像工具出图;(C) Advisor 模式,宿主无任何图像工具时退化为高质量 prompt 顾问。涵盖 18 大类、80+ 个结构化模板,覆盖海报 / UI / 产品 / 信息图 / 学术图 / 技术架构图 / 漫画 / 头像 / 流程板 / 电影分镜 / IP 周边 / 编辑工作流等场景。

安装量
2
GitHub Stars
1.3万
最近更新
10月11日
conardli
社区

kb-retriever

面向本地知识库目录的检索和问答助手。核心流程:(1)分层索引导航 (2)遇到PDF/Excel时必须先读取references学习处理方法 (3)处理文件后再检索。按文件类型组合使用 grep、Read、pdfplumber、pandas 进行渐进式检索,避免整文件加载。用户问题涉及"从知识库目录回答问题/检索信息/查资料"时使用。

安装量
3
GitHub Stars
1.3万
最近更新
10月11日
conardli
社区

web-video-presentation

把一篇文章或口播稿,做成"看起来像视频"的点击驱动 16:9 网页演示,可选合成口播音频。流程:原始文章 → 一次产出口播稿 + outline 开发计划 → 用户一次对齐 5 件事(稿子 / outline / 主题 / 素材 / 开发模式)→ 网页开发(逐章 / 顺序 / 并行)→ 可选音频合成(provider-agnostic:内置 MiniMax mmx-cli + OpenAI TTS,可换 ElevenLabs / edge-tts / Azure / 自带 TTS)。outline 只规划节奏与信息密度,不规划动画 —— 动画由章节开发时按 PRINCIPLES + ANTI-AI 法则即时设计。每次点击推进口播稿的一个节拍,每一步独占整屏,进度条平时隐藏只在悬浮时出现。适用场景:用网页做视频(动态 PPT 但不像 PPT)、把口播稿 / 文章变成可交互的解说、为 B 站 / YouTube / 视频号录屏教程、做有电影感的产品 / talk demo。本 Skill 沉淀的是设计方法论 + 协作流程 —— 不绑定任何特定样式 / 字体 / 颜色 —— 因此能复用到任意

安装量
2
GitHub Stars
1.3万
最近更新
10月11日