关于 studio-setup
studio-setup 是用于准备创作者项目的 video-agent 技能,支持脚本撰写和视频剪辑。它检查工具、建立创作者口吻与样式文件、配置渲染引擎,并可设置项目权限及可选账户连接。
主要功能
- 01检查所需工具及版本
- 02创建创作者口吻文件
- 03配置默认剪辑样式
- 04设置渲染引擎
- 05配置命令权限
适用场景
- 01为视频剪辑准备项目
- 02整理创作者的脚本表达方式
- 03为后续剪辑设定默认外观
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ melvynx/ video-agent-skills --skill studio-setup安装后在 Claude Code 中输入/studio-setup确认已加载。
附带文件references/voice-template.md
详细介绍
工作室设置
约 15 分钟,只需设置一次。完成后,创作者将拥有:
- 已安装并检查完毕的其他技能会调用的工具,
video-agent/voice.md:他们是谁、说话方式、信念以及能够证明的事。每个脚本都以此为依据撰写,video-agent/styles/default/style.json:基于分屏纸张布局的个人风格(颜色、字体、字幕、纸张、节奏、声音、Instagram CTA),并包含他们提及的工具的真实徽标。每次剪辑都会使用此配置,- 已就绪的渲染引擎(Chrome、whisper.cpp、音乐底轨),因此可以立即开始第一次剪辑,
- 权限规则,让 Claude 可以运行 ffmpeg、yt-dlp 和引擎,无需每次都询问,
- 如有需要:通过 Treg 连接他们的账号(审计和发布),并配置翻译和图像所需的密钥。
如何运行
- 使用创作者的语言交流。用简单的词,不要用行话。
- 每条消息只问一个问题。尽可能提供选项,并把推荐选项放在首位。
- 绝不编造任何关于他们的信息:不知道的事实就变成问题或
{{placeholder}}。
1. 工具
运行检查,并为每个工具显示一行(✓ 版本,或 ✗ 缺失):
node -v
ffmpeg -version
yt-dlp --version
deno --version
git --version
| 工具 | 用途 | macOS | Windows | Linux |
|---|---|---|---|---|
| Node 20+(推荐 22 LTS) | short-editing(渲染引擎) | brew install node | winget install OpenJS.NodeJS.LTS | nodejs.org 或你的包管理器 |
| ffmpeg | short-editing、steal、clips、short-translate、publish | brew install ffmpeg | winget install Gyan.FFmpeg | sudo apt install ffmpeg |
| yt-dlp | studio-script viral、steal、clips、从视频生成 voice.md | brew install yt-dlp | winget install yt-dlp.yt-dlp | pipx install "yt-dlp[default]" |
| deno | 在 YouTube 上使用 yt-dlp(需要 JavaScript 运行时) | 随 yt-dlp 一起提供 | winget install DenoLand.Deno | curl -fsSL https://deno.land/install.sh | sh |
| git | 安装技能 | xcode-select --install | winget install Git.Git | sudo apt install git |
| Codex(可选) | codex-images | npm i -g @openai/codex,然后运行 codex login | 相同 | 相同 |
提供缺少工具的安装命令,让他们自行运行(或在他们提出时由你代为运行)。仅用于脚本编写的用户(包括使用 viral 模式的 studio-script)只需要 yt-dlp 和 deno。Codex 仅供 /codex-images 使用,且需要 ChatGPT 套餐;如果他们不需要图像,就跳过。
- Windows:运行
winget后,关闭并重新打开终端(以及 Claude Code),否则系统将找不到新命令。 - YouTube 经常变化。如果 yt-dlp 无法处理一个能在浏览器中播放的链接,请先更新它(
brew upgrade yt-dlp、winget upgrade yt-dlp.yt-dlp、pipx upgrade yt-dlp)。
2. 文件夹
在当前项目的根目录创建:
video-agent/
├── voice.md who they are and how they talk (step 4)
├── swipe.md hooks that worked in their niche (`/studio-script viral`)
├── audit.md what works on their own Instagram (insta-audit)
├── audits/ full Instagram reports, one folder per account and run (insta-audit @handle)
├── log.md one line per script written, so nothing repeats
├── scripts/ one file per week (studio-script)
├── takes/ raw recordings (phone, camera, webcam, screen)
├── style.json {"default": "default"}: the style every edit uses (step 5)
├── styles/ default/ (their look, step 5), and styles copied from other creators (steal)
├── edits/ one folder per edited video (short-editing): source/spec.js, output/<name>.mp4 + post.md, cover.jpg, published.md
├── repurpose/ one plan per long video (clips)
├── images/ generated images not tied to a video (codex-images)
├── .env their API keys, never shared (step 7)
└── .tmp/ scratch files, deleted after each run
log.md 以 # Script log 开头,swipe.md 以 # Swipe file 开头。
如果项目使用 git,请将以下行添加到其 .gitignore 中(视频文件很大;文本文件仍由 git 跟踪):
video-agent/takes/
video-agent/edits/**/*.mp4
video-agent/edits/**/assets/
video-agent/edits/**/stills/
.claude/skills/short-editing/.runtime/
.claude/skills/short-editing/engine/node_modules/
video-agent/.tmp/
video-agent/.env
video-agent/.env 存放密钥:即使他们跳过其余步骤,也必须将它加入忽略列表。
3. 引擎
渲染引擎随 short-editing 技能一起提供(<skill> = 该技能的文件夹,例如 .claude/skills/short-editing)。首次设置时会安装引擎软件包(15 MB)、在未安装 Chrome 时安装 Chromium(100 MB)、安装 whisper.cpp 及其语音模型(0.5 GB),并获取 8 条音乐底轨:整个过程需要 3 到 6 分钟,只需执行一次。询问:现在设置(如果他们很快要剪辑,推荐此选项;并且这样第 5 步就能在他们自己的素材上展示个人风格),还是稍后设置(short-editing 首次运行时会执行)。仅供 short-editing、clips 和 short-translate 使用;仅用于脚本编写的用户可跳过。
node <skill>/engine/setup.mjs --check || node <skill>/engine/setup.mjs
开始前,说明正在下载的内容及其大小。如果缺少 ffmpeg:程序会打印安装命令。
4. voice.md
先设置文件顶部的内容:录制时使用的语言(品牌颜色会在第 5 步询问)。然后询问如何构建其余内容:
- 根据他们的视频(适用于之前发布过视频的人,推荐此方式):提供 3 到 5 个表现最好的口播视频链接(YouTube、Shorts、TikTok、Instagram reels)。提取转录文本(
<lang>= 他们的语言代码:en、fr、es):
阅读这些文本,并根据他们实际说的话填写模板:他们常用的真实短语、语速(词数 ÷ 讲话分钟数)、反复使用的词语,以及开场和结尾的方式。然后只询问转录文本无法体现的内容(立场、佐证、禁区、行动号召)。之后删除yt-dlp --skip-download --write-auto-subs --write-subs --sub-langs "<lang>.*" --sub-format vtt -o "video-agent/.tmp/%(id)s.%(ext)s" "<url>"video-agent/.tmp/。 YouTube 链接几乎总能获取转录文本。TikTok 有时可以,Instagram 几乎不行:遇到这种情况,请他们提供 YouTube 链接,或改用访谈方式。 - 通过访谈:用通俗的话逐个提问模板中的问题(“你认为所在领域的大多数人都弄错了什么?”)。
无论采用哪种方式,都请他们粘贴 3 段由自己撰写、未经过任何 AI 工具处理的简短文字(例如一条配文、一条消息、一封邮件)。将它们放入“真实样本”,让脚本学习他们的表达节奏。
根据 references/voice-template.md 编写 video-agent/voice.md。然后用 5 行向他们复述文件内容,并询问有哪些不对。语气文件永远不会彻底定稿:告诉他们可以随时运行 /studio-setup voice 来更新。
5. 风格
五分钟。每次编辑都采用相同的完整布局:分屏纸张风格——摄像头卡片上方是纹理纸上的板块;在分屏、纯纸张和全屏摄像头之间硬切换;字幕位于接缝处;CTA 使用评论纸样式(style.md)。这一步会让风格变得独具特色:video-agent/styles/default/style.json。格式和五种经过测试的风格见 looks.md;所有键见 style-schema.md。请先阅读两者。
开始前用一句话说明:“默认风格已经很完整;我会问 7 个简短问题来调整成你的风格,然后用你自己的视频展示效果。”接着每条消息只问一个问题,提供选项并把推荐选项放在最前;他们也可以随时回答“默认”或“跳过”。根据 voice.md 中已有的信息(领域、语气、行动号召)选择推荐项,并跳过其中已经回答过的问题。
- 外观:逐行展示
<skill>/assets/looks.json中的五种外观(label+says):default(极简:系统字体,摄像画面全宽,缝合处黑色横条上的等宽大写字幕,推荐)、classique(贴纸字幕)、papier(带边框的摄像照片,所说的词显示在色块上)、pop(播客、观点)、poster(节奏快、硬切)。所选外观的style补丁是文件的开头。 - 强调色:询问“你的品牌色是什么?可以提供十六进制代码,也可以用文字描述颜色。”如果他们说出一种颜色:将其转换为十六进制代码 →
colors.accent。如果没有:保留该外观的颜色。强调色会标记强调词、字幕块和数字,因此必须醒目(不能是柔和的粉彩色)。 - 字体:询问“保留系统字体(Mac 上的 San Francisco;Windows 上的 Segoe UI,推荐),还是使用 Bricolage Grotesque(现代、紧凑)、Poppins(圆润、友好)、Archivo(厚重、紧凑)或 Inter(中性)?”系统字体为
system-ui, -apple-system, Segoe UI, Helvetica Neue, Arial, sans-serif。→font.family、display.font/display.text。如果他们有自己的字体文件:将其复制到styles/default/assets/fonts/,并设置font.src。 - 字幕:询问“横条:缝合处黑色圆角横条上的等宽大写白字,每次显示 3 个词(
band+ JetBrains Mono,推荐);极简:视频上的白色字幕,所说的词逐个出现(rise+block: false+straddle+straddleDy: 90);所说的词显示在色块上(rise);硬阴影(hard);还是贴纸?”接着询问“正常大小,还是更大?”(更大 =captions.size96)。大写 =captions.upper: true。 - 节奏:询问“快速(1.15x,默认)、舒缓(1.05x)还是自然(1x)?”→
pace.speed。 - Instagram 行动号召:询问“你的 Instagram 用户名,以及你希望人们评论的词(GUIDE、LINK、产品名称)?”→
creator.handle、creator.name,并在notes中添加备注"Comment word: <WORD>"。此外,根据 voice.md 设置creator.lang(录制语言)和creator.niche。 - 视频中会提到的工具:询问“你的视频里最常提到哪些应用或工具?”最多 8 个。每个工具都要获取真实徽标(looks.md 中的 “Logos”),并将其保存为
video-agent/styles/default/assets/logos/<tool>.png。如果无法确定某个徽标:向他们索要文件,绝不要绘制相似图案。
写入 video-agent/styles/default/style.json("version": 1、"name"、外观的补丁,然后是他们的回答;只保留与引擎默认值不同的键),并将 video-agent/style.json 设为 {"default": "default"}。检查文件能否解析:node -e 'JSON.parse(require("fs").readFileSync("video-agent/styles/default/style.json","utf8"))'。
预览:引擎已完成设置(步骤 3),且 video-agent/takes/ 中已有时长至少为 10 s 的录制素材时:
node <skill>/engine/short.mjs init video-agent/edits/short-style-test --source "<take>"
然后在其 source/spec.js 中添加一个板块,范围在素材第 1 到第 4 秒左右(一个包含他们强调色的 text、以及他们提到的第一个工具的 logo;参见 scene-library.md),并运行:
node <skill>/engine/short.mjs words video-agent/edits/short-style-test
node <skill>/engine/short.mjs prepare video-agent/edits/short-style-test
node <skill>/engine/short.mjs stills video-agent/edits/short-style-test 0.5,2,5
先自行查看 stills/ 中的 JPG:强调色在纸面上是否清晰可读,白色字幕在色块上是否清晰可读,徽标是否清晰,边缘是否有内容被裁切。修复所有问题,然后展示给他们并询问:“保留,还是改一处?”如果要修改:编辑 style.json,再运行一次 init(它会对样式进行快照),生成新的静帧。之后删除 short-style-test。如果还没有录制素材:用 3 行描述外观,第一次剪辑会展示效果。
他们可以随时运行 /studio-setup style 来更改样式。通过 /steal 复制的创作者样式会放在旁边(video-agent/styles/<name>/),并通过 /short-editing <take> style <name> 使用。
6. 权限
其他技能会反复运行同几条命令。请为此项目预先批准这些命令。展示规则并征求同意,然后将它们合并到 .claude/settings.json。如果文件不存在,则创建该文件。保留其中已有的所有键和值规则,绝不删除任何内容。
{
"permissions": {
"allow": [
"Bash(yt-dlp *)",
"Bash(ffmpeg *)",
"Bash(ffprobe *)",
"Bash(node .claude/skills/short-editing/engine/*)"
]
}
}
- 仅限这些规则。绝不添加
Bash(*)、Bash(rm *)、Bash(curl *),或针对整个解释器的规则(Bash(node *)、Bash(python *))。 - 共享的
settings.json中的规则在文件夹受信任后生效。如果创建者将此项目保存在 git 中且不想共享这些规则,可以改用.claude/settings.local.json(格式相同,仅个人使用)。 - 每项技能也会在自己的
allowed-tools中列出命令,这些命令适用于该技能运行的回合。这些规则则适用于其他所有回合。
7. 账号和密钥(可选)
有三项内容,只有在他们需要相应技能时才需要。一次询问,并在一条消息中问完:
| 用途 | 内容 | 费用 |
|---|---|---|
/insta-audit 和 /publish | Treg,并连接他们的 Instagram、TikTok 和 YouTube 账号 | 使用自己的账号免费 |
在 /short-editing 中获取精确转录(听出每次重录和说错后重来的部分,以便剪掉)、/short-translate、/steal 中人声下方的音乐音量(音效随包提供,无需密钥) | ElevenLabs API 密钥(推荐) | 他们的 ElevenLabs 套餐费用 |
/codex-images | 使用他们的 ChatGPT 账号登录 Codex | 他们的 ChatGPT 套餐费用 |
ElevenLabs:让他们在 elevenlabs.io/app/settings/api-keys 创建密钥,并自行将其粘贴到 video-agent/.env 中,格式为 ELEVENLABS_API_KEY=...(创建空文件并为他们打开)。绝不要在聊天中索要密钥。检查密钥是否存在,但不要打印出来:grep -c ELEVENLABS_API_KEY video-agent/.env。
Codex:运行 codex --version,然后让他们运行 codex login(在浏览器中选择“Sign in with ChatGPT”)。
Treg
yt-dlp 可免费读取 YouTube。TikTok 和 Instagram 会向脚本隐藏数据,创作者自己的数据则需要登录才能查看;发布内容也需要他们的账号。Treg 填补了这一空白:连接自己的账号一次,即可免费查看数据并发布内容;查询其他创作者的公开数据,每次调用约 $0.001。新注册且通过验证的账号会获得一次性 $1.00 额度,足够调用数百次。
有两种接入方式:
- CLI,适用于 macOS 和 Linux。需要 uv(推荐,它会获取合适的 Python),或需要 pipx,或需要搭配 Python 3.12 或 3.13 的 pip。没有适用于 Windows 的安装程序。
curl -fsSL https://treg.to/install.sh | sh treg logintreg login会打开浏览器(使用 GitHub、Google 或邮箱验证码登录)。 - MCP,适用于任何操作系统,无需安装:运行
claude mcp add --transport http treg https://treg.to/mcp/,然后运行/mcp登录。下文中的每个treg catalog search、catalog get、call和balance命令,都会对应为 MCP 工具catalog_search、catalog_get、call或balance。
他们自己的账号(连接账号需要 CLI)。--capability post 会请求读取数据和发布内容的权限;每条视频仍需他们逐条同意后才能发布:
treg connections connect --provider instagram --capability post
treg connections connect --provider tiktok --capability post
treg connections connect --provider youtube --capability post
treg connections ls
每个 connect 都会打开平台自己的登录页面;他们需要在那里批准连接。只连接他们会发布内容的平台。Instagram 需要专业账号(Creator 或 Business,可在应用中免费切换:个人主页 → 菜单 → 账号类型和工具)。Treg 会将提示输出到 stderr:读取其 JSON 时添加 2>/dev/null。
连接 Instagram 后:立即推荐使用 /insta-audit,这是了解哪些内容对他们有效的最佳起点。
每次 Treg 调用的方式,适用于所有技能:
treg catalog search "<what you want to do>":描述要完成的任务,而不是供应商(“列出某个 TikTok 账号的视频及其观看次数”)。treg catalog get <id>:查看参数和价格。调用前先告知价格。他们自己已连接的账号会标记为免费。treg call <id> --query key=value。调用失败不会收费。treg balance会显示剩余额度;402 错误表示余额已用尽。
权限:只添加免费的只读命令,这样每次付费的 treg call 仍会先征求同意:
"Bash(treg catalog *)",
"Bash(treg balance)",
"Bash(treg connections ls)"
8. 收尾
展示已准备就绪的项目(✓ 或已跳过,每项一行)以及后续步骤。他们也可以直接输入 /editing <what they want>:它会选择合适的技能。
最快制作出第一条视频的方法:用手机、相机或网络摄像头录制一个镜头,保存到 video-agent/takes/<slug>.mp4,然后运行 /short-editing。之后,他们想做更多内容时:
/studio-script:本周的脚本,先写钩子,再进行人性化处理(先运行/studio-script viral,了解他们所在细分领域中有效的做法)。/insta-audit:了解他们自己的 Instagram 上哪些内容有效(填写 audit.md)。/outliers:找出竞争对手中爆火的 Reels,并将其转化为 5 个可供录制的脚本。/short-editing:制作符合他们风格的短视频(竖屏)或完整 YouTube 视频(横屏)。/broll:将他们自己的 B-roll 片段整理成素材库,并放入剪辑作品中。/steal:将他们喜欢的创作者的 Reels 转换为第二种风格。/clips:将长视频剪辑成完成的短视频。/short-translate:用另一种语言、以他们的口吻呈现一段录制内容。/codex-images:制作缩略图、封面和片尾卡。/vox:将照片制作成纸张拼贴动画。/publish:发布到 YouTube、Instagram 和 TikTok。
后续
/studio-setup <part> 可直接跳转到某个部分:tools、engine、voice(重建或更新 voice.md)、style(他们的外观、声音、CTA、工具徽标、徽标、片尾卡)、permissions、treg、keys。