npx skills add ...
npx skills add pawbytes/skill-suites --skill paw-cra-video-longform
Long-form and episodic video production pipeline (1-10 min, YouTube/web). Use when user requests 'long-form video', 'YouTube video', 'episodic video', or 'video series'.
npx skills add pawbytes/skill-suites --skill paw-cra-video-longform
This workflow produces finished long-form video (1-10 minutes, 1920x1080 horizontal) for YouTube and web platforms. It handles the full production pipeline: brief intake, script development, multi-scene generation, voiceover synthesis, B-roll integration, assembly with transitions, subtitle burn-in, and branded intro/outro. Supports both single videos and episodic series with consistent style across episodes.
Act as a technical video producer who understands both creative storytelling and video engineering. You orchestrate multiple tools in sequence -- AI video generation, voiceover synthesis, stock footage, and ffmpeg assembly -- to deliver upload-ready video files.
Args: Accepts --headless / -H for non-interactive execution. For episodic mode, accepts --episodes N to specify episode count.
Outputs: MP4 (1920x1080, H.264) + video-manifest.json saved to .pawbytes/creative-suites/brands/{brand-name}/videos/
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 throughout the session (defaults in parens):
{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{pexels_api_key} (null) -- Pexels API key for B-roll footage{default_brand} (null) -- default brand name{output_directory} (.pawbytes/creative-suites) -- base output pathLoad shared agency memory from {project-root}/.pawbytes/creative-suites/index.md to understand active brands and campaigns. Load brand guidelines from .pawbytes/creative-suites/brands/{active-brand}/guidelines.md if an active brand is set.
Before starting production, verify availability of required tools:
| Tool | Purpose | Required |
|---|---|---|
| ffmpeg | Assembly, transitions, audio mixing, subtitle burn-in | Yes |
| egaki CLI | AI video scene generation (multi-provider) | Yes (or fal.ai direct) |
| fal.ai API | Veo 3.1, Kling v3 video generation | Yes (needs fal_key) |
| ElevenLabs API | Voiceover generation | Yes (needs elevenlabs_api_key) |
| Pexels API | B-roll stock footage | Recommended (needs pexels_api_key) |
| Remotion | Programmatic video creation | Optional |
If critical tools are missing, inform the user which production capabilities are unavailable and suggest alternatives.
If --headless or -H is passed, execute the full pipeline without interaction using provided brief/script and sensible defaults.
Otherwise, proceed interactively through the production stages below.
Parse the incoming brief or accept one interactively. Extract:
If any critical information is missing (topic, duration, brand), ask before proceeding. In headless mode, infer from context or use defaults.
If a full script is provided, validate it has sufficient scene-level detail for production.
If no script is provided, invoke the Strategist (paw-cra-agent-strategist) for a full script with:
The script is the production blueprint -- every downstream step depends on it.
Load ./references/scene-planning.md for detailed guidance.
Break the script into a scene plan (typically 10-30+ scenes for long-form). For each scene, define:
Write the scene plan to {output_directory}/brands/{brand}/videos/{video-slug}/scene-plan.json for compaction survival.
Load brand guidelines and extract video-relevant elements:
Load ./references/scene-generation.md for model selection and prompting guidance.
Generate video clips for each scene using the appropriate approach:
AI-Generated Scenes: Use egaki CLI or fal.ai API directly (Veo 3.1 for cinematic quality, Kling v3 for motion-heavy scenes). Craft prompts that include:
Stock Footage Scenes: Pull from Pexels API when stock footage is more appropriate (generic establishing shots, nature, cityscapes, etc.).
Motion Graphics: Use Remotion or ffmpeg filter chains for data visualizations, text animations, or branded graphic sequences.
Save all raw scene clips to the working directory. Track generation status per scene.
Load ./references/voiceover-generation.md for ElevenLabs integration details.
Generate the full voiceover narration:
For scenes flagged as needing B-roll in the scene plan:
Load ./references/assembly-guide.md for ffmpeg commands and transition patterns.
Assemble the final video using ffmpeg:
Write intermediate assembly output for checkpoint recovery.
Generate and burn in styled subtitles:
subtitles or ass filterAdd branded sequences:
If the brand has existing intro/outro assets at .pawbytes/creative-suites/brands/{brand}/assets/intro.* or outro.*, use those. Otherwise, generate simple branded sequences using ffmpeg or Remotion.
Run ./scripts/validate-video.py on the assembled video to verify:
If validation fails, report specific issues. In interactive mode, offer to fix automatically. In headless mode, attempt auto-fix and re-validate (up to 2 retries).
Save final deliverables to {output_directory}/brands/{brand}/videos/{video-slug}/:
{video-slug}.mp4 -- final video filevideo-manifest.json -- production metadata (see ./references/manifest-schema.md)scene-plan.json -- preserved scene plansubtitles.srt -- subtitle filethumbnail.jpg -- auto-generated or specified thumbnailFor episodic series (--episodes N or format=episodic):
{series-slug}-ep01.mp4, {series-slug}-ep02.mp4, etc.Log production results to shared memory:
.pawbytes/creative-suites/daily/YYYY-MM-DD.md with [VideoProducer] tag| Reference | Purpose |
|---|---|
./references/scene-planning.md | Scene breakdown methodology and visual direction |
./references/scene-generation.md | AI model selection, prompting, and generation workflow |
./references/voiceover-generation.md | ElevenLabs integration and timing alignment |
./references/assembly-guide.md | ffmpeg assembly commands, transitions, audio mixing |
./references/manifest-schema.md | video-manifest.json schema definition |
| Script | Purpose |
|---|---|
./scripts/validate-video.py | Verify codec, resolution, duration, audio levels |