jykim/claude-obsidian-skills

video-full-process

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

First seen Jan 26, 2026

Installation

$ npx skills add jykim/claude-obsidian-skills --skill video-full-process

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from jykim/claude-obsidian-skills · top by installs.

npx skills add jykim/claude-obsidian-skills

Browse all from jykim/claude-obsidian-skills

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Repository health

Stars 50
License LICENSE
Default branch main
Open issues 0
Status Active

Skill metadata

Parsed from SKILL.md frontmatter.

LicenseMIT
Allowed toolsRead, Write, Bash, Glob
Declared agents claude-code

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 6,800 B
  • docs SUMMARY.md 131 B

History

  1. First seen on skills.sh
  2. First recorded snapshot · 25 installs

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

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

  • OPENAIAPIKEY - 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: transcribevideo.py, editvideoremovepauses.py
  • Modified: Added --output-pauses flag

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

  • Provides: transcribevideo.py, suggestchapters.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