Token导航 LogoToken导航

Agent Skill · AI 工具

video-tool(视频工具)

用于辅助视频生成、动画合成、脚本化剪辑或 Remotion 等视频项目开发。它适合让 Agent 组织镜头、生成素材说明、维护合成代码或排查渲染问题。使用时需要确认分辨率、时长、素材路径和导出格式;涉及外部素材、人物肖像或商业发布时,应先核对版权授权和内容审核要求。

video-tool 是AI 工具类 Agent Skill,可用宿主为 Codex、Claude、Cursor、Gemini CLI,通过GitHub 仓库获取,权限为接触敏感数据;许可证为 MIT,第三方扫描有未通过项,按安装量在AI 工具类的 2,536 个 Skill 里排第 994。

总安装 1,384周安装 56GitHub Stars 15下载 435核验 2026-05-01

安装说明

本站只整理中文说明,不托管安装包,也不代用户安装。
GitHub
许可证
MIT

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:video-tool(视频工具)
来源仓库:https://github.com/alejandro-ao/video-tool-cli
仓库路径:skills/video-tool
安装命令:
npx skills add https://github.com/alejandro-ao/video-tool-cli --skill video-tool
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。不同来源提供的安装方式可能略有差异;本站展示可直接复制的安装命令,安装前请核对来源页面。

skills.shnpx skills
npx skills add https://github.com/alejandro-ao/video-tool-cli --skill video-tool

这个 Skill 是做什么的

AI 工具类 Skill 用来扩展助手本身的能力,例如接模型、接检索、接外部服务。

用于辅助视频生成、动画合成、脚本化剪辑或 Remotion 等视频项目开发。适合让 Agent 组织镜头、生成素材说明、维护合成代码或排查渲染问题。使用时需要确认分辨率、时长、素材路径和导出格式。涉及外部素材、人物肖像或商业发布时,应先核对版权授权和内容审核要求。

安装方式:github,命令:npx skills add https://github.com/alejandro-ao/video-tool-cli --skill video-tool

来源仓库内路径:skills/video-tool

上手步骤

4 步
  1. 1

    确认自己的宿主工具

    公开资料标注支持 Codex、Claude、Cursor、Gemini CLI;先确认自己用的是其中之一,再按对应工具的 Skills 目录放置。

  2. 2

    拿到安装命令

    可以直接复制的命令是 npx skills add https://github.com/alejandro-ao/video-tool-cli --skill video-tool;命令里的占位符换成自己的路径或密钥再执行。

  3. 3

    安装后重启宿主

    命令执行完要完全退出宿主工具再打开,让新装的 Skill 被重新扫描到,否则列表里可能看不到。

  4. 4

    按最小权限试用

    它需要接触敏感数据,先在测试目录或测试账号里跑,确认没问题再放到正式项目。

常见问题

6 条

video-tool 怎么安装?

在终端执行 npx skills add https://github.com/alejandro-ao/video-tool-cli --skill video-tool。装完完全退出宿主工具再打开,让它重新扫描本地 Skill。

video-tool 支持哪些 AI 工具?

公开资料标注支持 Codex、Claude、Cursor、Gemini CLI。其他工具只要能读取本地 Skill 目录,一般也能手动放进去,但要自己确认触发方式是否一致。

video-tool 需要什么权限?

权限级别是接触敏感数据。该 Skill 可能接触密钥、Token、环境变量或敏感配置,应进入高风险复核队列,默认不自动发布。

video-tool 是免费的吗?

来源标注的许可证是 MIT。本站不代收任何费用,也不托管安装包;能否商用、要不要署名,以许可证原文为准。

video-tool 用的人多吗?

公开数据是累计安装 1,384 次,近一周安装 56 次,下载 435 次,GitHub 15 星。这些数字来自第三方目录统计,只能当作热度参考,不代表质量或安全性。

video-tool 安全吗?

第三方扫描有未通过项,风险较高。除非你确认过源码,否则不建议直接安装到常用环境。

值得选的地方和要先想清楚的地方

值得选的地方

  • 同时适配 4 种工具,换客户端不用重新找替代品。
  • 3 个目录同时收录,说明这个 Skill 流传比较广。
  • 许可证明确为 MIT,商用和分发边界好判断。

先想清楚的地方

  • 需要接触敏感数据,装到常用环境前要先评估影响面。
  • 第三方扫描存在提醒项或未通过项,需要人工逐条确认。
  • 第三方目录整理,版本更新和行为细节以来源仓库为准。

适不适合你

更适合

  • 已经在用 Codex,想直接扩展它能力的人。
  • 需要处理AI 工具类任务、又不想每次都手写提示词的人。

不太适合

  • 环境里有大量密钥、凭证,不方便给第三方 Skill 读取的人。
  • 需要厂商级技术支持和 SLA 的生产系统。

