tibsfox/gsd-skill-creator/av-studio

Claude Code and agent skill by tibsfox/gsd-skill-creator

Trust tier 2
  • community
LLM review pending
Source check pending

Checking that the SKILL.md file is still in the repository.

Audio/video studio production — multi-track editing, color grading, motion graphics, compositing, live streaming, screen recording, YouTube publishing.

Install

npx vskill@latest install tibsfox/gsd-skill-creator/av-studio

SKILL.md

AV Studio Production Skill

Combines ffmpeg-media (codecs/formats), audio-engineering (mastering/mixing), and gource-visualizer (repo visualization) into a unified production toolkit for video content creation, live streaming, and multimedia publishing.

Production Templates

YouTube Video Pipeline
bash
# 1. Screen recording (with audio)
ffmpeg -f x11grab -video_size 1920x1080 -framerate 30 -i :0.0 \
-f pulse -i default \
-c:v libx264 -preset ultrafast -crf 18 \
-c:a aac -b:a 192k \
raw_recording.mkv
# 2. Trim to content
ffmpeg -ss 00:00:05 -i raw_recording.mkv -to 00:45:00 -c copy trimmed.mkv
# 3. Add intro + outro
cat > concat.txt << EOF
file 'intro.mp4'
file 'trimmed.mkv'
file 'outro.mp4'
EOF
ffmpeg -f concat -safe 0 -i concat.txt -c:v libx264 -c:a aac assembled.mp4
# 4. Color grade + normalize audio
ffmpeg -i assembled.mp4 \
-vf "eq=brightness=0.04:contrast=1.1:saturation=1.15,unsharp=5:5:0.5" \
-af "loudnorm=I=-14:TP=-1:LRA=11" \
-c:v libx264 -preset medium -crf 20 -pix_fmt yuv420p \
-c:a aac -b:a 192k \
-movflags +faststart \
final.mp4
# 5. Generate thumbnail
ffmpeg -i final.mp4 -ss 00:00:30 -frames:v 1 \
-vf "scale=1280:720" thumbnail.jpg
Presentation Recording
bash
# Record screen + webcam PiP
ffmpeg -f x11grab -video_size 1920x1080 -framerate 30 -i :0.0 \
-f v4l2 -video_size 320x240 -framerate 30 -i /dev/video0 \
-f pulse -i default \
-filter_complex "[0:v][1:v]overlay=W-w-20:H-h-20[out]" \
-map "[out]" -map 2:a \
-c:v libx264 -preset fast -crf 22 \
-c:a aac -b:a 128k \
presentation.mp4
Tutorial / Screencast
bash
# Record with mouse cursor highlight
ffmpeg -f x11grab -video_size 1920x1080 -framerate 30 \
-draw_mouse 1 -i :0.0 \
-f pulse -i default \
-c:v libx264 -preset fast -crf 20 \
-c:a aac -b:a 128k \
tutorial.mp4
# Add chapter markers (for YouTube)
ffmpeg -i tutorial.mp4 -c copy \
-metadata:c:0 title="Introduction" \
-metadata:c:0 timebase=1/1000 \
chaptered.mp4

Color Grading

LUT Application
bash
# Apply a 3D LUT (cube format)
ffmpeg -i input.mp4 -vf "lut3d=cinematic.cube" graded.mp4
# Apply with blend (50% strength)
ffmpeg -i input.mp4 -vf "split[a][b];[b]lut3d=cinematic.cube[c];[a][c]blend=all_opacity=0.5" graded.mp4
Manual Color Correction
bash
# Lift/Gamma/Gain (shadows/midtones/highlights)
ffmpeg -i input.mp4 -vf "\
colorbalance=rs=0.1:gs=-0.05:bs=0.15:\
rm=0:gm=0:bm=0:\
rh=-0.05:gh=0:bh=0.05" \
corrected.mp4
# White balance correction (warm up)
ffmpeg -i input.mp4 -vf "colortemperature=temperature=6500" warm.mp4
# Curves (S-curve for contrast)
ffmpeg -i input.mp4 -vf "curves=master='0/0 0.25/0.15 0.5/0.5 0.75/0.85 1/1'" contrast.mp4

Motion Graphics

