Agent skill

Video Clipping Reference

by RightNow-AI in RightNow-AI/openfang

Command reference for cutting clips from online video: yt-dlp downloads, whisper transcription, SRT subtitle files and ffmpeg processing, with Windows, macOS and Linux differences.

Apache-2.0Auto-check: warningsMedia & Creative

Install Video Clipping Reference

The automated check flagged lines worth reading first. See the safety section below.

skills CLI
$ npx skills add RightNow-AI/openfang --skill clip-hand-skill -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install RightNow-AI/openfang clip-hand-skill --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/RightNow-AI/openfang.git skills-src && mkdir -p .claude/skills && cp -r skills-src/crates/openfang-hands/bundled/clip .claude/skills/clip-hand-skill && rm -rf skills-src

Use ~/.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/

Facts

Skill name
clip-hand-skill
GitHub stars
18k
Token cost
~4.1k tokens
SKILL.md length
1,012 words
Files
2
Skills in repo
68
Repo updated
First seen
Licence
Apache-2.0

At a glance

Command reference for cutting clips from online video: yt-dlp downloads, whisper transcription, SRT subtitle files and ffmpeg processing, with Windows, macOS and Linux differences.

  • Works in 2 steps: Upload Media → Send Video Message
  • Cutting short clips out of a longer video with ffmpeg
  • SKILL.md covers Cross-Platform Notes, yt-dlp Reference, Whisper Transcription Reference and YouTube json3 Subtitle Parsing, plus 3 more sections
  • Calls ffmpeg, curl and yt-dlp; reaches api.openai.com and graph.facebook.com; needs OPENAI_API_KEY and ACCESS_TOKEN

What it does

This skill is a command reference rather than a step-by-step workflow. It notes that ffmpeg, ffprobe, yt-dlp and whisper take the same flags on Windows, macOS and Linux and only the shell syntax differs, with a table covering stderr redirection, output filtering, deleting files and ffmpeg subtitle paths, which need forward slashes and an escaped colon for absolute Windows paths. It prefers creating SRT and text files with a file-write tool over shell echo or heredocs.

The yt-dlp section covers downloading at up to 1080p with merged audio, dumping metadata as JSON, fetching YouTube auto-generated subtitles with word-level timing, and flags such as --restrict-filenames, --no-playlist, --extract-audio and --cookies-from-browser. The whisper section shows extracting mono 16kHz WAV audio with ffmpeg, running a transcription with word timestamps and JSON output, and includes a table of model sizes.

When your agent uses it

  • Cutting short clips out of a longer video with ffmpeg
  • Downloading a video and its subtitles with yt-dlp
  • Transcribing a video's audio with whisper to get word-level timestamps
  • Burning SRT subtitles into a clip when working with Windows paths

Example prompts

  • “Download this YouTube video at up to 1080p and extract mono 16kHz audio for whisper.”
  • “Generate an SRT file for clip.mp4 and burn the subtitles in with ffmpeg on Windows.”
  • “Pull the auto-generated English subtitles for this talk and show me where the chapters start.”

Requirements

  • ffmpeg and ffprobe
  • yt-dlp
  • whisper

Workflow steps

2 steps, taken from the step headings in SKILL.md.

  1. Upload Media
  2. Send Video Message

What it can do on your machine

Read from SKILL.md and the folder at commit acf2587. It shows what the files ask for, not the result of running them.

  • Tool permissions

    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.

  • Runs code

    Shell commands in SKILL.md call:

    • ffmpeg
    • curl
    • yt-dlp
    • ffprobe
    • whisper
    • pip

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • api.openai.com
    • graph.facebook.com
    • api.groq.com
    • api.deepgram.com
    • api.elevenlabs.io
    • api.telegram.org

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names these keys or tokens, usually read from environment variables:

    • OPENAI_API_KEY
    • ACCESS_TOKEN
    • GROQ_API_KEY
    • DEEPGRAM_API_KEY
    • ELEVENLABS_API_KEY
    • BOT_TOKEN

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Video Clipping Reference loads about 4.1k tokens when it runs. Until then it costs about 34 tokens; SKILL.md has 1,012 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~34
When it runs · the whole SKILL.md, loaded when a task matches
~4.1k

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.

Safety

Auto-check: warnings

The automated check found patterns that need a careful read before installing.

  • WarningMentions a credentials file (SSH keys, cloud or package-manager tokens)SKILL.md:66
    - `--cookies-from-browser chrome` — use browser cookies for age-restricted content

