agentleFS
jykimjykim/claude-obsidian-skills/video-full-process/SKILL.md

video-full-process

Skill50 starsChanged 9 months agoMITView on GitHub

Unified workflow combining video-clean and video-add-chapters with transcript reuse and chapter remapping

  • Reads credentials
  • Installs packages

We split this skill into the rules it gives an agent

4 rules. About 0 are common, 2 are distinctive, and 2 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈2

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 2

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    When you need both pause removal AND chapter organization

    line 22
  2. Distinctive:

    When pauses are removed, chapter timestamps must be adjusted:

    line 151
  3. Very specific:

    Run transcription first or use --force-transcribe:

    line 190
  4. Very specific:

    Check that chapters.json format is correct:

    line 202

≈ “Common” is an estimate: at least 1 in 5 of the 308,232 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Video Full Process Skill

Combines video-clean and video-add-chapters into a single workflow that:

  • Transcribes once (saving API costs)
  • Removes pauses and filler words
  • Detects and embeds chapters
  • Remaps chapter timestamps to the cleaned video
  • Generates YouTube chapter markers and documentation

When to Use This Skill

  • Processing raw video recordings end-to-end
  • Creating polished videos with embedded chapters
  • Generating YouTube-ready content with chapter markers
  • When you need both pause removal AND chapter organization

Quick Start

# Full processing with default settings
python process_video.py "video.mp4" --language ko

# Preview mode (see what will be changed)
python process_video.py "video.mp4" --preview

# Skip chapter embedding (only clean + generate docs)
python process_video.py "video.mp4" --no-embed-chapters

Workflow Overview

Input: raw_video.mp4
           │
           ▼
┌─────────────────────────────────────┐
│ 1. Transcribe (once)                │
│    - Uses chunked transcription     │
│    - Handles long videos (15min+)   │
│    - Output: transcript.json        │
└─────────────────────────────────────┘
           │
     ┌─────┴─────┐
     ▼           ▼
┌─────────┐  ┌─────────────┐
│ 2a.     │  │ 2b. Detect  │  ← Parallel
│ Clean   │  │ Chapters    │
└─────────┘  └─────────────┘
     │           │
     ▼           ▼
┌─────────┐  ┌─────────────┐
│ cleaned │  │ chapters.   │
│ .mp4    │  │ json        │
│ + pauses│  │             │
│ .json   │  │             │
└─────────┘  └─────────────┘
           │
           ▼
┌─────────────────────────────────────┐
│ 3. Remap chapters to cleaned video  │
│    - Calculate removed time         │
│    - Adjust chapter timestamps      │
└─────────────────────────────────────┘
           │
           ▼
┌─────────────────────────────────────┐
│ 4. Embed chapters + Generate docs   │
│    - ffmpeg metadata embed          │
│    - YouTube chapters txt           │
│    - Chapter markdown files         │
└─────────────────────────────────────┘
           │
           ▼
Output: cleaned-chapters.mp4 + docs

Output Files

FileDescription
{video} - cleaned.mp4Video with pauses/fillers removed
{video} - cleaned-chapters.mp4Cleaned video with embedded chapters
{video} - pauses.jsonRemoved pause data (for remapping)
{video} - chapters.jsonDetected chapter boundaries
{video} - chapters_remapped.jsonChapters adjusted for cleaned video
{video} - youtube_chapters.txtCopy-paste for YouTube description
Chapter NN - Title.mdPer-chapter documentation

Requirements

System

  • Python 3.7+
  • FFmpeg (for video processing)

Python Packages

pip install openai

Environment Variables

  • OPENAI_API_KEY - Required for Whisper API

Detailed Usage

Full Processing

python process_video.py "presentation.mp4" --language ko

This runs:

  1. Transcription (if not exists)
  2. Chapter detection
  3. Pause removal
  4. Chapter remapping
  5. Chapter embedding
  6. Documentation generation

Partial Processing

# Skip transcription (reuse existing)
python process_video.py "video.mp4" --skip-transcribe

# Skip cleaning (only add chapters)
python process_video.py "video.mp4" --skip-clean

# Skip chapter embedding (only clean + generate docs)
python process_video.py "video.mp4" --no-embed-chapters

Customization

# Adjust pause threshold
python process_video.py "video.mp4" --pause-threshold 0.8

# Custom output directory
python process_video.py "video.mp4" --output-dir "./output"

Chapter Remapping Logic

When pauses are removed, chapter timestamps must be adjusted:

Original Video:
|--Ch1--|--pause--|--Ch2--|--pause--|--Ch3--|
0       30        40      60        70      90

Cleaned Video (pauses removed):
|--Ch1--|--Ch2--|--Ch3--|
0       30      50      70

Remapping:
- Ch1: 0 → 0 (no change)
- Ch2: 40 → 30 (10s pause removed before)
- Ch3: 70 → 50 (20s total pauses removed before)

The remap_chapters.py script handles this automatically using the pause data from video cleaning.

Integration with Existing Skills

This skill orchestrates two existing skills:

video-clean (.claude/skills/video-cleaning/)

  • Provides: transcribe_video.py, edit_video_remove_pauses.py
  • Modified: Added --output-pauses flag

video-add-chapters (Settings/Skills/video-add-chapters/)

  • Provides: transcribe_video.py, suggest_chapters.py, generate_docs.py
  • Modified: Added --skip-if-exists flag

Cost Estimate

  • Single transcription: ~$0.006/min (vs $0.012/min if running separately)
  • 1-hour video: ~$0.36 (saves $0.36 by reusing transcript)

Troubleshooting

"Transcript not found" Error

Run transcription first or use --force-transcribe:

python process_video.py "video.mp4" --force-transcribe

"Chapter timestamps don't match"

Regenerate remapped chapters:

python remap_chapters.py "video - chapters.json" --pauses "video - pauses.json"

FFmpeg embed fails

Check that chapters.json format is correct:

{
  "chapters": [
    {"start": 0, "title": "Intro", "description": "..."},
    {"start": 120, "title": "Main", "description": "..."}
  ]
}

File Structure

video-full-process/
├── SKILL.md              # This documentation
├── process_video.py      # Main orchestrator script
└── remap_chapters.py     # Chapter timestamp remapping

Version History

  • v1.0 (2026-01): Initial release
    • Unified workflow for video-clean + video-add-chapters
    • Transcript reuse (single API call)
    • Automatic chapter remapping
    • FFmpeg chapter embedding

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

Reviews can't be read right now.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.