Shorts Video Maker
uxjoseph/content-marketing-team
YouTube 영상에서 쇼츠 클립 3개를 자동 제작합니다. An agent skill from uxjoseph/content-marketing-team.
Guide for using FFmpeg - a comprehensive multimedia framework for video/audio encoding, conversion, streaming, and filtering.
$ npx skills add einverne/dotfiles --skill ffmpeg -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install einverne/dotfiles ffmpeg --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/einverne/dotfiles.git skills-src && mkdir -p .claude/skills && cp -r skills-src/claude/skills/ffmpeg .claude/skills/ffmpeg && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "ffmpeg" agent skill from https://github.com/einverne/dotfiles/tree/master/claude/skills/ffmpeg into .claude/skills/ffmpeg/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ffmpeg", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/einverne/dotfiles/tree/master/claude/skills/ffmpegType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add einverne/dotfiles --skill ffmpeg -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install einverne/dotfiles ffmpeg --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/einverne/dotfiles.git skills-src && mkdir -p .agents/skills && cp -r skills-src/claude/skills/ffmpeg .agents/skills/ffmpeg && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "ffmpeg" agent skill from https://github.com/einverne/dotfiles/tree/master/claude/skills/ffmpeg into .agents/skills/ffmpeg/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ffmpeg", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add einverne/dotfiles --skill ffmpeg -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install einverne/dotfiles ffmpeg --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/einverne/dotfiles.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/claude/skills/ffmpeg .cursor/skills/ffmpeg && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "ffmpeg" agent skill from https://github.com/einverne/dotfiles/tree/master/claude/skills/ffmpeg into .cursor/skills/ffmpeg/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ffmpeg", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/einverne/dotfiles.git --path claude/skills/ffmpeg--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add einverne/dotfiles --skill ffmpeg -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install einverne/dotfiles ffmpeg --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/einverne/dotfiles.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/claude/skills/ffmpeg .gemini/skills/ffmpeg && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "ffmpeg" agent skill from https://github.com/einverne/dotfiles/tree/master/claude/skills/ffmpeg into .gemini/skills/ffmpeg/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ffmpeg", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install einverne/dotfiles ffmpegInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add einverne/dotfiles --skill ffmpeg -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/einverne/dotfiles.git skills-src && mkdir -p .github/skills && cp -r skills-src/claude/skills/ffmpeg .github/skills/ffmpeg && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "ffmpeg" agent skill from https://github.com/einverne/dotfiles/tree/master/claude/skills/ffmpeg into .github/skills/ffmpeg/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ffmpeg", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add einverne/dotfiles --skill ffmpeg -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install einverne/dotfiles ffmpeg --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/einverne/dotfiles.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/claude/skills/ffmpeg .opencode/skills/ffmpeg && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "ffmpeg" agent skill from https://github.com/einverne/dotfiles/tree/master/claude/skills/ffmpeg into .opencode/skills/ffmpeg/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ffmpeg", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
ffmpegGuide for using FFmpeg - a comprehensive multimedia framework for video/audio encoding, conversion, streaming, and filtering.
Ffmpeg is an agent skill from einverne/dotfiles. Guide for using FFmpeg - a comprehensive multimedia framework for video/audio encoding, conversion, streaming, and filtering. Use when processing media files, converting formats, extracting audio, creating streams, applying filters, or optimizing video/audio quality.
Its SKILL.md is about 4.1k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Media & Creative, covering Video production. It works with FFmpeg and YouTube. The repository describes itself as: my personal dotfiles managed by dotbot, zinit. The licence is LGPL-3.0.
10 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit c6c0686. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
ffmpegffprobeapt-getFrom the folder's file list and the shell code blocks in SKILL.md.
Links to these hosts (documentation or services it may open):
trac.ffmpeg.orgffmpeg.orggithub.comFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Ffmpeg loads about 4.1k tokens when it runs. Until then it costs about 69 tokens; SKILL.md has 1,009 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check noted patterns worth knowing about, such as sudo or a known installer.
# Install: sudo apt-get install parallelsudo apt-get install ffmpeg libx264-dev libx265-dev libvpx-devAutomated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from einverne/dotfiles at commit c6c0686, republished under its LGPL-3.0 licence (© einverne). 1,009 words, ~4,141 tokens.
.claude/skills/ffmpeg/SKILL.md (or your agent's skills folder).FFmpeg is a comprehensive open-source multimedia framework that handles video, audio, and other multimedia files and streams. It provides command-line tools and libraries for recording, converting, and streaming audio and video.
Use this skill when:
ffmpeg: Primary tool for transcoding, conversion, and streaming ffprobe: Media analysis and inspection tool ffplay: Minimalist multimedia player for testing
H.264 (libx264): Most widely supported, excellent compression/quality balance
H.265/HEVC (libx265): 25-50% better compression than H.264
VP9: Royalty-free, WebM format
AV1 (libaom-av1, libsvtav1): Next-generation codec, best compression
AAC: Industry standard, excellent quality MP3: Universal compatibility, good quality Opus: Best quality at low bitrates, ideal for voice/streaming FLAC: Lossless compression, archival quality Vorbis: Open-source, good quality AC-3/DTS: Surround sound formats
MP4: Universal compatibility, streaming-friendly MKV (Matroska): Feature-rich, supports multiple tracks/subtitles WebM: Web-optimized (VP8/VP9 + Vorbis/Opus) AVI: Legacy format, broad compatibility MOV: Apple QuickTime format TS: Transport stream for broadcasting FLV: Flash video (legacy streaming)
Simple format conversion without re-encoding:
ffmpeg -i input.mkv -c copy output.mp4Convert with specific codecs:
ffmpeg -i input.avi -c:v libx264 -c:a aac output.mp4Constant Rate Factor - best for quality-focused encoding:
# H.264 encoding (CRF 23 = default, 17-28 recommended range)
ffmpeg -i input.mkv -c:v libx264 -preset slow -crf 22 -c:a copy output.mp4
# H.265 encoding (higher compression)
ffmpeg -i input.mkv -c:v libx265 -preset medium -crf 24 -c:a copy output.mp4
# VP9 encoding (WebM)
ffmpeg -i input.mkv -c:v libvpx-vp9 -crf 30 -b:v 0 -c:a libopus output.webmCRF Scale:
Presets (speed vs compression):
For targeting specific file sizes:
# Pass 1 (analysis)
ffmpeg -y -i input.mkv -c:v libx264 -b:v 2600k -pass 1 -an -f null /dev/null
# Pass 2 (encoding)
ffmpeg -i input.mkv -c:v libx264 -b:v 2600k -pass 2 -c:a aac -b:a 128k output.mp4Extract audio without re-encoding:
ffmpeg -i video.mp4 -vn -c:a copy audio.m4aExtract and convert to MP3:
ffmpeg -i video.mp4 -vn -q:a 0 audio.mp3Extract with specific bitrate:
ffmpeg -i video.mp4 -vn -c:a libmp3lame -b:a 192k audio.mp3Scale to specific dimensions:
ffmpeg -i input.mp4 -vf scale=1280:720 output.mp4Scale maintaining aspect ratio:
# Width 1280, height auto-calculated
ffmpeg -i input.mp4 -vf scale=1280:-1 output.mp4
# Height 720, width auto-calculated
ffmpeg -i input.mp4 -vf scale=-1:720 output.mp4Scale to half resolution:
ffmpeg -i input.mp4 -vf scale=iw/2:ih/2 output.mp4Cut without re-encoding (fast but less precise):
ffmpeg -i input.mp4 -ss 00:01:30 -to 00:03:00 -c copy output.mp4Cut with re-encoding (precise):
ffmpeg -i input.mp4 -ss 00:01:30 -t 00:01:30 -c:v libx264 -c:a aac output.mp4Parameters:
-ss: Start time (HH:MM:SS or seconds)-to: End time-t: Duration (instead of end time)Method 1: Concat demuxer (same codec/format)
Create concat.txt:
file 'input1.mp4'
file 'input2.mp4'
file 'input3.mp4'Run:
ffmpeg -f concat -safe 0 -i concat.txt -c copy output.mp4Method 2: Concat filter (different formats)
ffmpeg -i input1.mp4 -i input2.mp4 -i input3.mp4 \
-filter_complex "[0:v][0:a][1:v][1:a][2:v][2:a]concat=n=3:v=1:a=1[v][a]" \
-map "[v]" -map "[a]" output.mp4Multiple filters (chain with comma):
ffmpeg -i input.mp4 -vf "scale=1280:720,hqdn3d" output.mp4Denoise:
ffmpeg -i input.mp4 -vf hqdn3d output.mp4Deinterlace:
ffmpeg -i input.mp4 -vf yadif output.mp4Crop:
# Crop to 1280x720 from top-left (0,0)
ffmpeg -i input.mp4 -vf "crop=1280:720:0:0" output.mp4
# Auto-detect and remove black borders
ffmpeg -i input.mp4 -vf "cropdetect" output.mp4Rotate:
# Rotate 90 degrees clockwise
ffmpeg -i input.mp4 -vf "transpose=1" output.mp4
# Rotate 180 degrees
ffmpeg -i input.mp4 -vf "transpose=1,transpose=1" output.mp4Watermark/Logo:
ffmpeg -i video.mp4 -i logo.png \
-filter_complex "overlay=10:10" output.mp4Speed adjustment:
# 2x speed
ffmpeg -i input.mp4 -vf "setpts=0.5*PTS" -af "atempo=2.0" output.mp4
# 0.5x speed (slow motion)
ffmpeg -i input.mp4 -vf "setpts=2.0*PTS" -af "atempo=0.5" output.mp4Volume adjustment:
# Increase volume by 10dB
ffmpeg -i input.mp4 -af "volume=10dB" output.mp4
# Set to 50% volume
ffmpeg -i input.mp4 -af "volume=0.5" output.mp4Normalize audio:
ffmpeg -i input.mp4 -af loudnorm output.mp4Crossfade between audio:
ffmpeg -i audio1.mp3 -i audio2.mp3 \
-filter_complex "[0][1]acrossfade=d=5" output.mp3Mix multiple audio tracks:
ffmpeg -i input1.mp3 -i input2.mp3 \
-filter_complex "[0:a][1:a]amix=inputs=2:duration=longest" output.mp3Basic stream:
ffmpeg -re -i input.mp4 -c:v libx264 -preset veryfast \
-maxrate 3000k -bufsize 6000k -pix_fmt yuv420p -g 50 \
-c:a aac -b:a 128k -ar 44100 \
-f flv rtmp://live.twitch.tv/app/YOUR_STREAM_KEYScreen capture + stream (Linux):
ffmpeg -f x11grab -s 1920x1080 -framerate 30 -i :0.0 \
-f pulse -ac 2 -i default \
-c:v libx264 -preset veryfast -tune zerolatency \
-maxrate 2500k -bufsize 5000k -pix_fmt yuv420p \
-c:a aac -b:a 128k -ar 44100 \
-f flv rtmp://live.twitch.tv/app/YOUR_STREAM_KEYScreen capture (Windows DirectShow):
ffmpeg -f dshow -i video="screen-capture-recorder":audio="Stereo Mix" \
-c:v libx264 -preset ultrafast -tune zerolatency \
-maxrate 750k -bufsize 3000k \
-f flv rtmp://live.twitch.tv/app/YOUR_STREAM_KEYImportant streaming parameters:
-re: Read input at native frame rate (real-time)-tune zerolatency: Optimize for low latency-g 50: Keyframe every 50 frames (2 seconds @ 25fps)-maxrate: Maximum bitrate-bufsize: Rate control buffer (typically 2x maxrate)Generate adaptive HLS stream:
ffmpeg -i input.mp4 \
-c:v libx264 -preset fast -crf 22 -g 48 -sc_threshold 0 \
-c:a aac -b:a 128k \
-f hls -hls_time 6 -hls_playlist_type vod \
-hls_segment_filename "segment_%03d.ts" \
playlist.m3u8Multi-bitrate HLS:
ffmpeg -i input.mp4 \
-map 0:v -map 0:a -map 0:v -map 0:a \
-c:v libx264 -crf 22 -c:a aac -b:a 128k \
-b:v:0 2000k -s:v:0 1280x720 -b:v:1 5000k -s:v:1 1920x1080 \
-var_stream_map "v:0,a:0 v:1,a:1" \
-master_pl_name master.m3u8 \
-f hls -hls_time 6 -hls_list_size 0 \
stream_%v/index.m3u8UDP stream:
ffmpeg -re -i input.mp4 -c copy -f mpegts udp://192.168.1.100:1234RTP audio stream:
ffmpeg -re -i audio.mp3 -c:a libopus -f rtp rtp://192.168.1.100:5004# H.264 with NVENC
ffmpeg -hwaccel cuda -i input.mp4 -c:v h264_nvenc -preset fast -crf 22 output.mp4
# H.265 with NVENC
ffmpeg -hwaccel cuda -i input.mp4 -c:v hevc_nvenc -preset fast -crf 24 output.mp4ffmpeg -hwaccel qsv -c:v h264_qsv -i input.mp4 \
-c:v h264_qsv -preset fast -global_quality 22 output.mp4ffmpeg -hwaccel auto -i input.mp4 \
-c:v h264_amf -quality balanced -rc cqp -qp 22 output.mp4# Detailed information
ffprobe -v quiet -print_format json -show_format -show_streams input.mp4
# Human-readable format
ffprobe input.mp4
# Get duration
ffprobe -v error -show_entries format=duration \
-of default=noprint_wrappers=1:nokey=1 input.mp4
# Get resolution
ffprobe -v error -select_streams v:0 \
-show_entries stream=width,height \
-of csv=s=x:p=0 input.mp4
# Get bitrate
ffprobe -v error -show_entries format=bit_rate \
-of default=noprint_wrappers=1:nokey=1 input.mp4# Convert all MKV files to MP4
for file in *.mkv; do
ffmpeg -i "$file" -c:v libx264 -crf 22 -c:a aac "${file%.mkv}.mp4"
done
# Resize all videos to 720p
for file in *.mp4; do
ffmpeg -i "$file" -vf scale=-1:720 "720p_${file}"
done# Install: sudo apt-get install parallel
# Process multiple files in parallel
ls *.mkv | parallel ffmpeg -i {} -c:v libx264 -crf 22 -c:a aac {.}.mp4# High quality GIF
ffmpeg -i input.mp4 -vf "fps=15,scale=640:-1:flags=lanczos,split[s0][s1];[s0]palettegen[p];[s1][p]paletteuse" output.gif
# Simple GIF
ffmpeg -i input.mp4 -vf "fps=10,scale=320:-1" output.gif# Extract all frames
ffmpeg -i input.mp4 frame_%04d.png
# Extract 1 frame per second
ffmpeg -i input.mp4 -vf fps=1 frame_%04d.png
# Extract single frame at 5 seconds
ffmpeg -ss 00:00:05 -i input.mp4 -frames:v 1 frame.png# From numbered images
ffmpeg -framerate 30 -i frame_%04d.png -c:v libx264 -crf 22 -pix_fmt yuv420p output.mp4
# From pattern
ffmpeg -framerate 24 -pattern_type glob -i '*.png' -c:v libx264 output.mp4# Burn subtitles into video
ffmpeg -i video.mp4 -vf subtitles=subtitles.srt output.mp4
# Embed subtitle track (soft subtitles)
ffmpeg -i video.mp4 -i subtitles.srt -c copy -c:s mov_text output.mp4ffmpeg -i input.mp4 -an -c:v copy output.mp4ffmpeg -i video.mp4 -i audio.mp3 -c:v copy -c:a aac -map 0:v:0 -map 1:a:0 output.mp4# Single thumbnail at 5 seconds
ffmpeg -i input.mp4 -ss 00:00:05 -vframes 1 -vf scale=320:-1 thumb.jpg
# Multiple thumbnails (one per minute)
ffmpeg -i input.mp4 -vf fps=1/60,scale=320:-1 thumb_%03d.jpgFast encoding (real-time processing):
ffmpeg -i input.mp4 -c:v libx264 -preset ultrafast -crf 23 output.mp4Balanced (default):
ffmpeg -i input.mp4 -c:v libx264 -preset medium -crf 22 output.mp4High quality (archival):
ffmpeg -i input.mp4 -c:v libx264 -preset veryslow -crf 18 output.mp4FFmpeg automatically uses multiple CPU cores. Override with:
ffmpeg -threads 8 -i input.mp4 -c:v libx264 output.mp4-c copy to avoid re-encoding-c:v or -vcodec: Video codec-b:v: Video bitrate (e.g., 2M, 2500k)-crf: Constant Rate Factor (0-51)-preset: Encoding speed/quality (ultrafast to veryslow)-tune: Encoding optimization (film, animation, zerolatency)-pix_fmt: Pixel format (yuv420p for compatibility)-r: Frame rate (e.g., 30, 60)-g: GOP size (keyframe interval)-c:a or -acodec: Audio codec-b:a: Audio bitrate (e.g., 128k, 192k)-ar: Audio sample rate (e.g., 44100, 48000)-ac: Audio channels (1=mono, 2=stereo)-q:a: Audio quality for VBR (0=best for MP3)-i: Input file-y: Overwrite output without asking-n: Never overwrite output-t: Duration to encode-ss: Start time offset-to: End time-vf: Video filters-af: Audio filters-map: Stream selection-metadata: Set metadata-f: Force formatInstall codec libraries:
# Ubuntu/Debian
sudo apt-get install ffmpeg libx264-dev libx265-dev libvpx-dev
# Check available encoders
ffmpeg -encodersUse safe defaults for maximum compatibility:
ffmpeg -i input.mkv -c:v libx264 -profile:v high -level 4.0 \
-pix_fmt yuv420p -c:a aac -b:a 128k output.mp4-hwaccel)-preset fast)-preset slow)When using FFmpeg:
ffmpeg -version)© einverne, LGPL-3.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in claude/skills/ffmpeg of einverne/dotfiles.
Open the folder on GitHubat commit c6c0686
Ffmpeg next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Ffmpeg this skilleinverne/dotfiles | 121 | — | ~4.1k | Automated safety check: Notes | LGPL-3.0 | |
| Shorts Video Makeruxjoseph/content-marketing-team | 107 | — | ~665 | Automated safety check: Pass | None | |
| Showcase Videorehan-remade/universal-modder | 5.3k | — | ~1.3k | Automated safety check: Pass | MIT | |
| Video Downloadcalesthio/OpenMontage | 65k | — | ~885 | Automated safety check: Pass | AGPL-3.0 | |
| Video Transcript Downloadersundial-org/awesome-openclaw-skills | 663 | 2 repos | ~574 | Automated safety check: Pass | None | |
| Youtube Downloaderdaymade/claude-code-skills | 1.4k | — | ~4.7k | Automated safety check: Pass | MIT |
uxjoseph/content-marketing-team
YouTube 영상에서 쇼츠 클립 3개를 자동 제작합니다. An agent skill from uxjoseph/content-marketing-team.
rehan-remade/universal-modder
Record and cut a short showcase video of a game mod, or a compilation of clips, ready to post on X/YouTube.
calesthio/OpenMontage
Download video and audio from YouTube and 1000+ sites using yt-dlp.
sundial-org/awesome-openclaw-skills
Download videos, audio, subtitles, and clean paragraph-style transcripts from YouTube and any other yt-dlp supported site.
daymade/claude-code-skills
Download YouTube videos and HLS streams (m3u8) from platforms like Mux, Vimeo, etc.
gooseworks-ai/goose-skills
Generates Instagram Reels where product image cuts are synced to audio beats.
einverne/dotfiles
Browser automation, debugging, and performance analysis using Puppeteer CLI scripts.
einverne/dotfiles
Comprehensive document creation, editing, and analysis with support for tracked changes, comments, formatting preservation, and text extraction.
einverne/dotfiles
Comprehensive PDF manipulation toolkit for extracting text and tables, creating new PDFs, merging/splitting documents, and handling forms.
einverne/dotfiles
Guide for implementing Google Gemini API audio capabilities - analyze audio with transcription, summarization, and understanding (up to 9.5 hours), plus generate speech with controllable TTS.
einverne/dotfiles
Guide for implementing Google Gemini API image generation - create high-quality images from text prompts using gemini-2.5-flash-image model.
einverne/dotfiles
Guide for implementing Google Gemini API image understanding - analyze images with captioning, classification, visual QA, object detection, segmentation, and multi-image comparison.
Categories
Guide for using FFmpeg - a comprehensive multimedia framework for video/audio encoding, conversion, streaming, and filtering. Ffmpeg is an agent skill from einverne/dotfiles. Guide for using FFmpeg - a comprehensive multimedia framework for video/audio encoding, conversion, streaming, and filtering.
Ffmpeg fits situations like: processing media files; converting formats; extracting audio; creating streams.
Run `npx skills add einverne/dotfiles --skill ffmpeg -a claude-code`. Or copy the skill folder (claude/skills/ffmpeg in einverne/dotfiles) into .claude/skills/ffmpeg in your project. Claude Code loads it when a task matches its description.
Run `npx skills add einverne/dotfiles --skill ffmpeg -a codex`. Or copy the skill folder (claude/skills/ffmpeg in einverne/dotfiles) into .agents/skills/ffmpeg in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add einverne/dotfiles --skill ffmpeg -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/ffmpeg, .gemini/skills/ffmpeg, .github/skills/ffmpeg and .opencode/skills/ffmpeg in your project.
Going by SKILL.md and its folder, Ffmpeg needs the command-line tools its instructions call (ffmpeg, ffprobe and apt-get). Our summary lists: A credential in YOUR_STREAM_KEY.
SKILL.md names 3 domains. As links in the text: trac.ffmpeg.org, ffmpeg.org and github.com. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found notes only (runs commands with sudo), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.
Ffmpeg is published under the LGPL-3.0 licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 4.1k tokens (SKILL.md is roughly 17k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Ffmpeg: Shorts Video Maker (uxjoseph/content-marketing-team, 107 stars), Showcase Video (rehan-remade/universal-modder, 5.3k stars), Video Download (calesthio/OpenMontage, 65k stars) and Video Transcript Downloader (sundial-org/awesome-openclaw-skills, 663 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
einverne (a GitHub user) maintains it in einverne/dotfiles, which has 121 GitHub stars. The repository holds 39 skills in this directory. The repository was last updated on September 9, 2026.
Source: einverne/dotfiles on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.