youtube-chapter-clipper

Generate chapter clips from YouTube videos with yt-dlp and ffmpeg. Use when asked to download YouTube videos/subtitles, generate fine-grained chapters, cut precise clips, or generate per-chapter English SRTs.

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "youtube-chapter-clipper" with this command: npx skills add seefreed/skills/seefreed-skills-youtube-chapter-clipper

YouTube Chapter Clipper

Overview

Generate chapter clips from a YouTube video by downloading MP4 + English subtitles, segmenting content, cutting clips, and producing per-chapter English SRTs. Chapter length is user-selectable (1-2, 2-3, or 3-4 minutes).

Workflow

1) Use the automation script to reduce tokens

  • Prefer scripts/smart_edit.py for end-to-end runs (download, chaptering, clip cut, subtitle slicing).
  • The script uses heuristic chaptering to avoid AI token usage.
  • Create and use a local venv (no external packages required):
    • python3 -m venv .venv
    • source .venv/bin/activate
    • python scripts/smart_edit.py --help
    • Speed-focused default: --mode fast (approximate cuts, faster encode, optional downscale).
    • Use --mode accurate when you need precise boundaries.

2) Confirm inputs and environment

  • Ask for the YouTube URL and whether English subtitles are available (manual preferred; auto as fallback).
  • Check tools: yt-dlp and ffmpeg. If missing, install before proceeding.
  • Use command templates in references/commands.md.

3) Download source video and subtitles

  • Check current directory for existing source files before downloading:
    • If <id>.mp4 and <id>.en.vtt already exist, skip yt-dlp download.
  • Download highest 1080p MP4 and English VTT. Save in current directory with ID-based names:
    • <id>.mp4
    • <id>.en.vtt (or <id>.en.auto.vtt if manual subs absent)
  • Also capture video metadata (id, title, duration, uploader) for reporting.
    • The script handles this when --url is provided.

4) Prepare output directory

  • Create output directory using the original video title:
    • Replace spaces with underscores.
    • Remove/replace filesystem-unsafe characters.
  • Place all chapter clips and subtitle files into this directory.

5) Generate fine-grained chapters (user-selected length)

  • Ask the user to choose a chapter length preset: 1-2, 2-3, or 3-4 minutes.
  • Perform AI analysis (critical step):
    • Read the full subtitle content.
    • Understand the semantic flow and topic transitions.
    • Identify natural topic switch points.
  • Draft chapter boundaries based on semantic topic changes and sentence boundaries.
  • Target the selected range; avoid cutting mid-sentence.
  • Prefer semantic breaks (new concept, example, recap) over strict timing.
  • Produce a chapter list with:
    • title, start, end, reason
    • The script uses --chapter-preset (or --min-seconds/--target-seconds/--max-seconds for custom).

6) Cut precise clips (speed vs accuracy)

  • Use ffmpeg with accurate trimming and stable outputs. Always re-encode:
    • Place -ss after -i for accurate seeking.
    • Use libx264 + aac, -movflags +faststart, and -pix_fmt yuv420p to maximize player compatibility.
    • Use a fast preset (e.g., -preset veryfast) to avoid long encodes and timeouts.
  • Run clips serially and avoid external timeouts that kill ffmpeg mid-write.
  • After each clip, validate with ffprobe; retry once if validation fails.
  • If speed is the priority (listening practice), prefer approximate cuts:
    • Put -ss before -i to avoid decoding from the start every time.
    • Use -preset ultrafast and a higher CRF (e.g., 28).
    • Optionally downscale (e.g., width 1280) to reduce encode time.
  • Name each clip with an ordered prefix: <nn>_<chapter_title>.mp4 using safe filenames:
    • Use a 2-digit index starting at 01.
    • Replace spaces with underscores.
    • Remove filesystem-unsafe characters.

7) Extract and convert subtitles per chapter

  • Extract VTT segment for each chapter by time range.
  • Convert each segment to SRT:
    • <nn>_<chapter_title>.en.srt
    • The script deletes per-chapter VTT unless --keep-vtt is set.

8) Report outputs

  • Print output directory path, chapter list, and generated files.

Output Rules

  • Source files stay in current directory (<id>.mp4, <id>.en.vtt).
  • All chapter clips and subtitle files are placed in the per-video directory named after the sanitized title.
  • Use consistent time formats (HH:MM:SS.mmm).

References

  • Command templates and copy/paste examples: references/commands.md
  • Automation: scripts/smart_edit.py

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Coding

semantic-video-clipper

No summary provided by upstream source.

Repository SourceNeeds Review
General

en-to-zh-translator

No summary provided by upstream source.

Repository SourceNeeds Review
General

en-zh-bilingual-json

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

frontend-design

Create distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, artifacts, posters, or applications (examples include websites, landing pages, dashboards, React components, HTML/CSS layouts, or when styling/beautifying any web UI). Generates creative, polished code and UI design that avoids generic AI aesthetics.

Repository SourceNeeds Review
160.5K94.2Kanthropics
youtube-chapter-clipper | V50.AI