video-setup
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseVideo Setup
视频设置
Ten minutes, once. At the end the creator has:
- the tools the other skills call, installed and checked,
- : who they are, how they talk, what they believe, what they can prove. Every script is written from it,
video-agent/voice.md - the editing studio ready, so the first edit starts right away,
- permission rules, so Claude can run ffmpeg, yt-dlp and Remotion without asking each time,
- if they want: their accounts connected through Treg (audit and publishing), and the keys for translation and images.
只需一次,十分钟。完成后,创作者将拥有:
- 其他 skill 会调用的工具,且已完成安装与检查,
- :记录他们是谁、如何表达、相信什么以及能够证明什么。所有脚本都将据此编写,
video-agent/voice.md - 已准备就绪的剪辑 studio,可以立即开始第一次剪辑,
- 权限规则,让 Claude 无需每次询问即可运行 ffmpeg、yt-dlp 和 Remotion,
- 可选的账户与 key:通过 Treg 连接账户,用于统计和发布,并配置翻译和图像生成所需的 key。
How to run it
如何运行
- Talk in the creator's language. Simple words, no jargon.
- One question per message. Offer choices when you can, recommended first.
- Never invent anything about them: a fact you don't have becomes a question or a .
{{placeholder}}
- 使用创作者的语言交流。使用简单直白的语言,不使用专业术语。
- 每条消息只问一个问题。可以提供选项时,尽量提供选项,并优先推荐最佳选项。
- 绝不编造任何关于创作者的信息:没有依据的事实应转化为问题或 。
{{placeholder}}
1. Tools
1. 工具
Run the checks and show one line per tool (✓ version, or ✗ missing):
bash
node -v
ffmpeg -version
yt-dlp --version
deno --version
git --version| Tool | Used by | macOS | Windows | Linux |
|---|---|---|---|---|
| Node 18+ | video-edit (Remotion) | | | nodejs.org or your package manager |
| ffmpeg | video-edit, video-steal, long-to-short-videos, video-translate, video-publish | | | |
| yt-dlp | video-viral, video-steal, long-to-short-videos, voice.md from videos | | | |
| deno | yt-dlp on YouTube (it needs a JavaScript runtime) | comes with yt-dlp | | |
| git, build tools | video-edit (gets the Remotion template, builds whisper.cpp) | | | |
| Codex (optional) | codex-images | | same | same |
Give the commands for what is missing and let them run them (or run them yourself if they say so). Scripting-only users (video-script, video-viral) only need yt-dlp and deno. Codex is only for and needs a ChatGPT plan; skip it if they don't want images.
/codex-images- Windows: after , close and reopen the terminal (and Claude Code), or the new commands are not found.
winget - YouTube changes often. When yt-dlp fails on a link that plays in the browser, update it first (,
brew upgrade yt-dlp,winget upgrade yt-dlp.yt-dlp).pipx upgrade yt-dlp
运行检查命令,并每个工具显示一行结果(✓ 版本号,或 ✗ 缺失):
bash
node -v
ffmpeg -version
yt-dlp --version
deno --version
git --version| 工具 | 用途 | macOS | Windows | Linux |
|---|---|---|---|---|
| Node 18+ | video-edit(Remotion) | | | nodejs.org 或 package manager |
| ffmpeg | video-edit、video-steal、long-to-short-videos、video-translate、video-publish | | | |
| yt-dlp | video-viral、video-steal、long-to-short-videos、从视频生成 voice.md | | | |
| deno | YouTube 上的 yt-dlp(需要 JavaScript runtime) | 随 yt-dlp 一同安装 | | |
| git、构建工具 | video-edit(获取 Remotion template,构建 whisper.cpp) | | | |
| Codex(可选) | codex-images | | 相同 | 相同 |
给出缺失工具对应的安装命令,并让创作者自行运行;如果他们明确要求,也可以由你代为运行。仅使用脚本类 skill 的用户(video-script、video-viral)只需要 yt-dlp 和 deno。Codex 仅用于 ,并且需要 ChatGPT 套餐;如果他们不需要生成图片,则跳过。
/codex-images- Windows:使用 后,关闭并重新打开终端(以及 Claude Code),否则系统找不到新命令。
winget - YouTube 经常发生变化。如果 yt-dlp 无法处理一个在浏览器中可以正常播放的链接,请先更新它(、
brew upgrade yt-dlp或winget upgrade yt-dlp.yt-dlp)。pipx upgrade yt-dlp
2. The folder
2. 文件夹
Create it at the root of the current project:
text
video-agent/
├── voice.md who they are and how they talk (step 4)
├── swipe.md hooks that worked in their niche (video-viral)
├── audit.md what works on their own Instagram (video-audit)
├── log.md one line per script written, so nothing repeats
├── scripts/ one file per week (video-script)
├── takes/ raw recordings (phone, camera, webcam, screen)
├── edits/ one folder per edited video (video-edit): final.mp4, post.md, cover.jpg, published.md
├── repurpose/ one plan per long video (long-to-short-videos)
├── images/ generated images not tied to a video (codex-images)
├── studio/ the Remotion project (step 3)
├── .env their API keys, never shared (step 6)
└── .tmp/ scratch files, deleted after each runlog.md# Script logswipe.md# Swipe fileIf the project is in git, add these lines to its (videos are heavy; the text files stay tracked):
.gitignoregitignore
video-agent/takes/
video-agent/edits/**/*.mp4
video-agent/studio/public/
video-agent/studio/out/
video-agent/studio/node_modules/
video-agent/studio/whisper.cpp/
video-agent/.tmp/
video-agent/.envvideo-agent/.env在当前项目根目录创建:
text
video-agent/
├── voice.md 他们是谁以及如何表达(第 4 步)
├── swipe.md 其细分领域中有效的 hooks(video-viral)
├── audit.md 自己的 Instagram 上哪些内容有效(video-audit)
├── log.md 每编写一个脚本记录一行,避免重复
├── scripts/ 每周一个文件(video-script)
├── takes/ 原始录制文件(手机、摄像机、摄像头、屏幕录制)
├── edits/ 每个剪辑后视频一个文件夹(video-edit):final.mp4、post.md、cover.jpg、published.md
├── repurpose/ 每个长视频一个改编方案(long-to-short-videos)
├── images/ 与具体视频无关的生成图像(codex-images)
├── studio/ Remotion 项目(第 3 步)
├── .env 他们的 API key,绝不共享(第 6 步)
└── .tmp/ 临时文件,每次运行后删除log.md# Script logswipe.md# Swipe file如果项目使用 git,请将以下内容添加到项目的 中(视频文件很大;文本文件仍保留在版本控制中):
.gitignoregitignore
video-agent/takes/
video-agent/edits/**/*.mp4
video-agent/studio/public/
video-agent/studio/out/
video-agent/studio/node_modules/
video-agent/studio/whisper.cpp/
video-agent/.tmp/
video-agent/.envvideo-agent/.env3. The studio
3. studio
The editing studio (Remotion, whisper.cpp for the captions, a speech model) takes 5 to 15 minutes and about 2 GB to set up. Ask: now (recommended if they will edit soon, the first edit then starts right away), or later (video-edit does it the first time it runs).
Now: run step 2 of ("The studio"), including the and compositions and the check. Say what is downloading and how big before starting. Only for video-edit, long-to-short-videos and video-translate; scripting-only users skip it.
video-editShortWidenpx tsc --noEmit剪辑 studio(Remotion、用于生成字幕的 whisper.cpp 和一个语音模型)需要 5 到 15 分钟及约 2 GB 的安装空间。询问:现在安装(推荐,如果他们很快就要剪辑,这样第一次剪辑可以立即开始),还是以后再装(video-edit 首次运行时会自动完成)。
现在安装:运行 的第 2 步(“studio”),包括 和 compositions,以及 检查。开始前说明正在下载的内容及其大小。此步骤仅适用于 video-edit、long-to-short-videos 和 video-translate;仅使用脚本类 skill 的用户可跳过。
video-editShortWidenpx tsc --noEmit4. voice.md
4. voice.md
First the two settings at the top of the file: the language they record in, and their brand color (the accent of captions and cards; default , a yellow that reads on any footage). Then ask how to build the rest:
#FFD400- From their videos (recommended when they have posted before): 3 to 5 links of their best talking videos (YouTube, Shorts, TikTok, Instagram reels). Pull the transcripts (= their language code:
<lang>,en,fr):esRead them and fill the template from what they actually say: their real phrases, their pace (words ÷ minutes of speech), the words they repeat, the way they open and close. Then ask only what the transcripts can't tell (positions, proof, off limits, the ask). Deletebashyt-dlp --skip-download --write-auto-subs --write-subs --sub-langs "<lang>.*" --sub-format vtt -o "video-agent/.tmp/%(id)s.%(ext)s" "<url>"after. YouTube links almost always give a transcript. TikTok sometimes does, Instagram almost never: for those, ask for a YouTube link or switch to the interview.video-agent/.tmp/ - From an interview: ask the template's questions one at a time, in plain words ("What do you believe that most people in your niche get wrong?").
Either way, ask them to paste 3 short texts they wrote themselves, before any AI tool (a caption, a message, an email). They go in "Real samples" and teach the scripts their rhythm.
Write from references/voice-template.md. Then read it back to them in 5 lines and ask what is wrong. A voice file is never finished: say they can run any time to update it.
video-agent/voice.md/video-setup voice先设置文件顶部的两个选项:创作者录制时使用的语言,以及品牌颜色(字幕和卡片的强调色;默认为 ,这种黄色在任何画面上都清晰醒目)。然后询问其余内容的构建方式:
#FFD400- 来自他们的视频(推荐用于此前发布过内容的创作者):提供 3 到 5 个最佳口播视频链接(YouTube、Shorts、TikTok、Instagram Reels)。提取转录文本(= 他们的语言代码:
<lang>、en、fr):es阅读这些转录文本,并根据他们实际使用的表达填写模板:真实措辞、语速(词数 ÷ 讲话分钟数)、经常重复的词,以及开场和收尾方式。然后只追问转录文本无法说明的信息(立场、证明材料、禁忌事项,以及希望受众采取的行动)。完成后删除bashyt-dlp --skip-download --write-auto-subs --write-subs --sub-langs "<lang>.*" --sub-format vtt -o "video-agent/.tmp/%(id)s.%(ext)s" "<url>"。 YouTube 链接几乎总能提供转录文本。TikTok 有时可以,Instagram 几乎不行:对于这些平台,请要求创作者提供 YouTube 链接,或改用访谈方式。video-agent/.tmp/ - 通过访谈获取:用通俗易懂的语言逐个询问模板中的问题(“在你的细分领域中,大多数人都理解错了什么?”)。
无论采用哪种方式,都请创作者粘贴 3 段在未使用任何 AI 工具前亲自撰写的短文本,例如字幕、消息或邮件。这些内容会进入“真实样本”(Real samples)部分,让脚本掌握他们的表达节奏。
根据 references/voice-template.md 编写 。然后用 5 行内容读给他们听,并询问哪里有问题。voice 文件永远需要持续迭代:说明他们可以随时运行 进行更新。
video-agent/voice.md/video-setup voice5. Permissions
5. 权限
The other skills run the same few commands again and again. Pre-approve them for this project. Show the rules, ask, then merge them into . Create the file if it is missing. Keep every key and rule already there, and never remove anything.
.claude/settings.jsonjson
{
"permissions": {
"allow": [
"Bash(yt-dlp *)",
"Bash(ffmpeg *)",
"Bash(ffprobe *)",
"Bash(npx remotion *)",
"Bash(node sub.mjs *)"
]
}
}- Only these. Never add ,
Bash(*),Bash(rm *)or a rule for a whole interpreter (Bash(curl *),Bash(node *)).Bash(python *) - Rules in the shared apply once the folder is trusted. A creator who keeps this project in git and doesn't want to share the rules can use
settings.jsoninstead (same format, personal)..claude/settings.local.json - Each skill also lists its own commands in its , which covers the turn the skill runs in. These rules cover every other turn.
allowed-tools
其他 skill 会反复运行相同的几条命令。为此项目预先批准这些命令。展示规则、征求同意,然后将其合并到 中。如果文件不存在,则创建它。保留其中已有的每个 key 和规则,绝不删除任何内容。
.claude/settings.jsonjson
{
"permissions": {
"allow": [
"Bash(yt-dlp *)",
"Bash(ffmpeg *)",
"Bash(ffprobe *)",
"Bash(npx remotion *)",
"Bash(node sub.mjs *)"
]
}
}- 仅允许这些规则。绝不添加 、
Bash(*)、Bash(rm *),也不要添加针对整个 interpreter 的规则(如Bash(curl *)或Bash(node *))。Bash(python *) - 共享 中的规则会在文件夹被信任后生效。如果创作者希望将项目保留在 git 中但不想共享这些规则,可以改用
settings.json(格式相同,属于个人配置)。.claude/settings.local.json - 每个 skill 还会在其 中列出自己的命令,这仅覆盖该 skill 运行所在的当前轮次。这些规则则覆盖所有其他轮次。
allowed-tools
6. Accounts and keys (optional)
6. 账户与 key(可选)
Three things, each only if they want the skill that needs it. Ask once, in one message:
| For | What | Cost |
|---|---|---|
| Treg, with their Instagram, TikTok and YouTube connected | free on their own accounts |
| an ElevenLabs API key | their ElevenLabs plan |
| Codex logged in with their ChatGPT account | their ChatGPT plan |
ElevenLabs: they create a key at elevenlabs.io/app/settings/api-keys and paste it themselves into as (create the empty file and open it for them). Never ask for a key in the chat. Check it is there without printing it: .
video-agent/.envELEVENLABS_API_KEY=...grep -c ELEVENLABS_API_KEY video-agent/.envCodex: , then they run (browser, "Sign in with ChatGPT").
codex --versioncodex login共有三项配置,仅在创作者需要相应 skill 时才进行。一次性用一条消息询问:
| 用途 | 配置内容 | 费用 |
|---|---|---|
| Treg,并连接他们的 Instagram、TikTok 和 YouTube | 使用自有账户免费 |
| ElevenLabs API key | 他们的 ElevenLabs 套餐 |
| Codex,使用他们的 ChatGPT 账户登录 | 他们的 ChatGPT 套餐 |
ElevenLabs:他们自行在 elevenlabs.io/app/settings/api-keys 创建 key,并将其粘贴到 ,格式为 (创建空文件并替他们打开)。绝不要在聊天中索要 key。检查 key 是否存在,但不要打印它:。
video-agent/.envELEVENLABS_API_KEY=...grep -c ELEVENLABS_API_KEY video-agent/.envCodex:运行 ,然后由他们执行 (在浏览器中选择“Sign in with ChatGPT”)。
codex --versioncodex loginTreg
Treg
yt-dlp reads YouTube for free. TikTok and Instagram hide their numbers from scripts, a creator's own stats sit behind their login, and posting needs their accounts. Treg fills that gap: their own accounts connected once (stats and publishing, free), other creators' public numbers for about $0.001 a call. New verified accounts get $1.00 of credit once, enough for hundreds of calls.
Two ways to plug it in:
- CLI, macOS and Linux. It needs uv (recommended, it fetches the right Python), or pipx or pip with Python 3.12 or 3.13. There is no Windows installer.
bash
curl -fsSL https://treg.to/install.sh | sh treg loginopens the browser (GitHub, Google or an email code).treg login - MCP, any OS, nothing to install: , then
claude mcp add --transport http treg https://treg.to/mcp/to sign in. Each/mcp,treg catalog search,catalog getandcallbelow becomes the MCP toolbalance,catalog_search,catalog_getorcall.balance
Their own accounts (connecting needs the CLI). asks for the rights to read their stats and to post; posting still waits for their yes on each video:
--capability postbash
treg connections connect --provider instagram --capability post
treg connections connect --provider tiktok --capability post
treg connections connect --provider youtube --capability post
treg connections lsEach opens the platform's own login; they approve it there. Connect only the platforms they post on. Instagram needs a professional account (Creator or Business, a free switch in the app: Profile → menu → Account type and tools). Treg prints tips on stderr: add when you read its JSON.
connect2>/dev/nullInstagram connected: offer right after, it is the best first look at what works for them.
/video-auditHow every Treg call works, the rule for all the skills:
- : describe the job, not a vendor ("list a TikTok account's videos with view counts").
treg catalog search "<what you want to do>" - : the parameters and the price. Say the price before calling. Their own connected accounts are marked free.
treg catalog get <id> - . A failed call is not charged.
treg call <id> --query key=valueshows what is left; a 402 error means the balance is empty.treg balance
Permissions: add only the free, read-only commands, so every paid still asks first:
treg calljson
"Bash(treg catalog *)",
"Bash(treg balance)",
"Bash(treg connections ls)"yt-dlp 可以免费读取 YouTube。TikTok 和 Instagram 会向脚本隐藏相关数据,创作者自己的统计数据位于登录权限之后,而发布内容则需要使用他们的账户。Treg 填补了这一空白:一次连接他们自己的账户即可获取统计数据并发布内容,且免费;还可以按每次调用约 $0.001 获取其他创作者的公开数据。新完成验证的账户可一次性获得 $1.00 额度,足以支持数百次调用。
有两种接入方式:
- CLI,适用于 macOS 和 Linux。它需要 uv(推荐,它会获取正确的 Python),也可以使用 pipx,或使用带 Python 3.12 或 3.13 的 pip。Windows 没有安装程序。
bash
curl -fsSL https://treg.to/install.sh | sh treg login会打开浏览器,可使用 GitHub、Google 或邮箱验证码登录。treg login - MCP,适用于任何 OS,无需安装:运行 ,然后使用
claude mcp add --transport http treg https://treg.to/mcp/登录。下文的每个/mcp、treg catalog search、catalog get和call命令,分别对应 MCP 工具balance、catalog_search、catalog_get或call。balance
连接他们自己的账户(连接操作需要使用 CLI)。 会请求读取统计数据和发布内容的权限;每次发布仍需他们确认。
--capability postbash
treg connections connect --provider instagram --capability post
treg connections connect --provider tiktok --capability post
treg connections connect --provider youtube --capability post
treg connections ls每次执行 都会打开相应平台的登录页面;创作者需要在那里批准授权。仅连接他们实际发布内容的平台。Instagram 需要专业账户(Creator 或 Business,可在 App 中免费切换:Profile → menu → Account type and tools)。Treg 会在 stderr 输出提示:读取其 JSON 时,可以添加 。
connect2>/dev/null连接 Instagram 后,建议立即运行 。这是了解哪些内容对他们最有效的最佳第一步。
/video-audit每次 Treg 调用的工作方式,这是所有 skill 共同遵循的规则:
- :描述要完成的任务,而不是供应商(“列出某个 TikTok 账户的视频和播放次数”)。
treg catalog search "<what you want to do>" - :返回参数和价格。调用前先说明价格。已连接的自有账户会标记为免费。
treg catalog get <id> - 。失败的调用不会收费。
treg call <id> --query key=value显示剩余额度;402 错误表示余额已耗尽。treg balance
权限:仅添加免费、只读的命令,让每次付费的 仍会先请求确认:
treg calljson
"Bash(treg catalog *)",
"Bash(treg balance)",
"Bash(treg connections ls)"7. Wrap up
7. 收尾
Show what is ready (✓ or skipped, one line each) and the path forward:
- : what works on their own Instagram (fills audit.md).
/video-audit - : what works in their niche (fills swipe.md; once a month).
/video-viral - : this week's scripts, hooks first, humanized.
/video-script - Record them: phone, camera or webcam, one take per script, saved in .
video-agent/takes/<slug>.mp4 - : a short (vertical) or a full YouTube video (horizontal).
/video-edit - : a creator's reel they love into a style
/video-stealcan use.video-edit - : a long video into finished shorts.
/long-to-short-videos - : a take in another language, in their voice.
/video-translate - : thumbnails and covers.
/codex-images - : YouTube, Instagram and TikTok.
/video-publish
展示已经准备就绪的内容(✓ 或已跳过,每项一行),以及后续操作路径:
- :查看他们自己的 Instagram 上哪些内容有效(填充 audit.md)。
/video-audit - :查看其细分领域中哪些内容有效(填充 swipe.md;每月运行一次)。
/video-viral - :生成本周的脚本,优先产出 hooks,并进行人性化处理。
/video-script - 录制:使用手机、摄像机或摄像头,每个脚本录制一条,保存到 。
video-agent/takes/<slug>.mp4 - :制作竖版短视频或横版完整 YouTube 视频。
/video-edit - :将喜欢的创作者 reel 转换为
/video-steal可用的风格。video-edit - :将长视频转换为可直接发布的 shorts。
/long-to-short-videos - :将一条 take 翻译为其他语言,同时保留他们的语气。
/video-translate - :生成缩略图和封面。
/codex-images - :发布到 YouTube、Instagram 和 TikTok。
/video-publish
Later
后续
/video-setup <part>toolsstudiovoicepermissionstregkeys/video-setup <part>toolsstudiovoicepermissionstregkeys