Short-Form Video Pipeline skill
Short-form video pipeline for Reels, TikTok, and Shorts.
by pawbytes·MIT license·★ 114 Stars on the repo·GitHub ↗
npx degit pawbytes/skill-suites/src/creative/paw-cra-video-shortform#main ~/.claude/skills/paw-cra-video-shortformChecked ·commit main
Inside this skill
SKILL.md · the author's own words# 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 b… **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. Y… **Design rationale:** This workflow is production-first -- it accepts briefs directly without a mandatory Strategist gate. The Strategist i… ## On Activation
Word-for-word excerpt, not a result. Read the full SKILL.md ↓
Files of Short-Form Video Pipeline
Show the full text104 lines
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
| 1 | |
| 2 | name paw-cra-video-shortform |
| 3 | 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'. |
| 4 | |
| 5 | |
| 6 | # Short-Form Video Pipeline |
| 7 | |
| 8 | ## Overview |
| 9 | |
| 10 | 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`. |
| 11 | |
| 12 | **Args:** Accepts `--headless` / `-H` for non-interactive execution. Requires a brief with at minimum: topic, duration, platform, and brand. |
| 13 | |
| 14 | **Output:** MP4 video file + `video-manifest.json` saved to `.pawbytes/creative-suites/brands/{brand}/videos/`. |
| 15 | |
| 16 | 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). |
| 17 | |
| 18 | **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. |
| 19 | |
| 20 | ## On Activation |
| 21 | |
| 22 | 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: |
| 23 | |
| 24 | `{user_name}` (null) -- address the user by name |
| 25 | `{communication_language}` (English) -- use for all communications |
| 26 | `{document_output_language}` (English) -- use for generated document content |
| 27 | `{fal_key}` (null) -- fal.ai API key for video generation |
| 28 | `{elevenlabs_api_key}` (null) -- ElevenLabs API key for voiceover (optional) |
| 29 | `{output_directory}` (`.pawbytes/creative-suites`) -- base output path |
| 30 | `{default_brand}` (null) -- default brand name |
| 31 | |
| 32 | 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`. |
| 33 | |
| 34 | **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. |
| 35 | |
| 36 | If `--headless` or `-H` is passed, load `./references/headless-mode.md` and execute without interaction. |
| 37 | |
| 38 | Otherwise, greet the user, report tool readiness, and begin brief intake. |
| 39 | |
| 40 | ## Pipeline |
| 41 | |
| 42 | The pipeline runs in three phases. Each phase loads its reference on demand. |
| 43 | |
| 44 | ### Phase 1: Pre-Production |
| 45 | |
| 46 | **Steps 1-4 -- From brief to storyboard with brand context loaded.** |
| 47 | |
| 48 | Load `./references/pre-production.md` to execute. |
| 49 | |
| 50 | 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. |
| 51 | |
| 52 | **Progression:** Storyboard is confirmed (user approval in interactive mode, auto-approved in headless). |
| 53 | |
| 54 | ### Phase 2: Production |
| 55 | |
| 56 | **Steps 5-8 -- Generate scenes, audio, assemble, and add subtitles.** |
| 57 | |
| 58 | Load `./references/production.md` to execute. |
| 59 | |
| 60 | 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). |
| 61 | |
| 62 | **Progression:** Assembled video with subtitles exists as a file on disk. |
| 63 | |
| 64 | ### Phase 3: Validation and Export |
| 65 | |
| 66 | **Steps 9-11 -- Verify, export, and log.** |
| 67 | |
| 68 | Load `./references/validation-export.md` to execute. |
| 69 | |
| 70 | 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. |
| 71 | |
| 72 | **Progression:** video-manifest.json written, daily log updated. |
| 73 | |
| 74 | ## Tool Dependencies |
| 75 | |
| 76 | | Tool | Purpose | Required | |
| 77 | |------|---------|----------| |
| 78 | | **egaki CLI** | Multi-provider AI video generation (Veo, Kling) | Yes | |
| 79 | | **fal.ai API** | Veo 3.1, Kling v3 (text-to-video, image-to-video) | Yes | |
| 80 | | **ffmpeg** | Scene concatenation, xfade transitions, audio overlay, subtitle burn-in, encoding | Yes | |
| 81 | | **ElevenLabs API** | AI voiceover generation | Optional | |
| 82 | | **paw-cra-agent-strategist** | Script writing (invoked on-demand when no script provided) | Optional | |
| 83 | |
| 84 | ## Platform Specifications |
| 85 | |
| 86 | | Platform | Max Duration | Resolution | Aspect | Max File Size | |
| 87 | |----------|-------------|------------|--------|---------------| |
| 88 | | TikTok | 60s | 1080x1920 | 9:16 | 287 MB | |
| 89 | | Instagram Reels | 90s | 1080x1920 | 9:16 | 250 MB | |
| 90 | | YouTube Shorts | 60s | 1080x1920 | 9:16 | 256 MB | |
| 91 | |
| 92 | ## Memory |
| 93 | |
| 94 | **Reads:** |
| 95 | `{project-root}/.pawbytes/creative-suites/index.md` -- active brands, campaigns |
| 96 | `{project-root}/.pawbytes/creative-suites/brands/{brand}/guidelines.md` -- brand identity |
| 97 | `{project-root}/.pawbytes/creative-suites/brands/{brand}/campaigns/{campaign}/brief.md` -- campaign brief |
| 98 | `{project-root}/.pawbytes/creative-suites/brands/{brand}/campaigns/{campaign}/scripts/` -- approved scripts |
| 99 | |
| 100 | **Writes:** |
| 101 | `{project-root}/.pawbytes/creative-suites/brands/{brand}/videos/` -- video assets |
| 102 | `{project-root}/.pawbytes/creative-suites/brands/{brand}/videos/video-manifest.json` -- manifest |
| 103 | `{project-root}/.pawbytes/creative-suites/daily/{YYYY-MM-DD}.md` -- activity log |
| 104 |
Discussion
Alternatives
Browse more free Claude skills or everything in Content creator.