Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add ZJU-REAL/Easel --skill video-editinggit clone --depth 1 https://github.com/ZJU-REAL/EaselWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/zju-real/easel/video-editing)<a href="https://agentmods.dev/skills/zju-real/easel/video-editing"><img src="https://agentmods.dev/badge/skills/zju-real/easel/video-editing/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/zju-real/easel/video-editing"><img src="https://agentmods.dev/badge/skills/zju-real/easel/video-editing.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector pass
What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00148 | $0.01747 |
| Opus 5 | $0.00074 | $0.00873 |
| Sonnet 5 | $0.00030 | $0.00349 |
| Haiku 4.5 | $0.00015 | $0.00175 |
Grade A, and why
video-editing scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 8d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 117 lines — stays where its author put it; the contents beside it link to each section on GitHub.
视频剪辑
用自然语言指令做通用视频处理。所有操作都调用共享脚本
skills/shared/scripts/video_ops.py(subprocess 封装 ffmpeg/ffprobe),
不要现场手拼 ffmpeg 命令——脚本已处理音画同步、字体路径、编码默认值、
错误捕获等易错点。
从项目根目录运行。脚本相对路径:
skills/shared/scripts/video_ops.py。 每个子命令都支持-h查看参数。
输入
- 视频文件路径 + 操作描述(用户没给路径就问)
- 可选:目标平台/比例/时间段等参数
输出
处理后的视频/图片,存到 outputs/主题名/。脚本会打印 ✅ <路径> (大小)。
与 clipify 的边界
- clipify = 长视频智能切片 + 人脸追踪 pan + 逐字字幕烧录的特化流程。 需要"从长视频找精彩片段做成竖版短视频带字幕"时用它。
- video-editing(本 SKILL) = 通用剪辑处理。单点操作或自由组合时用它。 不做人脸追踪、不做字幕烧录(那是 clipify)。
子命令速查
先 python skills/shared/scripts/video_ops.py info -i <视频> 看清源信息,再操作。
| 子命令 | 用途 | 关键参数 |
|---|---|---|
cut |
按起止时间裁剪 | --start --end/--duration,--reencode 精确裁 |
concat |
多段拼接 | --mode demuxer(同参数无损)/filter(异参数统一) |
speed |
变速(音画同步) | --factor 2.0 |
silence-cut |
检测静音并去除(跳切) | --noise -30 --min-silence 0.5 --pad 0.05(别名 mute-cut) |
text |
文字覆盖 | --text --position --fontsize --color --start --end --box |
aspect |
横竖比转换 | --ratio 9:16 --mode pad(补边)/crop(裁切) |
frame |
抽帧做封面 | --time 00:00:03 --width |
gif |
转 GIF | --start --end --fps 12 --width 480 |
compress |
压缩 | --crf 26 或 --bitrate 2M,--scale 降分辨率 |
bgm |
加背景音乐混音 | --music --voice-volume 1.0 --music-volume 0.3 |
watermark |
加图片水印 | --logo --position --width --opacity |
info |
时长/分辨率/帧率/码率(json) | -i |
text / watermark 位置七选一:center top bottom top-left top-right bottom-left bottom-right。中文字体自动探测(wqy-microhei / Noto CJK),
也可 --font 显式指定。
常用示例
V=skills/shared/scripts/video_ops.py
# 裁剪 00:02:00–00:15:00
python $V cut -i in.mp4 -o out.mp4 --start 00:02:00 --end 00:15:00
# 横版转竖版(社媒竖版转制刚需):补边不裁 or 裁切填满
python $V aspect -i in.mp4 -o vertical.mp4 --ratio 9:16 --mode pad
python $V aspect -i in.mp4 -o vertical.mp4 --ratio 9:16 --mode crop
# 去静音 + 1.25 倍速(先跳切再变速)
python $V silence-cut -i in.mp4 -o t.mp4
python $V speed -i t.mp4 -o out.mp4 --factor 1.25
# 第 3 秒抽帧做封面
python $V frame -i in.mp4 -o cover.jpg --time 00:00:03 --width 1080
# 2–6 秒转 GIF
python $V gif -i in.mp4 -o clip.gif --start 2 --end 6 --fps 12 --width 480
# 60 秒处叠 5 秒"关注我"字幕(底部带框)
python $V text -i in.mp4 -o out.mp4 --text "关注我" --position bottom --box --start 60 --end 65
# 加 BGM(原声 1.0 / BGM 0.3)、加右下角水印、压缩
python $V bgm -i in.mp4 -o out.mp4 --music bgm.mp3 --music-volume 0.3
python $V watermark -i in.mp4 -o out.mp4 --logo logo.png --position bottom-right --width 120
python $V compress -i in.mp4 -o small.mp4 --crf 26 --scale 720
What ships with it
1 file beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 8d ago First seen · 117 lines · 148 tokens per session scan A 7b9326f76186
video-editing is a skill published in the GitHub repository ZJU-REAL/Easel (841 stars, last pushed yesterday), licensed Apache-2.0. It adds 148 tokens to every session and 1,747 once invoked, about $0.0007 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-03.
Other skills, from other repositories
ppt-generation
Generate PPTX presentations from slide plan + content.
chart-visualization
Generate charts: select type, extract data, render image.
jacky-motion2-0-srt
A workflow for turning a Chinese spoken script and matching SRT subtitle file into a single 16:9 HTML information animation. SRT is a subtitle file that stores text with start and end times; the animation follows those times and adds recorded-screen placeholders when needed.
video-podcast-maker
Use when the user gives a topic and wants an automated topic-driven narrated explainer, podcast, or knowledge-summary video (Bilibili / YouTube / Xiaohongshu / Douyin / WeChat Channels), or asks to learn visual design patterns from a reference video/image. Trigger when the user mentions creating a knowledge video…
video-podcast-maker-lite
Minimal personal narrated-video pipeline — a topic becomes a talking-head-free explainer MP4 (1080p or 4K) via script → Azure TTS (SSML) → Remotion. Use when the user wants a quick narrated video from a topic without the full video-podcast-maker machinery (no extra skills, no thumbnails/shorts/publish matrix). Do NOT…
video-podcast-maker-nano
Smallest personal narrated-explainer-video pipeline (spoken narration over visuals, not an audio podcast), fully tool-agnostic and autonomous by default — topic → research ∥ asset collection → script → TTS → video → 4K render ∥ publish info + cover. The skill defines the pipeline logic and self-verified checkpoints…