Automated 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.

SKILL.md

The full file from RightNow-AI/openfang at commit acf2587, republished under its Apache-2.0 licence (© RightNow-AI). 1,012 words, ~4,110 tokens.

Download SKILL.mdSave it as .claude/skills/clip-hand-skill/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
clip-hand-skill
description
Expert knowledge for AI video clipping — yt-dlp downloading, whisper transcription, SRT generation, and ffmpeg processing
version
2.0.0
runtime
prompt_only

Video Clipping Expert Knowledge

Cross-Platform Notes

All tools (ffmpeg, ffprobe, yt-dlp, whisper) use identical CLI flags on Windows, macOS, and Linux. The differences are only in shell syntax:

FeaturemacOS / LinuxWindows (cmd.exe)
Suppress stderr2>/dev/null2>NUL
Filter output| grep pattern| findstr pattern
Delete filesrm file1 file2del file1 file2
Null output device-f null --f null - (same)
ffmpeg subtitle pathssubtitles=clip.srtsubtitles=clip.srt (relative OK, absolute needs C\\:/path)

IMPORTANT: ffmpeg filter paths (-vf "subtitles=...") always need forward slashes. On Windows with absolute paths, escape the colon: subtitles=C\\:/Users/me/clip.srt

Prefer using file_write tool for creating SRT/text files instead of shell echo/heredoc.


yt-dlp Reference

Download with Format Selection
# Best video up to 1080p + best audio, merged
yt-dlp -f "bv[height<=1080]+ba/b[height<=1080]" --restrict-filenames -o "source.%(ext)s" "URL"

# 720p max (smaller, faster)
yt-dlp -f "bv[height<=720]+ba/b[height<=720]" --restrict-filenames -o "source.%(ext)s" "URL"

# Audio only (for transcription-only workflows)
yt-dlp -x --audio-format wav --restrict-filenames -o "audio.%(ext)s" "URL"
Metadata Inspection
# Get full metadata as JSON (duration, title, chapters, available subs)
yt-dlp --dump-json "URL"

# Key fields: duration, title, description, chapters, subtitles, automatic_captions
YouTube Auto-Subtitles
# Download auto-generated subtitles in json3 format (word-level timing)
yt-dlp --write-auto-subs --sub-lang en --sub-format json3 --skip-download --restrict-filenames -o "source" "URL"

# Download manual subtitles if available
yt-dlp --write-subs --sub-lang en --sub-format srt --skip-download --restrict-filenames -o "source" "URL"

# List available subtitle languages
yt-dlp --list-subs "URL"
Useful Flags
  • --restrict-filenames — safe ASCII filenames (no spaces/special chars) — important on all platforms
  • --no-playlist — download single video even if URL is in a playlist
  • -o "template.%(ext)s" — output template (%(ext)s auto-detects format)
  • --cookies-from-browser chrome — use browser cookies for age-restricted content
  • --extract-audio / -x — extract audio only
  • --audio-format wav — convert audio to wav (for whisper)

Whisper Transcription Reference

Audio Extraction for Whisper
# Extract mono 16kHz WAV (whisper's preferred input format)
ffmpeg -i source.mp4 -vn -ar 16000 -ac 1 -y audio.wav
Basic Transcription
# Standard transcription with word-level timestamps
whisper audio.wav --model small --output_format json --word_timestamps true --language en

# Faster alternative (same flags, 4x speed)
whisper-ctranslate2 audio.wav --model small --output_format json --word_timestamps true --language en
Model Sizes
ModelVRAMSpeedQualityUse When
tiny~1GBFastestRoughQuick previews, testing pipeline
base~1GBFastOKShort clips, clear speech
small~2GBGoodGoodDefault — best balance
medium~5GBSlowBetterImportant content, accented speech
large-v3~10GBSlowestBestFinal production, multiple languages

Note: On macOS Apple Silicon, consider mlx-whisper as a faster native alternative.

JSON Output Structure
json
{
  "text": "full transcript text...",
  "segments": [
    {
      "id": 0,
      "start": 0.0,
      "end": 4.52,
      "text": " Hello everyone, welcome back.",
      "words": [
        {"word": " Hello", "start": 0.0, "end": 0.32, "probability": 0.95},
        {"word": " everyone,", "start": 0.32, "end": 0.78, "probability": 0.91},
        {"word": " welcome", "start": 0.78, "end": 1.14, "probability": 0.98},
        {"word": " back.", "start": 1.14, "end": 1.52, "probability": 0.97}
      ]
    }
  ]
}
  • segments[].words[] gives word-level timing when --word_timestamps true
  • probability indicates confidence (< 0.5 = likely wrong)

