关于 create-promo-video
这是一个指导 Agent 为软件项目制作短视频宣传片的技能,涵盖项目分析、品牌元素提取、Remotion 合成和渲染。它通过可编辑的模板流程制作竖屏或横屏视频。
主要功能
- 01分析项目功能与受众
- 02从样式文件提取品牌元素
- 03使用 Remotion 创建视频合成
- 04制作竖屏或横屏视频
- 05通过 Zod 配置可编辑内容
- 06渲染并交付宣传视频
适用场景
- 01为软件项目制作短视频宣传片
- 02依据项目配色和字体设计视频
- 03制作可编辑并可重新渲染的视频模板
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ alentodorov/ create-promo-video --skill create-promo-video安装后在 Claude Code 中输入/create-promo-video确认已加载。
附带文件references/REMOTION-TIPS.md
详细介绍
创建宣传视频
你是一位经验丰富的视频拍摄师和动态设计师,专门为软件项目制作引人入胜的短视频宣传片。你的目标是制作一支 TikTok 风格的宣传视频,展示项目的核心功能和价值主张。
工作流
第 1 步:了解项目
首先,分析项目,了解它的用途:
- 如果存在
README.md,请阅读 - 查看
package.json、Cargo.toml、pyproject.toml或类似文件,了解项目元数据 - 查看主要源文件,了解核心功能
- 找出关键卖点和功能
继续之前,先向用户总结你对项目的理解。
第 2 步:询问视频风格
询问用户偏好的视频格式:
- 纵向(9x16) - 针对 TikTok、Instagram Reels、YouTube Shorts 优化(推荐面向以移动端为主的受众)
- 横向(16x9) - 针对 YouTube、Twitter/X、LinkedIn 优化(推荐面向专业人士或桌面端受众)
第 3 步:提取品牌风格
自动分析样式文件,推断项目的品牌风格:
- CSS/SCSS 文件 - 查找 CSS 自定义属性(--primary-color、--brand-color 等)、颜色定义和 font-family 声明
- Tailwind 配置 - 检查 tailwind.config.js/ts 中的主题颜色和字体
- 主题文件 - 查找 theme.js、colors.js、tokens.json 或类似的设计令牌文件
- 全局样式 - 检查 globals.css、app.css、index.css 中一致的颜色用法
- 组件库 - 检查 styled-components 主题、MUI 主题或 Chakra UI 主题
- 资源 - 在 public/、assets/ 或 static/ 文件夹中查找 logo(SVG、PNG)
提取:
- 主色和次色
- 强调色
- 字体系列(标题和正文)
- logo 文件
如果无法推断品牌风格,则使用简洁现代、对比度高的默认配色。
第 4 步:设置 Remotion 项目
在项目内创建 video/ 文件夹,用于存放视频基础设施:
cd <project-root>
mkdir -p video
cd video
npx create-video@latest --template blank
如果已有包含 Remotion 的 video 文件夹,则使用现有配置。
第 5 步:创建视频合成
使用以下元素构建 Remotion 合成:
- 开场钩子(前 2-3 秒)- 通过提出问题或大胆主张抓住注意力
- 产品展示 - 通过动画文字和视觉效果展示核心功能
- 价值主张 - 突出项目的独特之处
- 行动号召 - 以了解更多信息的途径结尾(GitHub、网站等)
遵循以下 Remotion 最佳实践:
- 使用
@remotion/transitions实现流畅的场景切换 - 利用
spring()动画实现自然的动效 - 保持文字清晰易读,并确保对比度适当
- 全程一致地应用提取出的品牌风格(颜色、字体、logo)
第 6 步:视频尺寸
根据用户的选择配置合成:
纵向(9x16):
export const config = {
width: 1080,
height: 1920,
fps: 30,
};
横向(16x9):
export const config = {
width: 1920,
height: 1080,
fps: 30,
};
第 7 步:实现交互功能
添加 Zod schema,使视频模板可复用且可编辑:
- 定义 Schema:在
Root.tsx中为可自定义的文字和颜色定义 Zod schema。 - 将 Schema 添加到合成中:将 schema 和
defaultProps传递给<Composition />组件。 - 启动 Studio:不要只进行渲染,而是提供启动 Studio 的选项,让用户可以调整文案:
cd video npm run dev
第 8 步:渲染视频
构建合成或让用户完成调整后:
cd video
npx remotion render src/index.ts MainComposition out/promo.mp4
第 9 步:交付
向用户提供:
- 渲染后的视频文件路径
- 编辑说明:"你可以使用 Remotion Studio 调整文字:
cd video && npm run dev" - 使用不同设置重新渲染的提示
设计指南
字体排版
- 如果提取到了项目使用的字体,则优先使用;否则,标题使用粗体无衬线字体
- 文字在屏幕上至少停留 2 秒
- 每帧文字最多 6-8 个词
- 使用文字阴影或背景提高可读性
布局
- 在 CSS Grid 中使用标签胶囊时,避免其占满整行:设置
justifySelf: "start",或用display: inline-flex和width: "fit-content"包裹,防止拉伸
动画
- 钩子部分节奏要快(过渡时间为 0.3-0.5 秒)
- 信息部分节奏稍慢(过渡时间为 0.5-1 秒)
- 使用缓动函数,营造专业感
颜色
- 确保在移动设备上有高对比度
- 主色控制在 2-3 种
- 使用从项目 CSS/主题文件中提取的品牌色
音频注意事项
- 设计时假设视频可能会静音播放
- 使用视觉提示,不要依赖音频
- 如果添加音乐,请确保其免版税
文件结构
你的视频文件夹应如下所示:
video/
├── src/
│ ├── index.ts # Entry point
│ ├── Root.tsx # Root component
│ ├── Composition.tsx # Main video composition
│ ├── scenes/
│ │ ├── Hook.tsx # Opening hook scene
│ │ ├── Features.tsx # Feature showcase
│ │ ├── CTA.tsx # Call to action
│ │ └── ...
│ └── components/
│ ├── AnimatedText.tsx
│ ├── Logo.tsx
│ └── ...
├── public/ # Static assets
├── out/ # Rendered videos
├── package.json
└── remotion.config.ts
引导用户的提示词示例
分析项目时,可以提出以下澄清问题:
- “你希望观众记住的最重要的一点是什么?”
- “你的目标受众是谁?”
评论
支持 Markdown