Agent Skills: Video Full Process Skill

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

UncategorizedID: jykim/ai4pkm-vault/video-full-process

Install this agent skill to your local

pnpm dlx add-skill https://github.com/jykim/ai4pkm-vault/tree/HEAD/_Settings_/Skills/video-full-process

Skill Files

Browse the full folder contents for video-full-process.

Download Skill

Loading file tree…

_Settings_/Skills/video-full-process/SKILL.md

Skill Metadata

Name
video-full-process
Description
Unified workflow combining video-clean and video-add-chapters with transcript reuse and chapter remapping

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

| File | Description | |------|-------------| | {video} - cleaned.mp4 | Video with pauses/fillers removed | | {video} - cleaned-chapters.mp4 | Cleaned video with embedded chapters | | {video} - pauses.json | Removed pause data (for remapping) | | {video} - chapters.json | Detected chapter boundaries | | {video} - chapters_remapped.json | Chapters adjusted for cleaned video | | {video} - youtube_chapters.txt | Copy-paste for YouTube description | | Chapter NN - Title.md | Per-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