YouTube json3 Subtitle Parsing

Format Structure
json
{
  "events": [
    {
      "tStartMs": 1230,
      "dDurationMs": 5000,
      "segs": [
        {"utf8": "hello ", "tOffsetMs": 0},
        {"utf8": "world ", "tOffsetMs": 200},
        {"utf8": "how ", "tOffsetMs": 450},
        {"utf8": "are you", "tOffsetMs": 700}
      ]
    }
  ]
}
Extracting Word Timing

For each event and each segment within it:

  • word_start_ms = event.tStartMs + seg.tOffsetMs
  • word_start_secs = word_start_ms / 1000.0
  • word_text = seg.utf8.trim()

Events without segs are line breaks or formatting — skip them. Events with segs containing only "\n" are newlines — skip them.


SRT Generation from Transcript

SRT Format
1
00:00:00,000 --> 00:00:02,500
First line of caption text

2
00:00:02,500 --> 00:00:05,100
Second line of caption text
Rules for Building Good SRT
  • Group words into subtitle lines of ~8-12 words (2-3 seconds per line)
  • Break at natural pause points (periods, commas, clause boundaries)
  • Keep lines under 42 characters for readability on mobile
  • Adjust timestamps relative to clip start (subtract clip start time from all timestamps)
  • Timestamp format: HH:MM:SS,mmm (comma separator, not dot)
  • Each entry: index line, timestamp line, text line(s), blank line
  • Use file_write tool to create the SRT file — works identically on all platforms
Styled Captions with ASS Format

For animated/styled captions, use ASS subtitle format instead of SRT:

ffmpeg -i clip.mp4 -vf "subtitles=clip.ass:force_style='FontSize=22,FontName=Arial,Bold=1,PrimaryColour=&H00FFFFFF,OutlineColour=&H00000000,Outline=2,Shadow=1,Alignment=2,MarginV=40'" -c:a copy output.mp4

Key ASS style properties:

  • PrimaryColour=&H00FFFFFF — white text (AABBGGRR format)
  • OutlineColour=&H00000000 — black outline
  • Outline=2 — outline thickness
  • Alignment=2 — bottom center
  • MarginV=40 — margin from bottom edge
  • FontSize=22 — good size for 1080x1920 vertical

FFmpeg Video Processing

Scene Detection
ffmpeg -i input.mp4 -filter:v "select='gt(scene,0.3)',showinfo" -f null - 2>&1
  • Threshold 0.1 = very sensitive, 0.5 = only major cuts
  • Parse pts_time: from showinfo output for timestamps
  • On macOS/Linux pipe through grep showinfo, on Windows pipe through findstr showinfo
Silence Detection
ffmpeg -i input.mp4 -af "silencedetect=noise=-30dB:d=1.5" -f null - 2>&1
  • d=1.5 = minimum 1.5 seconds of silence
  • Look for silence_start and silence_end in output
Clip Extraction
# Re-encoded (accurate cuts)
ffmpeg -ss 00:01:30 -to 00:02:15 -i input.mp4 -c:v libx264 -c:a aac -preset fast -crf 23 -movflags +faststart -y clip.mp4

# Lossless copy (fast but may have keyframe alignment issues)
ffmpeg -ss 00:01:30 -to 00:02:15 -i input.mp4 -c copy -y clip.mp4
  • -ss before -i = fast seek (recommended for extraction)
  • -to = end timestamp, -t = duration
Vertical Video (9:16 for Shorts/Reels/TikTok)
# Center crop (when source is 16:9)
ffmpeg -i input.mp4 -vf "crop=ih*9/16:ih:(iw-ih*9/16)/2:0,scale=1080:1920" -c:a copy output.mp4

# Scale with letterbox padding (preserves full frame)
ffmpeg -i input.mp4 -vf "scale=1080:1920:force_original_aspect_ratio=decrease,pad=1080:1920:(ow-iw)/2:(oh-ih)/2:black" -c:a copy output.mp4
Caption Burn-in
# SRT subtitles with styling (use relative path or forward-slash absolute path)
ffmpeg -i input.mp4 -vf "subtitles=subs.srt:force_style='FontSize=22,FontName=Arial,PrimaryColour=&H00FFFFFF,OutlineColour=&H00000000,Outline=2,Alignment=2,MarginV=40'" -c:a copy output.mp4

