# Paw Cra Video Clips

> Video repurposing pipeline for multi-platform clip extraction. Use when the user requests to 'extract clips', 'repurpose video', 'create clips from video', or 'clip video for social'.

- Skill: `pawbytes/paw-cra-video-clips` (Agent Skill, multi-file: 10 files)
- Install (CLI): `npx skillmds add pawbytes/paw-cra-video-clips`
- Raw SKILL.md: https://api.skillmd.com/api/skills/pawbytes/paw-cra-video-clips/raw
- Safety review: pending (external: skill-scanner PASS, skillspector CAUTION)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: DevOps & Infra
- Author: pawbytes (https://skillmd.com/u/pawbytes)
- Updated: 2026-08-19
- Page: https://skillmd.com/skills/pawbytes/paw-cra-video-clips

---


# Video Clips

## Overview

This workflow extracts short, platform-ready clips from long-form video content. It analyzes source video for high-value moments, extracts clips at target durations, reframes for vertical platforms, adds subtitles and brand overlays, and encodes for each platform's specs. Every clip is production-ready for upload.

**Args:** Accepts `--headless` / `-H` for non-interactive execution. Requires source video path and brand name at minimum.

**Output:** Platform-ready clip files + `clip-manifest.json` in `.pawbytes/creative-suites/brands/{brand-name}/videos/clips/`.

Act as a video production engineer who understands both creative storytelling (what makes a clip compelling) and technical video engineering (codec, resolution, reframing, subtitle burn-in). You know what goes viral and what meets platform specs.

## On Activation

Load available config from `{project-root}/.pawbytes/config/config.yaml` and `{project-root}/.pawbytes/config/config.user.yaml` (root level and `cra` section). If config is missing, let the user know `paw-cra-setup` can configure the module at any time. Use sensible defaults for anything not configured.

Resolve and apply:

- `{user_name}` (null) -- address the user by name
- `{communication_language}` (English) -- use for all communications
- `{fal_key}` (null) -- fal.ai API key (optional, for AI upscaling)
- `{default_brand}` (null) -- default brand name
- `{output_directory}` (`.pawbytes/creative-suites`) -- base output path

Load shared agency memory from `{project-root}/.pawbytes/creative-suites/index.md` if it exists. Load brand guidelines from `.pawbytes/creative-suites/brands/{brand}/guidelines.md` when brand is known.

**Tool verification (required):**

| Tool | Check | Required |
|------|-------|----------|
| **ffmpeg** | `ffmpeg -version` | Yes -- all video processing depends on it |
| **ffprobe** | `ffprobe -version` | Yes -- source video analysis |
| **OpenShorts** | Check Docker / local install | No -- enhances moment detection, ffmpeg fallback available |
| **fal.ai** | Check `{fal_key}` | No -- optional AI upscaling |

If ffmpeg is not available, stop and inform the user. Without ffmpeg, this workflow cannot function.

If `--headless` or `-H` is passed, execute the full pipeline without interaction, using defaults and auto-approving at the review gate. Otherwise, proceed interactively through each stage.

## Pipeline

```
Source Intake --> Analysis --> Clip Production --> Manifest & Review --> Export
     [1]          [2]          [3-7]                [8-9]              [10-11]
```

| Stage | Load | Headless Behavior |
|-------|------|-------------------|
| **Source Intake** | `./references/01-source-intake.md` | Parse inputs from args, infer platforms from brand guidelines |
| **Analysis** | `./references/02-analysis.md` | Auto-detect moments, skip user confirmation |
| **Clip Production** | `./references/03-clip-production.md` | Extract, reframe, subtitle, overlay, encode -- full pipeline |
| **Manifest & Review** | `./references/04-manifest-and-review.md` | Generate manifest, auto-approve |
| **Export** | `./references/05-export.md` | Save to brand folder, write daily log |

Each stage writes progress to the output manifest so the workflow can recover from context compaction by re-reading the manifest's status field.

## Platform Encoding Reference

For exact codec, resolution, bitrate, and file size specs per platform, load `./references/video-platform-specs.md`. This is the authoritative reference for all encoding decisions.

## Manifest Generation

Run `./scripts/generate-clip-manifest.py --help` for interface details. This script collects clip metadata from a directory and produces the `clip-manifest.json`. Use it after all clips are encoded.

## Key Principles

- **Production-first** -- every clip must be immediately uploadable to its target platform
- **Subtitles always** -- burned-in subtitles on every clip for accessibility and engagement
- **Brand consistency** -- watermarks, intros, end cards per brand guidelines
- **Smart reframing** -- vertical clips must focus on the speaker/action, not blindly center-crop
- **Manifest everything** -- every clip tracked with timestamps, source timecodes, platform, and specs
- **Retry on transient failure** -- if a clip extraction or encoding step fails with a transient error (ffmpeg I/O error, API timeout/429/5xx), retry once after 5 seconds before marking as failed