AI 工具类 Skill 对比

6 个同类
Skill总安装GitHub 星权限许可证扫描
executing-plans

执行计划 · Codex、Claude

1,515,336173,110只读MIT通过
verification-before-completion

完成前的验证 · Codex、Claude

1,319,472173,121权限未标注MIT通过
subagent-driven-development

子 Agent 驱动开发 · Codex、Claude

1,312,416173,138只读MIT通过
copy-editing

复制编辑 · Codex、Claude

1,209,57625,632只读MIT通过
paywall-upgrade-cro

付费专区升级 cro · Codex、Claude

1,030,17625,617只读MIT通过
video-tool

视频工具 · 本页

1,38415接触敏感数据MIT未通过

按安装量取同分类前几名;数字来自第三方目录统计,只作热度参考,不代表质量结论。

SKILL.md 原文

Video Tool CLI

AI-powered video processing toolkit with ffmpeg operations, Whisper transcription, and content generation.

Installation Status

video-tool:!which video-tool > /dev/null && echo "INSTALLED" || echo "NOT INSTALLED - run installation below" uv:!which uv > /dev/null && echo "INSTALLED" || echo "NOT INSTALLED"

If video-tool is not installed, run the installation commands below before proceeding.

Installation

# Install uv first (if not installed)
curl -LsSf https://astral.sh/uv/install.sh | sh

# Install video-tool
uv tool install git+https://github.com/alejandro-ao/video-tool-cli.git

Dependencies

  • ffmpeg: Required for all video operations (brew install ffmpeg on macOS)
  • yt-dlp: Required for video downloads (brew install yt-dlp on macOS)

API Keys Setup

Configure API keys (choose one method):

Option 1: Non-interactive (recommended for Claude Code)

video-tool config keys --set groq_api_key=YOUR_KEY
video-tool config keys --set openai_api_key=YOUR_KEY
# Multiple at once:
video-tool config keys --set groq_api_key=xxx --set openai_api_key=yyy

Option 2: Edit credentials file directly If users prefer not to share keys with Claude Code, they can edit directly:

# File: ~/.config/video-tool/credentials.yaml
openai_api_key: sk-xxx
groq_api_key: gsk_xxx
bunny_library_id: xxx
bunny_access_key: xxx
replicate_api_token: xxx

Option 3: Interactive setup

video-tool config keys

Required keys:

  • groq_api_key - Transcription (Whisper)
  • openai_api_key - Content generation (descriptions, timestamps)

Optional keys:

  • bunny_library_id, bunny_access_key - Bunny.net CDN uploads
  • replicate_api_token - Audio enhancement
video-tool config keys --show   # View configured keys (masked)
video-tool config keys --reset  # Clear all credentials

IMPORTANT: Handling Authentication Errors

When a command fails with "AUTHENTICATION REQUIRED" or "API key not configured":

  1. DO NOT try to work around the issue by writing custom scripts
  2. DO NOT try to call APIs directly
  3. INSTEAD, offer the user two options using AskUserQuestion:

Option A: Provide key to Claude (convenient)

  • User gives you the API key directly
  • You run: video-tool config keys --set KEY_NAME=VALUE
  • Faster, but the key is visible in the conversation

Option B: User configures privately (more secure)

  • User runs the command themselves or edits the file directly
  • Key never appears in the conversation with Claude
  • Tell user to run: video-tool config keys (interactive)
  • Or edit: ~/.config/video-tool/credentials.yaml

Example AskUserQuestion prompt: "This command requires a [Groq/OpenAI] API key. How would you like to configure it?"

  • Option 1: "I'll provide the key" - convenient but key visible to Claude
  • Option 2: "I'll configure it myself" - more private, key stays hidden from Claude

After user configures (either way), retry the original command.

Commands that require credentials:

  • video-tool generate transcript → Requires Groq API key
  • video-tool video timestamps -m transcript → Requires OpenAI API key (structured output)
  • video-tool upload bunny-* → Requires Bunny.net credentials
  • video-tool video enhance-audio → Requires Replicate API token
  • video-tool upload x / video-tool upload twitter → Requires X OAuth credentials (run video-tool config x-auth)
  • video-tool upload linkedin → Requires LinkedIn access token + author URN (run video-tool config keys or pass flags)

Content Generation: CLI Commands vs Direct Generation

Some CLI commands use OpenAI to generate content. When Claude runs this skill, it's often better for Claude to generate content directly instead of calling another LLM.

Use CLI command (requires OpenAI API key):

  • video timestamps -m transcript - Uses structured output for precise JSON

Generate directly as Claude (no OpenAI needed):

For these tasks, read the transcript/timestamps and generate content using the linked templates:

Note on CLI commands

