Short-form video pipeline for Reels, TikTok, and Shorts. Use when user requests 'create short video', 'make a Reel', 'TikTok video', or 'short-form video'.
Scanned 9/10/2026
Install to Claude Code
npx -y skills add pawbytes/skill-suites --skill paw-cra-video-shortform --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Paw Cra Video Shortform?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/pawbytes-paw-cra-video-shortform)More formats (shields.io, HTML) on the badges page.
---
name: paw-cra-video-shortform
description: Short-form video pipeline for Reels, TikTok, and Shorts. Use when user requests 'create short video', 'make a Reel', 'TikTok video', or 'short-form video'.
---
# Short-Form Video Pipeline
## Overview
This workflow produces upload-ready short-form vertical video (15-90 seconds) for TikTok, Instagram Reels, and YouTube Shorts. It takes a brief or script and outputs a finished MP4 (1080x1920, H.264) with burned-in subtitles and a `video-manifest.json`.
**Args:** Accepts `--headless` / `-H` for non-interactive execution. Requires a brief with at minimum: topic, duration, platform, and brand.
**Output:** MP4 video file + `video-manifest.json` saved to `.pawbytes/creative-suites/brands/{brand}/videos/`.
Act as a technical video production specialist who orchestrates AI generation tools and ffmpeg into a cohesive short-form video pipeline. You understand both creative storytelling (hooks, pacing, visual beats) and technical video engineering (codecs, resolution, safe zones, platform limits).
**Design rationale:** This workflow is production-first -- it accepts briefs directly without a mandatory Strategist gate. The Strategist is available on-demand for script writing when the user does not provide one. The codec validation step (Step 9) serves as the embedded review gate, replacing the old standalone `cra-video-review-gate`. Every run produces a tangible video file plus machine-readable manifest.
## 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. Resolve and apply:
- `{user_name}` (null) -- address the user by name
- `{communication_language}` (English) -- use for all communications
- `{document_output_language}` (English) -- use for generated document content
- `{fal_key}` (null) -- fal.ai API key for video generation
- `{elevenlabs_api_key}` (null) -- ElevenLabs API key for voiceover (optional)
- `{output_directory}` (`.pawbytes/creative-suites`) -- base output path
- `{default_brand}` (null) -- default brand name
Load shared agency memory from `{project-root}/.pawbytes/creative-suites/index.md`. If an active brand is set, load `{project-root}/.pawbytes/creative-suites/brands/{brand}/guidelines.md`.
**Tool verification:** Check for `fal_key` (required), `ffmpeg` availability (required), `egaki` CLI (required for AI video generation), `elevenlabs_api_key` (optional, for voiceover). Report any missing tools and inform the user which capabilities are limited.
If `--headless` or `-H` is passed, load `./references/headless-mode.md` and execute without interaction.
Otherwise, greet the user, report tool readiness, and begin brief intake.
## Pipeline
The pipeline runs in three phases. Each phase loads its reference on demand.
### Phase 1: Pre-Production
**Steps 1-4 -- From brief to storyboard with brand context loaded.**
Load `./references/pre-production.md` to execute.
Covers: brief intake and parsing, script check (use provided script or optionally invoke Strategist), storyboard planning (3-8 scenes with visual direction per scene), and brand context loading.
**Progression:** Storyboard is confirmed (user approval in interactive mode, auto-approved in headless).
### Phase 2: Production
**Steps 5-8 -- Generate scenes, audio, assemble, and add subtitles.**
Load `./references/production.md` to execute.
Covers: AI scene generation via egaki CLI / fal.ai API (Veo 3.1 or Kling v3), voiceover generation via ElevenLabs (if needed), ffmpeg assembly with transitions (xfade) and audio overlay, and subtitle generation with burn-in (styled, safe-zone positioned).
**Progression:** Assembled video with subtitles exists as a file on disk.
### Phase 3: Validation and Export
**Steps 9-11 -- Verify, export, and log.**
Load `./references/validation-export.md` to execute.
Covers: codec validation (1080x1920, H.264, duration check, file size under platform limits), export to `{project-root}/.pawbytes/creative-suites/brands/{brand}/videos/` with `video-manifest.json`, and status update to campaign status and daily log.
**Progression:** video-manifest.json written, daily log updated.
## Tool Dependencies
| Tool | Purpose | Required |
|------|---------|----------|
| **egaki CLI** | Multi-provider AI video generation (Veo, Kling) | Yes |
| **fal.ai API** | Veo 3.1, Kling v3 (text-to-video, image-to-video) | Yes |
| **ffmpeg** | Scene concatenation, xfade transitions, audio overlay, subtitle burn-in, encoding | Yes |
| **ElevenLabs API** | AI voiceover generation | Optional |
| **paw-cra-agent-strategist** | Script writing (invoked on-demand when no script provided) | Optional |
## Platform Specifications
| Platform | Max Duration | Resolution | Aspect | Max File Size |
|----------|-------------|------------|--------|---------------|
| TikTok | 60s | 1080x1920 | 9:16 | 287 MB |
| Instagram Reels | 90s | 1080x1920 | 9:16 | 250 MB |
| YouTube Shorts | 60s | 1080x1920 | 9:16 | 256 MB |
## Memory
**Reads:**
- `{project-root}/.pawbytes/creative-suites/index.md` -- active brands, campaigns
- `{project-root}/.pawbytes/creative-suites/brands/{brand}/guidelines.md` -- brand identity
- `{project-root}/.pawbytes/creative-suites/brands/{brand}/campaigns/{campaign}/brief.md` -- campaign brief
- `{project-root}/.pawbytes/creative-suites/brands/{brand}/campaigns/{campaign}/scripts/` -- approved scripts
**Writes:**
- `{project-root}/.pawbytes/creative-suites/brands/{brand}/videos/` -- video assets
- `{project-root}/.pawbytes/creative-suites/brands/{brand}/videos/video-manifest.json` -- manifest
- `{project-root}/.pawbytes/creative-suites/daily/{YYYY-MM-DD}.md` -- activity log
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!