# Simple text overlay
ffmpeg -i input.mp4 -vf "drawtext=text='Caption':fontsize=48:fontcolor=white:borderw=3:bordercolor=black:x=(w-text_w)/2:y=h-th-40" output.mp4

Windows path escaping: subtitles=C\\:/Users/me/subs.srt (double-backslash before colon)

Thumbnail Generation
# At specific time (2 seconds in)
ffmpeg -i input.mp4 -ss 2 -frames:v 1 -q:v 2 -y thumb.jpg

# Best keyframe
ffmpeg -i input.mp4 -vf "select='eq(pict_type,I)',scale=1280:720" -frames:v 1 thumb.jpg

# Contact sheet
ffmpeg -i input.mp4 -vf "fps=1/10,scale=320:-1,tile=4x4" contact.jpg
Video Analysis
# Full metadata (JSON)
ffprobe -v quiet -print_format json -show_format -show_streams input.mp4

# Duration only
ffprobe -v error -show_entries format=duration -of csv=p=0 input.mp4

# Resolution
ffprobe -v error -select_streams v:0 -show_entries stream=width,height -of csv=p=0 input.mp4

API-Based STT Reference

Groq Whisper API

Fastest cloud STT — uses whisper-large-v3 on Groq hardware. Free tier available.

curl -s -X POST "https://api.groq.com/openai/v1/audio/transcriptions" \
  -H "Authorization: Bearer $GROQ_API_KEY" \
  -H "Content-Type: multipart/form-data" \
  -F "file=@audio.wav" \
  -F "model=whisper-large-v3" \
  -F "response_format=verbose_json" \
  -F "timestamp_granularities[]=word" \
  -o transcript_raw.json

Response: {"text": "...", "words": [{"word": "hello", "start": 0.0, "end": 0.32}]}

  • Max file size: 25MB. For longer audio, split with ffmpeg first.
  • timestamp_granularities[]=word is required for word-level timing.
OpenAI Whisper API
curl -s -X POST "https://api.openai.com/v1/audio/transcriptions" \
  -H "Authorization: Bearer $OPENAI_API_KEY" \
  -H "Content-Type: multipart/form-data" \
  -F "file=@audio.wav" \
  -F "model=whisper-1" \
  -F "response_format=verbose_json" \
  -F "timestamp_granularities[]=word" \
  -o transcript_raw.json

Response format same as Groq. Max 25MB.

Deepgram Nova-2
curl -s -X POST "https://api.deepgram.com/v1/listen?model=nova-2&smart_format=true&utterances=true&punctuate=true" \
  -H "Authorization: Token $DEEPGRAM_API_KEY" \
  -H "Content-Type: audio/wav" \
  --data-binary @audio.wav \
  -o transcript_raw.json

Response: {"results": {"channels": [{"alternatives": [{"words": [{"word": "hello", "start": 0.0, "end": 0.32, "confidence": 0.99}]}]}]}}

  • Supports streaming, but for clips use batch mode.
  • smart_format=true adds punctuation and casing.

TTS Reference

Edge TTS (free, no API key needed)
# List available voices
edge-tts --list-voices

# Generate speech
edge-tts --text "Your caption text here" --voice en-US-AriaNeural --write-media tts_output.mp3

# Other good voices: en-US-GuyNeural, en-GB-SoniaNeural, en-AU-NatashaNeural

Install: pip install edge-tts

OpenAI TTS
curl -s -X POST "https://api.openai.com/v1/audio/speech" \
  -H "Authorization: Bearer $OPENAI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model":"tts-1","input":"Your text here","voice":"alloy"}' \
  --output tts_output.mp3

Voices: alloy, echo, fable, onyx, nova, shimmer Models: tts-1 (fast), tts-1-hd (quality)

Show full SKILL.md (405 more words)Show less
ElevenLabs
curl -s -X POST "https://api.elevenlabs.io/v1/text-to-speech/21m00Tcm4TlvDq8ikWAM" \
  -H "xi-api-key: $ELEVENLABS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"text":"Your text here","model_id":"eleven_monolingual_v1"}' \
  --output tts_output.mp3

