Getting it into your agent
It runs from inside its repository, so the clone comes first — what it calls does not travel with the file alone.
git clone --depth 1 https://github.com/ZJU-REAL/Easelnpx agentmods add skills/zju-real/easel/audio-editingWrote 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/audio-editing)<a href="https://agentmods.dev/skills/zju-real/easel/audio-editing"><img src="https://agentmods.dev/badge/skills/zju-real/easel/audio-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/audio-editing"><img src="https://agentmods.dev/badge/skills/zju-real/easel/audio-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.00164 | $0.01342 |
| Opus 5 | $0.00082 | $0.00671 |
| Sonnet 5 | $0.00033 | $0.00268 |
| Haiku 4.5 | $0.00016 | $0.00134 |
Grade A, and why
audio-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 9d 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 — 118 lines — stays where its author put it; the contents beside it link to each section on GitHub.
通用音频处理
除降噪外的通用音频操作:裁剪、转码、音量归一化、提取音轨、拼接、淡入淡出、变速。全部通过共享脚本 skills/shared/scripts/audio_ops.py 封装 ffmpeg,参数确定、可复现,不现场手拼命令。
输入
| 字段 | 必填 | 说明 |
|---|---|---|
| input_file | 是 | 音频或视频文件路径 |
| operation | 是 | trim / convert / normalize / extract / concat / fade / speed / denoise / info |
| output_file | 否 | 默认 outputs/主题名/{name}-{op}.{ext} |
支持格式:wav / mp3 / m4a / aac / flac,视频容器 mp4 / mkv / mov(提取音轨)。
输出
- 处理后的音频文件(放入
outputs/主题名/) - 每次操作打印实际执行的 ffmpeg 命令 + 输出文件的时长/码率/声道/采样率
执行步骤
脚本路径(相对项目根):skills/shared/scripts/audio_ops.py。每个子命令都支持 -h。
0. 环境检查 + 探测
python skills/shared/scripts/audio_ops.py info input.mp3
脚本自身会检查 ffmpeg/ffprobe,缺失时给安装提示。先 info 展示文件时长/码率/声道再动手。
1. 裁剪 trim
# 起止时间
python skills/shared/scripts/audio_ops.py trim in.mp3 -o outputs/主题名/clip.mp3 --start 00:00:05 --end 00:00:20
# 起点 + 时长
python skills/shared/scripts/audio_ops.py trim in.mp3 -o clip.mp3 --start 5 --duration 15
2. 转码 convert
python skills/shared/scripts/audio_ops.py convert in.wav -o out.mp3 --bitrate 192k
python skills/shared/scripts/audio_ops.py convert in.m4a -o out.wav --sample-rate 44100 --channels 2
输出格式由扩展名决定(mp3/wav/m4a/aac)。
3. 音量归一化 normalize
python skills/shared/scripts/audio_ops.py normalize in.mp3 -o out.mp3
默认 loudnorm 到 -14 LUFS / -1.5 dBTP(社媒/播客通用响度)。可用 --i --tp --lra 覆盖。
4. 提取音轨 extract
python skills/shared/scripts/audio_ops.py extract video.mp4 -o audio.m4a
python skills/shared/scripts/audio_ops.py extract video.mp4 -o audio.aac --copy # 不重编码,最快
5. 拼接 concat
python skills/shared/scripts/audio_ops.py concat a.mp3 b.mp3 c.mp3 -o all.mp3
按参数顺序拼接,重编码方式兼容不同采样率/容器。
6. 淡入淡出 fade
python skills/shared/scripts/audio_ops.py fade in.mp3 -o out.mp3 --fade-in 2 --fade-out 3
--fade-out 自动定位到结尾前 N 秒。
7. 变速 speed(保持音高)
python skills/shared/scripts/audio_ops.py speed in.mp3 -o out.mp3 --factor 1.5 # 1.5 倍速
python skills/shared/scripts/audio_ops.py speed in.mp3 -o out.mp3 --factor 0.8 # 放慢
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.
- 9d ago First seen · 118 lines · 164 tokens per session scan A 96869103fe5d
audio-editing is a skill published in the GitHub repository ZJU-REAL/Easel (494 stars, last pushed 2d ago), licensed Apache-2.0. It adds 164 tokens to every session and 1,342 once invoked, about $0.0008 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-08-30.
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…