Communitygithub.com

effects-skill

对纵向人脸摄像头片段应用36种视频特效(如头部后方霓虹文字、杂志封面、围绕人物旋转的Reels、玻璃小部件、渲染清单、层级列表、故障特效等),并通过Remotion以4K分辨率渲染。当用户输入 /effects、附上自拍/摄像头视频并请求特效、编辑或“Reels特效”,或希望查看特效列表时使用。

effects-skill 是什么?

effects-skill 是一个AI代理技能,专为处理垂直人脸摄像头视频并应用36种预设视频特效而设计。它运行在 Claude Code、Cursor 或任何支持技能调用的AI代理平台上。用户通过 `/effects` 命令并附上一个9:16的垂直视频片段来触发该技能。该技能首先执行一次安装检查(`node effects.mjs doctor`),若发现问题则运行 `setup.sh` 安装必要的依赖(如FFmpeg、Chrome等)。然后,它通过运行 `node effects.mjs list` 让用户选择一个特效,或直接接受命令行参数中的特效名称。接着,技能会创建并维护一个 `profile.json` 文件,存储用户的名字、昵称和主题色,以便后续重复使用。渲染流程通过 `node effects.mjs render` 命令执行,该命令输出一个包含5个步骤(人脸检测、背景抠除、文字放置、色彩校正、4K渲染)的进度清单。技能支持多种选项,如 `--hd`(1080p)、`--start`/`--seconds` 裁剪片段、`--fast` 快速抠图、`--images` 提供截图用于轨道特效、以及 `--props` 传递JSON配置。对于标记为 ✂ 的耗时特效,技能会建议先运行一个快速预演(`node effects.mjs still`)再决定是否渲染完整视频。最终输出是一个2160×3840的MP4文件,与原始片段放在同一目录。如果用户请求查看所有特效,可以运行 `node effects.mjs sheet` 生成一张包含全部36个特效帧的预览图片。此外,技能支持法语(默认)和其他用户语言回复,并缓存工作文件以加速重复渲染。

兼容平台✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/Dryxio/effects-skill/tree/main

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

/effects

参数:$ARGUMENTS

所有操作均在此技能的文件夹(包含此文件的文件夹,通常为 ~/.claude/skills/effects)中运行。将其称为 SKILL_DIR。以用户的语言回复用户(默认为法语)。

1. 确保已安装

运行 node SKILL_DIR/scripts/effects.mjs doctor。如果显示任何 ✗,告知用户这是一次性安装(3-10分钟,下载约1-2 GB),并在后台运行 bash SKILL_DIR/setup.sh,然后再次运行 doctor。如果 doctor 提示没有显卡,则警告标有 ✂ 的特效会很慢(每张图像约15秒),并建议使用 --seconds 5 或 --fast。

2. 收集所需内容

  • 视频片段:用户附件或指定的视频(最适合纵向9:16人脸摄像头;任何格式都会裁剪为1080×1920)。如果没有,请要求提供。切勿虚构路径。
  • 特效:第一个参数。如果缺失或未知,运行 node SKILL_DIR/scripts/effects.mjs list,显示列表并要求选择。"all" / "toutes" / "aperçu" → 运行 sheet 命令(步骤4)。
  • 用户资料:如果 SKILL_DIR/profile.json 不存在,询问一次用户的名字或品牌以及 @,然后写入: {"name": "Salim", "handle": "@salim", "accent": "#ff2d87"}(accent 可选)。此后每次重复使用。
  • 文本:如果用户提供了文字则使用,否则使用默认值。每个特效读取哪些选项见下方表格。

3. 渲染,并显示清单

创建一个包含以下5个步骤的任务列表,当脚本打印 ✓ n/5 行时勾选它们:

  1. 找到人脸
  2. 抠除背景
  3. 文字放置在你身后
  4. 色彩校正
  5. 4K渲染
node SKILL_DIR/scripts/effects.mjs render <特效> "<片段>" [选项]

如果耗时较长(标有 ✂ 的特效在有显卡的情况下每张图像约需1秒,因此10秒视频约需2-3分钟),则在后台运行,并转发进度行。输出文件位于片段旁边,命名为 <片段>-<特效>.mp4(2160×3840)。向用户提供该路径。

有用的选项:

选项效果
--hd1080p而不是4K,速度快一倍
--start 3 --seconds 8仅保留片段的一部分
--smooth以30fps而非15fps进行抠图(耗时加倍,快速运动时更平滑)
--fast快速但粗糙的抠图(头发周围残留部分背景)
--images <文件夹>用于轨道、手机扇、资料墙、层级列表的Reels截图
--grade warm|cool|bw|none色彩校正(默认 warm)
--accent "#00c2ff"主色
--props '{"notes":["…"]}'任何其他属性(JSON)

在长时间渲染 ✂ 特效之前,如果用户的文本较长或异常,请先运行一个预演(约30秒)并查看:

node SKILL_DIR/scripts/effects.mjs still <特效> "<片段>" [相同选项]

4. 在片段上查看所有36个特效

node SKILL_DIR/scripts/effects.mjs sheet "<片段>" [--name … --handle …]

它会生成 <片段>-36-effets.jpg(每个特效一帧)。向用户展示以便选择。

每个特效读取的文本

在 --headline 或 --title 中使用 *星号* 包裹单词可为其着色。\n 表示换行。

特效读取的选项(默认值在括号中)
glass-widgets--name --handle --followers [71K],--props '{"chart":{"values":[…],"labels":[…],"unit":"K"}}'
documentary ✂--headline ["UN *CLIP.*\n36 EFFETS.\n*ZÉRO* APP."] --name --handle --kicker --word(幽灵文本)
orbit ✂--images
kallaway-split--props '{"chart":{"title":"Mes 7 meilleurs reels\npar *vues*","values":[615,353,…],"labels":["Reel 1",…],"unit":"K"}}'
spotlight ✂--word [CLAUDIT](一个短词效果最佳)
checklist--props '{"steps":[["找到人脸","每一帧"],…]}'(5对)
timeline--title ["Claude *le monte*"] --headline(芯片)
lineup--title
shortcut-rain无
red-collage ✂--headline --word(背景文字)
comment-box--comment ["claude 🔥"] --handle
cover-star ✂--name(巨大标题)--headline --handle
headline-wall--props '{"notes":["…","…","…","…"]}'
phone-fan--word [我的Reels] --handle --images
rabbit-hole无
profile-wall--handle --name --followers --images
noise无
the-bill--name --handle
split-headline--title ["Claude *monta* meus reels."](带星号的单词会高亮)
pastel-word ✂--word [REELS]
tier-list--title --images
polaroid--title(说明文字,默认使用名字)
filmstrip无
comic-book--word [BOUM]
glitch--word [GLITCH]
duotone--word [FOCUS] --accent
scanline--title
cinema--kicker [第一章] --title(副标题)
breaking-news--headline --word --name --handle
quote-card--title(引文)--name --handle
countdown--accent
progress-ring--word [已观看] --handle
emoji-burst无
neon-frame--word [直播] --accent
typewriter--title 或 --headline
zoom-punch--title(每个冲击一个词)

如果出现问题

  • 片段未找到:检查路径,如果包含空格请用引号括起来。
  • 字体来自Google Fonts,Remotion在首次渲染时会下载无头Chrome:两者都需要互联网。
  • 对于标有 ✂ 的特效,如果人物几乎不可见或有多人:抠图会保留它看到的所有人物。请告知用户。
  • 准备好的文件缓存在 SKILL_DIR/.work/ 中(每个片段一个文件夹)。可随时删除以释放空间。

相关技能