Communitygithub.com

tpc-pascal/agent-skills

多媒体处理技能 — 使用 ffprobe 获取参数、ffmpeg 裁剪/拼接/转码/GIF、提取帧、分离音频、字幕处理(偏移/转换/烧录)、SMPTE 时间码、镜头检测、帧/图片 OCR、从 URL 下载(yt-dlp)、音乐处理(流派/情绪/BPM/歌词)。适用于处理视频/音频/图片/媒体 URL,总结内容、提取文字、剪辑合成、制作字幕、抓取帧或下载。

agent-skills 是什么?

这是一个轻量级 AI 代理技能,专为处理视频、音频、图片和媒体 URL 而设计。它本身不包含代码,而是通过路由到本地 CLI 工具(ffprobe、ffmpeg、yt-dlp)以及按会话动态获取的第三方技能模块(mediaskills、watch、music-listener 等)来实现功能。技能支持多种输入类型和需求:用 ffprobe 获取媒体参数;用 watch 技能(--engine local)总结视频内容;用 speech-captions 技能转录文字(SRT/VTT);用 subtitles 技能进行字幕偏移、格式转换和烧录;用 video-transformation 技能裁剪、拼接、转码、生成 GIF 及提取帧/音频;用 shots 技能检测镜头切换、提取关键帧;用 vision-analysis 技能分析屏幕文本;用 image 技能对图片进行 OCR、缩放和转换;用 audio 技能处理音频的裁剪、归一化和静音消除;用 music-listener 技能从 URL 或文件解析音乐歌词、流派、情绪和 BPM;用 download 技能通过 yt-dlp 下载媒体;以及用 timecode 和 captions-compliance 技能处理 SMPTE 时间码和广播级字幕。第三方技能通过 fetch-session.sh 脚本按需一次性获取到会话临时目录,不会永久安装。所有输出(摘要、字幕、剪辑)均保存在源文件旁边,使用实际帧精确的时间戳,并在交付前通过 ffprobe 验证输出文件的完整性和正确性。

兼容平台✓Claude Code~Codex CLI~Cursor✓OpenCode
npx skills add https://github.com/tpc-pascal/agent-skills/tree/HEAD/skills/research/media

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

英文版: SKILL.en.md

media — 视频 / 音频 / 图片 / URL

轻量级技能,无独立代码:将请求路由至本地 CLI(ffprobe、ffmpeg、yt-dlp)及按会话获取的第三方技能(mediaskills、watch、music-listener)——参见下方获取说明。

按输入类型的路由表

通过 ffprobe/file 识别;URL 则根据返回的文件名判断。

输入 + 需求工具备注
获取媒体文件参数ffprobe(本地)无需会话技能
视频/URL 内容总结skill watch(claude-video)--engine local
视频/URL 文字提取(SRT/VTT)skill speech-captionstranscribe.py --model tiny;模型较大时需注意
字幕:偏移/转换/烧录skill subtitlesshift.py convert.py extract.py burn.py
裁剪/拼接/转码、GIF、帧/音频提取skill video-transformationtrim.py trim_multi.py concat.py …
镜头切换/场景检测skill shotsdetect.py extract-frames.py
帧内容分析(屏幕文本)skill vision-analysis代理自行查看帧 + 合并 JSON 的脚本
图片/截图:OCR/缩放/转换skill imageocr.py(tesseract)
音频:裁剪/归一化/静音消除skill audio
从 URL/文件听音乐,获取歌词skill music-listener按会话获取,见 music-listener/scripts/
从 URL 下载媒体skill downloadurl.py(yt-dlp)
SMPTE 时间码、广播字幕skill timecode、skill captions-compliance按 TC 同步字幕
缺少 ffprobe/tesseract/uv…skill install-media-toolsdoctor.sh 检查,install.sh 安装

按会话获取的第三方技能(临时获取,不永久安装)

本仓库不包含第三方技能。获取到会话临时目录:

  1. scripts/fetch-session.sh --list → 查看可用技能名称;--skill <名称> 或 --all —— 脚本会 sparse-clone 指定 commit SHA 的源仓库,复制到会话临时目录。
  2. 使用位置:~/.agents/skills/<名称>/scripts/(或 ~/.config/opencode/skills/<名称>/…)。
  3. 离线/无网络:如果所需 CLI 和模型已就绪,可直接操作本地文件运行。按会话获取技能、下载 URL 以及下载未缓存的模型需要网络;离线时 yt-dlp 无法下载 URL。

各技能的 commit SHA 及许可证:参见 scripts/fetch-session.sh 中的 TABLE 表格。

规则

  1. 输出放在源文件旁:摘要文件 <名称>.digest.md,字幕文件 <名称>.srt|.vtt,剪辑片段 <名称>.clip-<t1>-<t2>.mp4。不覆盖原始文件。
  2. 时间戳/剪辑使用实际帧——通过 ffprobe 验证,不进行估算。
  3. 交付前验证:ffprobe 检查输出文件是否可打开,时长/编解码器是否符合要求。
  4. 提示输入语言——使用用户所说的相同语言回复。

Individual skills in this repo

This repo contains 4 individual skills — each has its own dedicated page.

tpc-pascal/agent-skills

Vẽ sơ đồ và biểu đồ đẹp cho báo cáo — flowchart/sequence/class/state/ER/gantt bằng Mermaid (kroki.io, PNG), biểu đồ cột/tròn/line bằng matplotlib (uv), output `<tên>.diagram.png` cạnh nguồn để nhúng vào `.report.docx`. Dùng khi báo cáo cần sơ đồ thay cho ASCII, cần biểu đồ dữ liệu, hoặc user yêu cầu "sơ đồ đẹp".

tpc-pascal/agent-skills

Trích xuất và chuyển đổi tài liệu PDF/DOCX/XLSX — lấy text layer (pdftotext), OCR ảnh scan (pdftoppm + tesseract), chuyển markdown (docling), XLSX → CSV (libreoffice headless), ghép/tách/đảo trang (qpdf/pdftk), kiểm tra output bằng pdfinfo + pdftotext. Dùng khi đưa tài liệu và muốn lấy text, OCR bản scan, chuyển định dạng, tách/ghép/trang, hoặc xác minh nội dung đã trích.

tpc-pascal/agent-skills

Điều phối — nhận input, xác định loại, chuyển tiếp tới skill anh em trong repo — doc (tài liệu), media (video/audio/ảnh), paper (báo cáo), web (đọc web/mạng xã hội/tìm kiếm) — và mở cổng câu hỏi bắt buộc trước khi viết báo cáo. Dùng khi chưa biết skill nào xử lý input đang có, hoặc khi cần quy trình phối hợp nhiều skill.

tpc-pascal/agent-skills

Viết báo cáo theo một trong hai dạng: chuẩn quốc tế hoặc phổ biến tại Việt Nam. Tổng hợp nguồn có trích dẫn, giữ báo cáo chính gọn và tách dữ liệu hỗ trợ khi cần; xuất `.report.md` hoặc `.report.docx`.

相关技能