Text Animations
bash
# Fade-in title card (2 seconds)
ffmpeg -i input.mp4 -vf "\
drawtext=text='Episode Title':\
fontsize=72:fontcolor=white@0.0:\
x=(w-text_w)/2:y=(h-text_h)/2:\
alpha='if(lt(t,1),t,if(lt(t,3),1,if(lt(t,4),4-t,0)))'" \
titled.mp4
# Lower third (name + title)
ffmpeg -i input.mp4 -vf "\
drawbox=x=0:y=ih-120:w=500:h=120:color=black@0.7:t=fill,\
drawtext=text='Jane Doe':fontsize=36:fontcolor=white:x=20:y=ih-110,\
drawtext=text='Software Engineer':fontsize=24:fontcolor=0xcccccc:x=20:y=ih-65" \
lower_third.mp4
Transitions
bash
# Crossfade between two clips (1 second overlap)
ffmpeg -i clip1.mp4 -i clip2.mp4 \
-filter_complex "\
[0:v]trim=0:10,setpts=PTS-STARTPTS[v0];\
[1:v]trim=0:10,setpts=PTS-STARTPTS[v1];\
[v0][v1]xfade=transition=fade:duration=1:offset=9[vout];\
[0:a]atrim=0:10,asetpts=PTS-STARTPTS[a0];\
[1:a]atrim=0:10,asetpts=PTS-STARTPTS[a1];\
[a0][a1]acrossfade=d=1[aout]" \
-map "[vout]" -map "[aout]" crossfade.mp4
# Available xfade transitions:
# fade, wipeleft, wiperight, wipeup, wipedown, slideleft, slideright,
# slideup, slidedown, circlecrop, circleopen, circleclose, dissolve,
# pixelize, diagtl, diagtr, diagbl, diagbr, hlslice, hrslice,
# vuslice, vdslice, hblur, fadegrays, squeezeh, squeezev
Picture-in-Picture
bash
# Webcam overlay (bottom right, 25% size)
ffmpeg -i screen.mp4 -i webcam.mp4 \
-filter_complex "\
[1:v]scale=iw/4:ih/4[pip];\
[0:v][pip]overlay=W-w-20:H-h-20" \
-c:v libx264 -crf 22 -c:a aac pip.mp4
# Animated PiP (slides in from right)
ffmpeg -i screen.mp4 -i webcam.mp4 \
-filter_complex "\
[1:v]scale=320:240[pip];\
[0:v][pip]overlay=x='if(lt(t,1),W,W-w-20)':y=H-h-20" \
animated_pip.mp4

Video Stabilization

bash
# Two-pass stabilization with vidstab
# Pass 1: analyze
ffmpeg -i shaky.mp4 -vf vidstabdetect=shakiness=5:accuracy=15 -f null -
# Pass 2: apply
ffmpeg -i shaky.mp4 -vf vidstabtransform=smoothing=10:input=transforms.trf stabilized.mp4

Timelapse / Slow Motion

bash
# Timelapse from photos (one frame per image)
ffmpeg -framerate 30 -pattern_type glob -i 'photos/*.jpg' \
-c:v libx264 -crf 18 -pix_fmt yuv420p timelapse.mp4
# Speed ramp (normal → 4x → normal)
ffmpeg -i input.mp4 -filter_complex "\
[0:v]trim=0:10,setpts=PTS-STARTPTS[v1];\
[0:v]trim=10:30,setpts=0.25*(PTS-STARTPTS)[v2];\
[0:v]trim=30:40,setpts=PTS-STARTPTS[v3];\
[v1][v2][v3]concat=n=3:v=1:a=0[out]" \
-map "[out]" speed_ramp.mp4
# Smooth slow motion (frame interpolation with minterpolate)
ffmpeg -i input.mp4 -vf "minterpolate=fps=120:mi_mode=mci:mc_mode=aobmc:vsbmc=1" \
-r 30 slowmo.mp4

Live Streaming

