Cf video script
Open-source enterprise content production plugin — 21 skills, 13 agents, 11 quality gates, 29-pattern AI humanizer, fact-checker, real .docx output with C2PA signing (EU AI Act Article 50 ready). Installs on Claude Code, Cowork, Codex, Cursor, Copilot CLI, Antigravity. By Indranil Banerjee (indranil.in).
npx -y skills add indranilbanerjee/contentforge --skill cf-video-scriptAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 17 stars17 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Produce video scripts with hooks, scenes, and B-roll for YouTube, TikTok, Reels, and explainers.
SKILL.md
12.8 KB, as published. Nobody here has run it
Video Script Production
Transform a topic or existing article into a production-ready video script with timestamps, scene directions, B-roll shot lists, on-screen text, and music recommendations -- optimized for YouTube, TikTok, Instagram Reels, or explainer video formats.
When to Use
Use /contentforge:cf-video-script when you need:
- YouTube scripts (3-10 min) with SEO-optimized titles, descriptions, and chapter timestamps
- TikTok scripts (30-60s) with fast-cut pacing and trending audio hooks
- Instagram Reels scripts (30-60s) with vertical format and caption-driven storytelling
- Explainer videos (3-5 min) with clear visual directions and professional pacing
- Video adaptations of existing ContentForge articles, blogs, or whitepapers
Not for: Raw creative brainstorming (use /contentforge:create-content first for research), live stream outlines, podcast scripts.
Supported Platforms & Lengths
| Platform | Supported Lengths | Aspect Ratio | Key Characteristics |
|---|---|---|---|
| YouTube | 3min, 5min, 10min | 16:9 landscape | SEO titles, end screens, mid-roll breaks |
| YouTube Shorts | 15s, 30s, 60s, up to 3min | 9:16 vertical | Hook in 1-2s, loopable ending, feed-native captions |
| TikTok | 30s, 60s, long-form 3min-10min | 9:16 vertical | Hook in 1s, fast cuts, trending audio; long-form uses chaptered storytelling |
| Instagram Reels | 30s, 60s | 9:16 vertical | Captions required, visual-first storytelling |
| Explainer | 3min, 5min | 16:9 landscape | Slower pace, professional graphics, clear narration |
Required Inputs
Minimum Required:
- Topic or Source -- Either a topic string ("AI in Healthcare 2026") or a ContentForge article URL/path
- Platform --
youtube,youtube-shorts,tiktok,instagram, orexplainer - Video Length --
15s,30s,60s,3min,5min, or10min(platform-dependent; see table above)
Optional:
- Tone --
educational,entertaining,promotional, orstorytelling(defaults to platform standard) - Brand -- Brand profile for voice consistency (recommended)
- Target Audience -- Who this video is for (e.g., "Marketing managers, 25-45")
- Primary Keyword -- For YouTube SEO optimization
- CTA -- Specific call-to-action (defaults to platform-appropriate CTA)
- Speaker -- On-camera host name, or "voiceover only"
How to Use
Interactive Mode
/contentforge:cf-video-script
Prompts you for:
- Topic or source article URL
- Platform (YouTube / TikTok / Instagram / Explainer)
- Video length
- Tone
- Brand profile (optional)
Quick Mode
/contentforge:cf-video-script "AI in Healthcare: 2026 Trends" --platform=youtube --length=5min --tone=educational --brand=AcmeMed
From Existing Article
/contentforge:cf-video-script --source="https://drive.google.com/file/d/ABC123" --platform=tiktok --length=60s --tone=entertaining
Extracts key points from the article and restructures for video format.
What Happens
Phase 1: Content Research & Extraction (2-4 minutes)
- If topic provided: Research Agent gathers video-friendly data points, statistics, examples, and competitor video analysis
- If source article provided: Extracts key messages, data points, quotes, and visual opportunities
- Identifies the single strongest hook (statistic, question, or bold claim)
- Maps content to target video length (word count budget based on 120-150 words/minute dialogue)
- Quality Gate: Hook identified, word budget calculated, key points mapped to scenes
Phase 2: Script Structure (2-3 minutes)
- Content Drafter builds script following
templates/content-types/video-script-structure.md - Allocates time to each section:
- HOOK: First 3 seconds (TikTok: 1 second)
- INTRO: 10-15% of total length
- MAIN CONTENT: 60-70% split across scenes
- CTA: 10-15% of total length
- OUTRO: 5-10% (YouTube only)
- Creates scene breakdown with timestamps
- Quality Gate: All sections allocated, timestamps continuous, word count within budget
Phase 3: Scene Writing (3-5 minutes)
- Writes each scene with:
- Dialogue/Narration: What the speaker says (timed to 120-150 words/min)
- On-Screen Text: Key phrases, statistics, bullet points viewers see
- B-Roll Directions: Specific visual descriptions for each segment
- Music/SFX: Mood, tempo, and transition sound suggestions
- Applies platform-specific style:
- YouTube: Conversational, direct address, pattern interrupts every 30-60s
- TikTok: Punchy, fast-paced, text-heavy, trending audio references
- Instagram: Visual-first, caption storytelling, aesthetic emphasis
- Explainer: Clear, measured pace, professional graphics focus
- Quality Gate: Every scene has all 4 elements, dialogue word count matches timestamps
Phase 4: Structuring & Optimization (1-2 minutes)
- Structurer Agent reviews flow, pacing, and transitions between scenes
- Verifies hook strength (would you stop scrolling for this?)
- Checks CTA clarity and placement
- Platform-specific optimization:
- YouTube: End screen directions, mid-roll break points (for 8+ min), chapter timestamps
- TikTok: Ensures hook in first 1 second, audio sync points, loop potential
- Instagram: Caption overlay timing, visual consistency
- Explainer: Pacing check (not too fast for complex topics)
- Quality Gate: Pacing feels natural when read aloud, transitions smooth, CTA actionable
Phase 5: Output Assembly (1 minute)
- Compiles final script document
- Generates supplementary materials:
- B-roll shot list (consolidated)
- On-screen text list (for graphic designer)
- Music recommendations with mood/tempo
- YouTube metadata (title, description, tags, chapters) if applicable
- Uploads to Google Drive
Output Example
SYNTHETIC EXAMPLE — fabricated for illustration. YouTube 5-Minute Script: "AI in Healthcare: 2026 Trends"
Video Script Complete: "AI in Healthcare: 2026 Trends"
Platform: YouTube
Length: 5:00 (target) / 4:52 (actual)
Tone: Educational
Dialogue Word Count: 682 words (136 words/min)
Script Sections:
- HOOK (0:00-0:03): Bold statistic opener
- INTRO (0:03-0:30): Topic framing + what viewers will learn
- SCENE 1 (0:30-1:30): Current state of AI in healthcare
- SCENE 2 (1:30-2:45): 3 breakthrough applications
- SCENE 3 (2:45-3:45): Real-world case study
- SCENE 4 (3:45-4:20): What this means for the industry
- CTA (4:20-4:40): Subscribe + resource link
- OUTRO (4:40-4:52): End screen directions
Supplementary Materials:
- B-Roll Shot List: 14 shots
- On-Screen Text: 9 text overlays
- Music Recommendations: 3 tracks (upbeat electronic, 120 BPM)
- YouTube SEO: Title, description (with timestamps), 15 tags
Output Location (follows the brand's tracking backend):
<Drive folder / Airtable attachment / ~/Documents/ContentForge/AcmeMed/video/AI-Healthcare-2026_youtube-5min_v1.0.docx>
Platform-Specific Guidelines
YouTube (3min / 5min / 10min)
Pacing:
- Hook in first 3 seconds (bold claim, surprising stat, or question)
- Pattern interrupt every 30-60 seconds (new visual, topic shift, question)
- Mid-roll break point at ~8:00 for 10-minute videos
- End screen: 20 seconds with subscribe CTA and related video
SEO Requirements:
- Title: <= 60 characters, includes primary keyword, triggers curiosity
- Description: 200-300 words, timestamps (chapters), links, keywords
- Tags: 10-15 relevant tags
- Thumbnail suggestion (text overlay + visual concept)
Dialogue Style:
- Direct address ("you") throughout
- Conversational but authoritative
- Questions to maintain engagement ("But here's what most people miss...")
- Data points with context, not just numbers
YouTube Shorts (15s / 30s / 60s / up to 3min)
Pacing:
- Hook in first 1-2 seconds (text overlay + visual jolt)
- Loopable ending (last beat flows back into the hook — Shorts feed rewards rewatches)
- One idea per Short; for 2-3min Shorts, use a 3-beat structure (hook → payoff steps → loop/CTA)
Style:
- 9:16 vertical, burned-in captions (assume sound-off starts)
- Title-safe zone: keep text clear of the bottom UI overlay
- CTA: "subscribe" works better than external links (Shorts don't support link cards)
TikTok (30s / 60s / long-form 3-10min)
Pacing:
- Hook in first 1 second (text overlay + audio hook)
- New visual or text every 2-3 seconds
- Fast cuts between points (no lingering shots)
- End with loop potential (last frame connects to first)
- Long-form (3-10min): open with a payoff promise, break content into on-screen chapters, re-hook every 45-60 seconds; TikTok promotes watch-time on longer videos
Style:
- Text-heavy: Every key point has on-screen text
- Audio: Reference trending sounds or use voiceover with background music
- Casual, high-energy tone (even for educational content)
- Bold, simple language (no complex sentences)
Format:
- 9:16 vertical
- Captions auto-generated but script should assume sound-off viewing
- Green screen / talking head + B-roll intercuts
Instagram Reels (30s / 60s)
Pacing:
- Hook in first 2 seconds (visual + caption)
- Caption-driven storytelling (assume sound-off for 60% of viewers)
- Smooth transitions (no hard cuts like TikTok)
- Aesthetic consistency with brand visual identity
Style:
- Visual-first: Every scene needs a strong visual concept
- Captions: Required, styled to brand fonts/colors
- Music: Background mood music, lower energy than TikTok
- Professional but approachable
Explainer Video (3min / 5min)
Pacing:
- Hook in first 5 seconds (problem statement)
- Slower, measured delivery (120 words/min max)
- Pause after key points for viewer absorption
- Clear section transitions with visual markers
Style:
- Professional voiceover (no on-camera unless specified)
- Motion graphics and animated diagrams as primary visuals
- Data visualizations for statistics
- Clean, branded color palette throughout
Dialogue Word Count Targets
| Length | Target Words | Words/Min | Notes |
|---|---|---|---|
| 15s | 30-38 | 120-150 | Shorts-only; single point + loop |
| 30s | 60-75 | 120-150 | Tight, every word counts |
| 60s | 120-150 | 120-150 | Room for one key point + CTA |
| 3min | 360-450 | 120-150 | 3-4 main scenes (also max Shorts length) |
| 5min | 600-750 | 120-150 | 4-5 main scenes |
| 10min | 1,200-1,500 | 120-150 | 6-8 main scenes + mid-roll break (YouTube) or chapters (TikTok long-form) |
MCP Integrations
Optional (none required)
- Google Drive -- Only needed if the brand's tracking backend is Google Sheets + Drive, or when running in Cowork. Local and Airtable backends deliver the script without it.
- Google Sheets -- Tracking updates with video script metadata
- Notion -- Alternative output destination for video production teams
Limitations
- No video production -- This produces scripts, not finished videos
- Music is suggestive -- Recommendations for mood/tempo, not licensed track names
- B-roll is descriptive -- Shot list describes what to film/source, not actual footage
- Platform algorithms change -- SEO and pacing recommendations based on current best practices
- Branded visuals -- Script describes visual concepts but does not produce graphics
Troubleshooting
"Source article too long for target video length"
Cause: Article has more content than the video length can accommodate.
Solution: Script automatically selects the highest-impact points. Override with --focus="section 2, section 4" to prioritize specific sections.
"Hook score below threshold"
Cause: Opening 3 seconds lack a strong enough attention grabber.
Solution: Script loops back and regenerates hooks (up to 3 attempts). If persistent, provide a specific hook with --hook="Did you know 73% of...".
"Word count exceeds time budget"
Cause: Dialogue written at > 150 words/minute pace. Solution: Structurer Agent trims sections to fit. Review trimmed content in the script notes.
Related Skills
- /contentforge:create-content -- Research and produce source content first
- /contentforge:cf-social-adapt -- Adapt video descriptions for social platforms
- /contentforge:batch-process -- Batch produce scripts for a content series
- /contentforge:cf-translate -- Translate scripts for international markets
Agents: Researcher (01-researcher), Content Drafter (03-content-drafter), Structurer (05-structurer-proofreader) Quality Guarantee: Hook in first 3s (1-2s for Shorts/TikTok), dialogue paced at 120-150 wpm, B-roll for every major point, platform-specific optimization