The CLI has commands like generate description, generate context-cards that use OpenAI. These exist for manual CLI usage. If user explicitly requests a CLI command, honor the request (it may require OpenAI key). Otherwise, generate content directly.


Output Location

Before generating files (transcripts, descriptions, timestamps, etc.), if not especified before, ask the user where to save them using AskUserQuestion.

Example prompt: "Where should I save the output files?"

  • Option 1: "Current directory" - save in . or ./output/
  • Option 2: "Same folder as video" - save alongside the source video
  • Option 3: "I'll specify a path" - user provides custom location

Default behavior if user doesn't specify: Ask rather than assuming temp directory.


YouTube Authentication

For YouTube uploads, run OAuth2 setup:

video-tool config youtube-auth

Command Reference

Video Processing

Download Video

Download from YouTube or other supported sites.

video-tool video download -u "URL" -o ./output/my-video.mp4
video-tool video download -u "URL" -o ./output/%(title)s.%(ext)s
OptionDescription
-u, --urlVideo URL
-o, --output-pathOutput file path (directory uses title template; default is ./output/%(title)s.%(ext)s)
Get Video Info

Get metadata: duration, resolution, codec, bitrate.

video-tool video info -i video.mp4
Remove Silence

Remove silent segments from video.

video-tool video silence-removal -i input.mp4 -o output.mp4 -t 1.0
OptionDescription
-i, --inputInput video
-o, --output-pathOutput path
-t, --thresholdMin silence duration to remove (default: 1.0s)
Trim Video

Cut from start and/or end of video.

video-tool video trim -i input.mp4 -o output.mp4 -s 00:00:10 -e 00:05:00
OptionDescription
-s, --startStart timestamp (HH:MM:SS, MM:SS, or seconds)
-e, --endEnd timestamp
-g, --gpuUse GPU acceleration
Extract Segment

Keep only a specific portion of video.

video-tool video extract-segment -i input.mp4 -o output.mp4 -s 00:01:00 -e 00:02:30
Cut Segment

Remove a middle portion from video.

video-tool video cut -i input.mp4 -o output.mp4 -f 00:01:00 -t 00:02:00
OptionDescription
-f, --fromStart of segment to remove
-t, --toEnd of segment to remove
Change Speed

Speed up or slow down video.

video-tool video speed -i input.mp4 -o output.mp4 -f 1.5
OptionDescription
-f, --factorSpeed factor (0.25-4.0). 2.0=double, 0.5=half
-p, --preserve-pitchKeep original audio pitch (default: yes)
Concatenate Videos

Join multiple videos into one.

video-tool video concat -i ./clips/ -o ./output/final.mp4 -f
OptionDescription
-i, --input-dirDirectory containing videos
-o, --output-pathOutput file path
-f, --fast-concatSkip re-encoding (faster, requires same codec)

Audio Operations

Extract Audio

Extract audio track to MP3.

video-tool video extract-audio -i video.mp4 -o audio.mp3
Enhance Audio

Improve audio quality using Resemble AI (requires Replicate API token).

video-tool video enhance-audio -i input.mp4 -o enhanced.mp4
video-tool video enhance-audio -i input.mp4 -o denoised.mp4 -d  # denoise only
Replace Audio

Swap audio track in a video.

video-tool video replace-audio -v video.mp4 -a new_audio.mp3 -o output.mp4

Transcription & Timestamps

Generate Transcript

Create VTT captions using Groq Whisper (requires Groq API key).

video-tool generate transcript -i video.mp4 -o transcript.vtt
Generate Timestamps

Create chapter markers (requires OpenAI API key for transcript mode).

# From video clips directory
video-tool video timestamps -m clips -i ./clips/ -o timestamps.json

# From transcript
video-tool video timestamps -m transcript -i transcript.vtt -o timestamps.json -g medium
OptionDescription
-m, --modeclips or transcript
-g, --granularitylow, medium, high (transcript mode)
-n, --notesAdditional instructions for LLM

Uploads

YouTube Upload

Upload video as draft (requires OAuth2 auth via video-tool config youtube-auth).

video-tool upload youtube-video -i video.mp4 -t "Title" -d "Description" -p private
video-tool upload youtube-video -i video.mp4 --metadata-path metadata.json
OptionDescription
-t, --titleVideo title
-d, --descriptionDescription text
--description-fileRead description from file
--tagsComma-separated tags
--tags-fileTags from file (one per line)
-c, --categoryYouTube category ID (default: 27 Education)
-p, --privacyprivate (draft) or unlisted only
--thumbnailThumbnail image path
YouTube Metadata Update

Update existing video metadata.

video-tool upload youtube-metadata -v VIDEO_ID --description-file description.md
YouTube Transcript Upload

Add captions to YouTube video.

video-tool upload youtube-transcript -v VIDEO_ID -t transcript.vtt -l en
Bunny.net Uploads