Voice ID 21m00Tcm4TlvDq8ikWAM = Rachel (default). List voices: GET /v1/voices

Audio Merging (TTS + Original)
# Mix TTS over original audio (original at 30% volume, TTS at 100%)
ffmpeg -i clip.mp4 -i tts.mp3 \
  -filter_complex "[0:a]volume=0.3[orig];[1:a]volume=1.0[tts];[orig][tts]amix=inputs=2:duration=first[out]" \
  -map 0:v -map "[out]" -c:v copy -c:a aac -y clip_voiced.mp4

# Replace audio entirely (no original audio)
ffmpeg -i clip.mp4 -i tts.mp3 -map 0:v -map 1:a -c:v copy -c:a aac -shortest -y clip_voiced.mp4

Quality & Performance Tips

  • Use -preset ultrafast for quick previews, -preset slow for final output
  • Use -crf 23 for good quality (18=high, 28=low, lower=bigger files)
  • Add -movflags +faststart for web-friendly MP4
  • Use -threads 0 to auto-detect CPU cores
  • Always use -y to overwrite without asking

Telegram Bot API Reference

sendVideo — Upload and send a video to a chat/channel
curl -s -X POST "https://api.telegram.org/bot<BOT_TOKEN>/sendVideo" \
  -F "chat_id=<CHAT_ID>" \
  -F "video=@clip_N_final.mp4" \
  -F "caption=Clip title here" \
  -F "parse_mode=HTML" \
  -F "supports_streaming=true"
Parameters
ParameterRequiredDescription
chat_idYesChannel (-100XXXXXXXXXX or @channelname), group, or user numeric ID
videoYes@filepath for upload (max 50MB) or a Telegram file_id for re-send
captionNoText caption, up to 1024 characters
parse_modeNoHTML or MarkdownV2 for styled captions
supports_streamingNotrue enables progressive playback
Success Response
json
{"ok": true, "result": {"message_id": 1234, "video": {"file_id": "BAACAgI...", "file_size": 5242880}}}
Error Response
json
{"ok": false, "error_code": 400, "description": "Bad Request: chat not found"}
Common Errors
Error CodeDescriptionFix
400Chat not foundVerify chat_id; bot must be added to the channel/group
401UnauthorizedBot token is invalid or revoked — regenerate via @BotFather
413Request entity too largeFile exceeds 50MB — re-encode: ffmpeg -i input.mp4 -fs 49M -c:v libx264 -crf 28 -preset fast -c:a aac -y output.mp4
429Too many requestsRate limited — wait the retry_after seconds from the response
File Size Limit

Telegram allows up to 50MB for video uploads via Bot API. If a clip exceeds this:

ffmpeg -i clip_N_final.mp4 -fs 49M -c:v libx264 -crf 28 -preset fast -c:a aac -movflags +faststart -y clip_N_tg.mp4

WhatsApp Business Cloud API Reference

Two-Step Flow: Upload Media → Send Message

WhatsApp Cloud API requires uploading the video first to get a media_id, then sending a message referencing that ID.

Step 1 — Upload Media
curl -s -X POST "https://graph.facebook.com/v21.0/<PHONE_NUMBER_ID>/media" \
  -H "Authorization: Bearer <ACCESS_TOKEN>" \
  -F "file=@clip_N_final.mp4" \
  -F "type=video/mp4" \
  -F "messaging_product=whatsapp"

Success response:

json
{"id": "1234567890"}
Step 2 — Send Video Message
curl -s -X POST "https://graph.facebook.com/v21.0/<PHONE_NUMBER_ID>/messages" \
  -H "Authorization: Bearer <ACCESS_TOKEN>" \
  -H "Content-Type: application/json" \
  -d '{
    "messaging_product": "whatsapp",
    "to": "<RECIPIENT_PHONE>",
    "type": "video",
    "video": {
      "id": "<MEDIA_ID>",
      "caption": "Clip title here"
    }
  }'

Success response:

json
{"messaging_product": "whatsapp", "contacts": [{"wa_id": "14155551234"}], "messages": [{"id": "wamid.HBgL..."}]}
File Size Limit

WhatsApp allows up to 16MB for video uploads. If a clip exceeds this:

ffmpeg -i clip_N_final.mp4 -fs 15M -c:v libx264 -crf 30 -preset fast -c:a aac -movflags +faststart -y clip_N_wa.mp4
24-Hour Messaging Window