bash
# Stream to YouTube via RTMP
ffmpeg -f x11grab -video_size 1920x1080 -framerate 30 -i :0.0 \
-f pulse -i default \
-c:v libx264 -preset veryfast -maxrate 4500k -bufsize 9000k \
-pix_fmt yuv420p -g 60 \
-c:a aac -b:a 128k -ar 44100 \
-f flv "rtmp://a.rtmp.youtube.com/live2/YOUR_STREAM_KEY"
# Stream to Twitch
ffmpeg -f x11grab -video_size 1920x1080 -framerate 30 -i :0.0 \
-f pulse -i default \
-c:v libx264 -preset veryfast -maxrate 6000k -bufsize 12000k \
-pix_fmt yuv420p -g 60 \
-c:a aac -b:a 160k -ar 44100 \
-f flv "rtmp://live.twitch.tv/app/YOUR_STREAM_KEY"

Aspect Ratios

FormatRatioResolutionUse
Widescreen16:91920x1080YouTube, presentations
Vertical9:161080x1920TikTok, Reels, Shorts
Square1:11080x1080Instagram feed
Ultrawide21:92560x1080Cinematic
Classic4:31440x1080Legacy, some webcams
Cinema2.39:12048x858Film standard
Letterboxing / Pillarboxing
bash
# Add letterbox (16:9 → 21:9 cinematic bars)
ffmpeg -i input.mp4 -vf "pad=iw:iw*9/21:(ow-iw)/2:(oh-ih)/2:black" cinematic.mp4
# Convert vertical to horizontal (blur background)
ffmpeg -i vertical.mp4 -filter_complex "\
[0:v]scale=1920:1080:force_original_aspect_ratio=increase,crop=1920:1080,boxblur=20[bg];\
[0:v]scale=-1:1080[fg];\
[bg][fg]overlay=(W-w)/2:0" \
horizontal_blurbg.mp4

YouTube Publishing Checklist

  1. Video specs: H.264, 1080p+, -14 LUFS audio, thumbnail 1280x720
  2. faststart: -movflags +faststart for progressive download
  3. Pixel format: -pix_fmt yuv420p for compatibility
  4. Chapters: Include in description (00:00 Intro, 01:30 Topic, etc.)
  5. Thumbnail: High-contrast, readable text at small sizes, faces perform well
  6. Subtitles: SRT file or burn-in with drawtext filter
  7. End screen: Last 20 seconds reserved for cards/end screen elements

Related Skills & Agents

AssetRole
ffmpeg-media skillCodec/format foundation
audio-engineering skillAudio mastering/mixing
ffmpeg-processor agentFormat conversion
audio-engineer agentAudio mastering
podcast-producer agentPodcast pipeline
music-analyzer agentAudio analysis
gource-visualizer skillRepository visualization → video

When This Skill Activates

  • Video editing, trimming, concatenation with transitions
  • Color grading and correction
  • Motion graphics, titles, lower thirds
  • Screen recording and screencasts
  • Live streaming (YouTube, Twitch)
  • Picture-in-picture compositing
  • Video stabilization
  • Timelapse and slow motion
  • Aspect ratio conversion
  • YouTube video publishing workflow

Security

  • Security scanPassed, 96 of 100Pattern checks on the skill's files.
  • Model reviewNot runA model review is scheduled for the next rescan.

Quality evaluation

  • Task evaluationNot runNo evaluation yet. Run one in Skill Studio.

Source

Popularity

Repository stars
70
Repository forks
10
7-day trend score
26

Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.

Works with

Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.

  • Claude Code
  • Cursor
  • GitHub Copilot
  • Windsurf
  • Codex
  • Gemini CLI
  • Cline
  • Amp
  • Roo Code
  • Goose
  • Continue
  • Kilo Code
  • Junie
  • Trae
  • OpenHands
  • Qwen Code
  • AI Agent
  • Tabnine Chat
  • Sourcegraph Cody
  • Amazon Q
  • Firebase Genkit
  • Sweep
  • Devin
  • Phind
  • Mentat
  • Claude Desktop
  • Aider
  • GPT Pilot
  • Plandex
  • bolt.new
  • v0
  • Replit Agent
  • Anse
  • TypingMind
  • BetterChatGPT
  • LibreChat
  • Warp AI
  • Pieces
  • Fig AI
Embed badge
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/tibsfox/gsd-skill-creator/av-studio/badge)](https://verified-skill.com/skills/tibsfox/gsd-skill-creator/av-studio)

Something wrong with this skill or its page? Tell us.