Upload to Bunny.net CDN (requires Bunny credentials via config keys).

video-tool upload bunny-video -v video.mp4
video-tool upload bunny-transcript -v VIDEO_ID -t transcript.vtt
video-tool upload bunny-chapters -v VIDEO_ID -c timestamps.json
X (Twitter) Post

Post a thread to X (Twitter) (requires X OAuth via video-tool config x-auth).

video-tool upload x --text "First post" --thread-item "Follow-up" --video-path video.mp4
video-tool upload twitter --text-file post.txt --thread-file thread.txt
OptionDescription
--text / --text-fileFirst post text
--thread-item / --thread-fileAdditional thread items (repeatable or --- delimiter)
--video-path / --video-urlVideo file or URL to include
--output-dirOutput directory for metadata
LinkedIn Post

Publish a LinkedIn post (requires LinkedIn credentials via video-tool config keys).

video-tool upload linkedin --text-file post.md --video-path video.mp4
OptionDescription
--text / --text-filePost text
--video-path / --video-urlVideo file or URL to include
--output-dirOutput directory for metadata
--access-tokenOverride access token
--author-urnOverride author URN

Full Pipeline

Run complete workflow: concat → timestamps → transcript → content → optional upload.

video-tool pipeline -i ./clips/ -o ./output/ -t "Video Title" -y
OptionDescription
-f, --fast-concatFast concatenation
--timestamps-from-clipsGenerate timestamps from clip names
-g, --granularityTimestamp detail level
--upload-bunnyUpload to Bunny.net after processing
-y, --yesNon-interactive mode

Configuration

video-tool config keys                        # Configure API keys (interactive)
video-tool config keys --set KEY=VALUE        # Set key non-interactively
video-tool config keys --show                 # View configured keys
video-tool config llm                         # Configure LLM settings and persistent links
video-tool config x-auth                      # Set up X OAuth credentials
video-tool config youtube-auth                # Set up YouTube OAuth2
video-tool config youtube-status              # Check YouTube credentials

Command Templates for Skills

Common tasks that other skills can reference by name.

Transcribe Video

Generate VTT transcript from video/audio file.

video-tool generate transcript -i <INPUT_FILE> -o <OUTPUT_FILE>

Inputs:

  • <INPUT_FILE>: Path to video or audio file
  • <OUTPUT_FILE>: Path to output VTT file

Requirements: Groq API key


Concatenate Videos

Join multiple video clips into single file.

video-tool video concat -i <INPUT_DIR> -o <OUTPUT_FILE> --fast-concat

Inputs:

  • <INPUT_DIR>: Directory with numbered clips (01-*.mp4, 02-*.mp4, etc.)
  • <OUTPUT_FILE>: Path to output video file
  • --fast-concat: Skip reprocessing (optional, recommended for speed)

Note: Clips must be named with numeric prefixes for correct ordering.


Generate Timestamps from Clips

Create chapter timestamps from clip filenames.

video-tool video timestamps --mode clips -i <INPUT_DIR> -o <OUTPUT_FILE>

Inputs:

  • <INPUT_DIR>: Directory with numbered clips
  • <OUTPUT_FILE>: Path to output JSON file

Output Format:

{
  "timestamps": [
    {"time": "00:00:00", "title": "Introduction"},
    {"time": "00:05:30", "title": "Main Content"}
  ]
}

Upload to YouTube

Upload video with metadata to YouTube.

video-tool upload youtube-video \
  -i <VIDEO_FILE> \
  -t "<TITLE>" \
  --description-file <DESCRIPTION_FILE> \
  --tags-file <TAGS_FILE> \
  --privacy <PRIVACY>

Inputs:

  • <VIDEO_FILE>: Path to video file
  • <TITLE>: Video title (quoted)
  • <DESCRIPTION_FILE>: Path to markdown description file
  • <TAGS_FILE>: Path to text file with tags (one per line)
  • <PRIVACY>: private, unlisted, or public

Requirements: YouTube OAuth2 authentication (video-tool config youtube-auth)

Output: JSON with video_id and url (save to youtube-upload.json for publish skill)


Common Workflows

See workflows.md for detailed examples.

平台分布

Claude Code

29.28%
按下载量换算127

Antigravity

25.07%
按下载量换算109

Gemini CLI

19.02%
按下载量换算83

OpenCode

13.7%
按下载量换算60

trae

8.63%
按下载量换算38

Codex

3.21%
按下载量换算14

安全审计

Gen Agent Trust Hub

未通过

Socket

通过

Snyk

未通过

权限和风险

接触敏感数据

该 Skill 可能接触密钥、Token、环境变量或敏感配置,应进入高风险复核队列,默认不自动发布。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在提醒或未通过项,安装前请自行复核。

继续浏览同类 Skills