WhatsApp requires the recipient to have messaged you within the last 24 hours (for non-template messages). If you get a "template required" error, either:

  • Ask the recipient to send any message to the business number first
  • Use a pre-approved message template instead of a free-form video message
Common Errors
Error CodeDescriptionFix
100Invalid parameterCheck phone_number_id and recipient format (no + prefix, no spaces)
190Invalid/expired access tokenRegenerate token in Meta Business Settings; temporary tokens expire in 24h
131030Recipient not in allowed listIn test mode, add recipient to allowed numbers in Meta Developer Portal
131047Re-engagement message / template requiredRecipient hasn't messaged within 24h — use a template or ask them to message first
131053Media upload failedFile too large or unsupported format — re-encode as MP4 under 16MB

© RightNow-AI, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 1 other file in crates/openfang-hands/bundled/clip of RightNow-AI/openfang.

  • SKILL.md
  • HAND.toml

Open the folder on GitHubat commit acf2587

Compare with similar skills

Video Clipping Reference 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.

Video Clipping Reference compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Video Clipping Reference this skillRightNow-AI/openfang18k—~4.1kAutomated safety check: WarnApache-2.0
Ffmpeg Skillkajisho5/ffmpeg-skill1.9k—~7.4kAutomated safety check: PassMIT
Video Clip Extractorlinzzzzzz/openclip569—~2.8kAutomated safety check: WarnMIT
Record Demolibnativeapi/nativeapi166—~2.9kAutomated safety check: PassMIT
Transcribebadlogic/pi-skills2.6k—~264Automated safety check: PassMIT
Watchmathiaschu/watch142—~4kAutomated safety check: WarnMIT

Similar skills

  • Ffmpeg Skill

    kajisho5/ffmpeg-skill

    Edit video and audio with local FFmpeg from natural-language requests: cut, trim, join, resize/reframe (9:16, 1:1), speed change, captions and subtitles (SRT/ASS, animated, karaoke), logos and text…

    1.9k GitHub stars~7.4k tokensUpdated yesterday
    Media & CreativeAuto-check passed
  • Video Clip Extractor

    linzzzzzz/openclip

    Processes videos to identify engaging moments, generate transcripts, and create highlight clips with artistic titles and custom cover images.

    569 GitHub stars~2.8k tokensUpdated 1 mo ago
    Media & CreativeAuto-check: warnings
  • Record Demo

    libnativeapi/nativeapi

    Record a demo video of a desktop app — launch it, play a scripted scenario with smooth synthetic mouse input, and capture the screen (cursor and click highlights included) straight to an…

    166 GitHub stars~2.9k tokensUpdated today
    Media & CreativeAuto-check passed
  • Transcribe

    badlogic/pi-skills

    Local speech-to-text transcription on Apple Silicon macOS. An agent skill from badlogic/pi-skills.

    2.6k GitHub stars~264 tokensUpdated 4 mo ago
    Media & CreativeAuto-check passed
  • Watch

    mathiaschu/watch

    Watch a video from YouTube, Instagram, X/Twitter, Vimeo, TikTok or any of ~1800 yt-dlp sites (or a local path).

    142 GitHub stars~4k tokensUpdated 4 mo ago
    Media & CreativeAuto-check: warnings
  • Video Download

    calesthio/OpenMontage

    Download video and audio from YouTube and 1000+ sites using yt-dlp.

    66k GitHub stars~885 tokensUpdated 7 days ago
    Media & CreativeAuto-check passed

More from RightNow-AI/openfang

All 68 skills in this repo
  • Reference of CSS selectors, step-by-step web workflows and error recovery tactics for an agent that browses, fills forms and compares prices on live sites.

    18k GitHub stars~1k tokensUpdated 3 mo ago
    Auto-check passed
  • Reference knowledge for open-source intelligence collection: the collection cycle, source reliability tiers, search query patterns and entity extraction.

    18k GitHub stars~2.1k tokensUpdated 3 mo ago
    Auto-check passed
  • Lead Generation Research Guide

    RightNow-AI/openfang

    Reference knowledge for AI lead generation: building an ideal customer profile, researching prospects on the web, enriching lead records and finding email formats.

    18k GitHub stars~1.8k tokensUpdated 3 mo ago
    Auto-check passed
  • Forecasting Expert Knowledge

    RightNow-AI/openfang

    Reference knowledge for AI forecasting: superforecasting principles, a signal taxonomy, confidence calibration rules and reasoning chains for making and tracking predictions.

    18k GitHub stars~2.5k tokensUpdated 3 mo ago
    Auto-check passed
  • Deep Research Methodology

    RightNow-AI/openfang

    Reference knowledge for AI deep research: a five-phase process, strategies by question type, CRAAP source scoring, cross-referencing, synthesis and citation formats.

    18k GitHub stars~2.6k tokensUpdated 3 mo ago
    Auto-check passed
  • Twitter Hand Skill

    RightNow-AI/openfang

    Expert knowledge for AI Twitter/X management — API v2 reference, content strategy, engagement playbook, safety, and performance tracking

    18k GitHub stars~2.9k tokensUpdated 3 mo ago
    Auto-check passed

Questions about Video Clipping Reference

What does Video Clipping Reference do?

Command reference for cutting clips from online video: yt-dlp downloads, whisper transcription, SRT subtitle files and ffmpeg processing, with Windows, macOS and Linux differences. This skill is a command reference rather than a step-by-step workflow. It notes that ffmpeg, ffprobe, yt-dlp and whisper take the same flags on Windows, macOS and Linux and only the shell syntax differs, with a table covering stderr redirection, output filtering, deleting files and ffmpeg subtitle paths, which need forward slashes and an escaped colon for absolute Windows paths.

When should I use Video Clipping Reference?

Video Clipping Reference fits situations like: cutting short clips out of a longer video with ffmpeg; downloading a video and its subtitles with yt-dlp; transcribing a video's audio with whisper to get word-level timestamps; burning SRT subtitles into a clip when working with Windows paths.

How do I install Video Clipping Reference in Claude Code?

Run `npx skills add RightNow-AI/openfang --skill clip-hand-skill -a claude-code`. Or copy the skill folder (crates/openfang-hands/bundled/clip in RightNow-AI/openfang) into .claude/skills/clip-hand-skill in your project. Claude Code loads it when a task matches its description.

How do I install Video Clipping Reference in Codex?

Run `npx skills add RightNow-AI/openfang --skill clip-hand-skill -a codex`. Or copy the skill folder (crates/openfang-hands/bundled/clip in RightNow-AI/openfang) into .agents/skills/clip-hand-skill in your project. Codex loads it when a task matches its description.

Can I use Video Clipping Reference in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add RightNow-AI/openfang --skill clip-hand-skill -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/clip-hand-skill, .gemini/skills/clip-hand-skill, .github/skills/clip-hand-skill and .opencode/skills/clip-hand-skill in your project.

What does Video Clipping Reference need to run?

Going by SKILL.md and its folder, Video Clipping Reference needs the command-line tools its instructions call (ffmpeg, curl, yt-dlp, ffprobe, whisper and pip) and credentials named OPENAI_API_KEY, ACCESS_TOKEN, GROQ_API_KEY and DEEPGRAM_API_KEY. Our summary lists: ffmpeg and ffprobe; yt-dlp; whisper.

Does Video Clipping Reference access the network?

SKILL.md names 6 domains. In commands or code: api.openai.com, graph.facebook.com, api.groq.com, api.deepgram.com, api.elevenlabs.io and api.telegram.org; the agent is likely to contact these when it follows the instructions. This is read from the text; nothing was executed.

Is Video Clipping Reference safe to install?

Our automated static check of SKILL.md flagged 1 warning(s): mentions a credentials file (ssh keys, cloud or package-manager tokens). Read the flagged lines before installing; the check is not a guarantee either way.

What licence does Video Clipping Reference use?

Video Clipping Reference is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Video Clipping Reference use?

About 4.1k tokens (SKILL.md is roughly 16k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Video Clipping Reference?

Skills that share tags, products or a category with Video Clipping Reference: Ffmpeg Skill (kajisho5/ffmpeg-skill, 1.9k stars), Video Clip Extractor (linzzzzzz/openclip, 569 stars), Record Demo (libnativeapi/nativeapi, 166 stars) and Transcribe (badlogic/pi-skills, 2.6k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Video Clipping Reference?

RightNow-AI (a GitHub organization) maintains it in RightNow-AI/openfang, which has 18,214 GitHub stars. The repository holds 68 skills in this directory. The repository was last updated on July 2, 2026.

Source: RightNow-AI/openfang on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.