video-db/agentic-streams · Archived

content-creator

Turn any research topic into a polished video with narration, dynamic visuals, and background music.

First seen Apr 11, 2026

Installation

$ npx skills add video-db/agentic-streams --skill content-creator

Summary

  • Turn any research topic into a polished video with narration, dynamic visuals, and background music.
  • Supports pluggable formats (briefing, fireship-explainer, and more).
  • Researches via parallel subagents, scripts a narrative arc, sources real-world assets (stock footage, memes, logos) from APIs and a persistent VideoDB collection cache, produces assets, composes on a timeline, and self-reviews in a loop.

Stronger alternatives

This repository is archived — consider an actively maintained alternative.

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from video-db/agentic-streams.

npx skills add video-db/agentic-streams

Browse all from video-db/agentic-streams

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Repository health

Stars 42
Default branch main
Open issues 0
Status Archived

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 14,565 B
  • docs README.md 8,357 B
  • docs SUMMARY.md 430 B

History

  1. First seen on skills.sh
  2. First recorded snapshot · 7 installs

SKILL.md

Content Creator

Configuration

MAX_ITERATIONS: 5
DEFAULT_RESOLUTION: 1280x720
DEFAULT_FORMAT: landscape
ASSET_COLLECTION_NAME: content_creator_assets

Format Selection

Each video format is defined in its own recipe file under reference/formats/. Read the selected format file before Phase 2 — it defines persona, pacing, narrative arc, sourcing strategy, and quality criteria.

User asks for... Format file
"briefing", "summary", "quick take", "60 seconds on" [formats/briefing.md](reference/formats/briefing.md)
"explainer", "breakdown", "deep dive", "Fireship-style", "tech video" [formats/fireship-explainer.md](reference/formats/fireship-explainer.md)

If ambiguous, default to briefing for short requests and fireship-explainer for anything that implies depth or multiple topics.

Production Method Diversity (CRITICAL)

No single production method may dominate. AI image generation (generate_image) is the easiest tool to reach for, but using it for every segment produces a narrated slideshow.

Hard Rules (all formats)

  1. No single production method may be used for more than 50% of segments.
  2. At least 3 different production methods per video (from: real-sourced assets, Remotion, Playwright, AI video, AI image, TextAsset).
  3. codeeditor MUST NOT use generateimage. AI hallucinates code. Use Remotion or Playwright (local HTML+highlight.js).
  4. diagramanimation MUST NOT use generateimage. No animation. Use Remotion SVG.
  5. splitscreen MUST NOT use generateimage. Layout unreliable. Use Remotion.
  6. kinetic_text MUST use VideoDB TextAsset. Don't generate an image of text.
  7. Code screenshots MUST use local HTML+highlight.js (see browser-recording.md capturecodedisplay). Never ray.so/carbon.sh URL encoding.

Recommended Production Method Per Visual Type

Visual Type Primary Method Fallback NEVER use
code_editor Remotion Playwright (local HTML+highlight.js) generate_image, ray.so URL encoding
diagram_animation Remotion SVG generateimage (static only, rename to imagescene) —
logo_composition Real logos (Simple Icons CDN) generate_image —
split_screen Remotion Playwright (side-by-side screenshots) generate_image
data_viz Remotion generate_image (static chart fallback) —
motion_scene Stock footage (Pexels) generate_video —
browser_capture Playwright recording Playwright screenshot generate_image
kinetic_text VideoDB TextAsset Remotion text component generate_image
meme_insert Real meme template (Imgflip/GIPHY) generate_image —
image_scene Stock photo (Pexels) generate_image —
stock_footage Pexels/Pixabay API generate_video —

The self-review phase will automatically fail any video where >50% of segments use a single production method.

Asset Sourcing Hierarchy

Before producing any visual, follow this priority. See [recipes/sourcing/asset-library.md](reference/recipes/sourcing/asset-library.md) for details.

1. SEARCH the asset library collection (instant, free, pre-indexed)
      ↓ not found
2. SOURCE from external APIs (Pexels, Imgflip, GIPHY, Simple Icons, etc.)
      ↓ not available
3. GENERATE with AI (generate_image, generate_video, TextAsset)
      ↓ after sourcing/generating
4. UPLOAD to asset library for future reuse

Each sourcing channel has its own recipe:

Sourcing Recipe File Used for
Asset Library [sourcing/asset-library.md](reference/recipes/sourcing/asset-library.md) Cache search (always first)
Stock Footage [sourcing/stock-footage.md](reference/recipes/sourcing/stock-footage.md) stockfootage, motionscene, image_scene
Meme Sourcing [sourcing/meme-sourcing.md](reference/recipes/sourcing/meme-sourcing.md) meme_insert
Logo Sourcing [sourcing/logo-sourcing.md](reference/recipes/sourcing/logo-sourcing.md) logo_composition, logo overlays
GIF Reactions [sourcing/gif-reactions.md](reference/recipes/sourcing/gif-reactions.md) PiP overlays, reaction clips

Parallel Execution

This skill supports parallel runs. Every run must generate a unique slug and namespace all local temp files under it.

Slug Generation

import uuid

SLUG = uuid.uuid4().hex[:8]
WORK_DIR = f"/tmp/vb_{SLUG}"

What the slug isolates

Resource Path pattern
Browser capture videos {WORK_DIR}/captures/
Screenshots {WORK_DIR}/screenshots/
Downloaded review frames {WORK_DIR}/frames/
Any temp scripts {WORK_DIR}/scripts/
Remotion projects {WORK_DIR}/remotion/

Rules

  1. Never use bare /tmp/ paths. Always use {WORK_DIR}/....
  2. Create WORKDIR early. Run Path(WORKDIR).mkdir(parents=True, exist_ok=True) in Phase 0.
  3. Pass WORK_DIR to all functions.
  4. Clean up on completion. shutil.rmtree(WORKDIR, ignoreerrors=True).
  5. Log the slug. print(f"Video run: {SLUG}").

Dependencies

Required: VideoDB — handles all media generation (images, video, voice, music, sound effects), timeline composition, indexing, search, and streaming. Install: pip install videodb python-dotenv. Get a free API key at console.videodb.io.

Optional tools (use if available, fall back gracefully if not):

  • Remotion — code-rendered animations: charts, code editors, diagrams, logos, split-screen. Fallback: Playwright or AI generation.
  • Playwright — browser recording and screenshots. Navigate to real websites, capture code displays. Install: pip install playwright && playwright install chromium. See [browser-recording.md](reference/browser-recording.md).

Optional API keys (set in environment for richer sourcing):

  • PEXELSAPIKEY — stock footage and photos from Pexels
  • GIPHYAPIKEY — reaction GIFs and animated memes from GIPHY
  • PIXABAYAPIKEY — stock footage fallback from Pixabay
  • IMGFLIPUSERNAME / IMGFLIPPASSWORD — captioned meme generation via Imgflip

If any key is missing, that sourcing channel is skipped gracefully. The video will still work — just with fewer real-world assets.

Visual Types

The skill supports 11 visual types. Pick based on what communicates best:

Visual Type Use For Primary Source
data_viz Animated charts, bar graphs, counters Remotion
motion_scene Atmospheric b-roll, hooks, transitions Stock video (Pexels) / AI video
browser_capture Citing sources, showing evidence Playwright
kinetic_text Key quotes, stat highlights, punchy declarations VideoDB TextAsset
image_scene Abstract concepts, mood backgrounds Stock photo (Pexels) / AI image
code_editor Code with syntax highlighting Remotion / Playwright HTML
meme_insert Humor beats, joke images/clips Real memes (Imgflip/GIPHY)
diagram_animation Architecture diagrams, data flows Remotion SVG
logo_composition Tech logo grids, comparisons Real logos (Simple Icons)
split_screen Side-by-side comparisons Remotion
stock_footage Real-world b-roll clips Pexels/Pixabay API

Pipeline

0. Pre-flight       → verify tools, bootstrap asset collection, read format file
1. Research         → parallel subagents investigate the topic
2. Script           → structure findings into a video script (format-driven)
3. Asset Production → source/create visuals (search → source → generate)
4. Composition      → arrange on timeline, generate stream
4.5 Captions        → (optional, user-requested) index spoken words, add auto-synced animated captions
5. Self-Review      → index draft, critique, identify fixes
6. Iterate/Deliver  → fix and recompose, or deliver final URL

Phase 0: Pre-flight Checks

  1. Generate slug and create WORKDIR (with subdirs: captures, screenshots, frames, scripts, remotion, sourced, reviewframes).
  2. Connect to VideoDB. Find or create the contentcreatorassets collection (see [sourcing/asset-library.md](reference/recipes/sourcing/asset-library.md)).
  3. Check and install Playwright if missing (pip install playwright && playwright install chromium).
  4. Set up Remotion (MANDATORY ATTEMPT). Follow [recipes/remotion-setup.md](reference/recipes/remotion-setup.md) for full bootstrap instructions, component library, and test render. Set REMOTION_AVAILABLE = True/False based on result.
  5. Check which API keys are available (PEXELSAPIKEY, GIPHYAPIKEY, IMGFLIPUSERNAME, IMGFLIPPASSWORD, PIXABAYAPIKEY).
  6. Read the selected format file (reference/formats/{format}.md).
  7. Print capability summary including REMOTIONAVAILABLE, PLAYWRIGHTAVAILABLE, and which API keys are set.

Remotion Bootstrap (Phase 0, Step 4)

Remotion enables animated code, diagrams, transitions, split-screens, data viz, and kinetic text — visual types that are static/broken without it. You MUST attempt this setup. Only skip if it fails after the retry.

Full setup instructions, component library (CodeEditor, KineticText, DiagramFlow, BarChart, SplitCompare, WhipTransition, CounterReveal), and rendering commands are in [recipes/remotion-setup.md](reference/recipes/remotion-setup.md).

Quick summary:

  1. Check node --version && npm --version
  2. Scaffold project: npm init -y && npm install remotion @remotion/cli react react-dom
  3. Write Root.tsx and component files from the recipe
  4. Test render: npx remotion still src/Root.tsx CodeEditor test.png --props='{"code":"const x=1;","language":"javascript"}' --frame=0
  5. If test render succeeds → REMOTION_AVAILABLE = True
REMOTION_AVAILABLE = False  # set to True after successful test render
REMOTION_DIR = f"{WORK_DIR}/remotion"

If REMOTIONAVAILABLE = False: visual types diagramanimation, splitscreen, and dataviz MUST be downgraded to Playwright-rendered alternatives or replaced with a different visual type in the script. Do NOT silently fall back to generate_image for these types.

Phase 1: Research

Launch 3-5 parallel subagents to investigate different angles of the topic.

See [reference/research.md](reference/research.md).

Phase 2: Script

Convert research into a video script. Follow the narrative arc and pacing defined in the format file.

See [reference/scriptwriting.md](reference/scriptwriting.md) for the JSON schema and visual type guidance.

Phase 3: Asset Production

For each segment, follow the sourcing hierarchy: search asset library, source from external APIs, then generate.

See [reference/asset-production.md](reference/asset-production.md) for the visual type → recipe router. Each visual type has a dedicated recipe file. Each sourcing channel has a dedicated recipe under recipes/sourcing/.

Also generate per-segment narration audio and one background music track using the videodb skill.

Phase 4: Composition

Arrange all assets on a multi-track timeline. Follow the pacing and transition rules defined in the format file.

See [reference/composition.md](reference/composition.md).

Present the stream URL: https://console.videodb.io/player?url={STREAM_URL}

Phase 4.5: Add Captions (Optional)

If the user explicitly requests captions, add speech-synced animated captions as a post-processing pass after the main stream is composed. Upload the stream, index spoken words, and recompose with a CaptionAsset(src="auto") overlay.

See [reference/recipes/captions.md](reference/recipes/captions.md) for the full caption config, animation styles, and color presets. Only run this phase if the user asks for captions.

Phase 5: Self-Review (mandatory)

Always runs at least once. Upload the draft, index it, compare intended vs actual. Critique as a director.

See [reference/self-review.md](reference/self-review.md).

Phase 6: Iterate or Deliver

If issues remain and under MAX_ITERATIONS, fix and recompose. Otherwise deliver the final stream URL and player URL with a segment breakdown.

Quick Reference

Phase Key Reference
Format Selection [formats/briefing.md](reference/formats/briefing.md) or [formats/fireship-explainer.md](reference/formats/fireship-explainer.md)
Research [research.md](reference/research.md)
Script [scriptwriting.md](reference/scriptwriting.md)
Asset Production [asset-production.md](reference/asset-production.md)
Composition [composition.md](reference/composition.md)
Self-Review [self-review.md](reference/self-review.md)
Media APIs videodb skill

Visual Recipe Files

Recipe Path
Remotion Setup [recipes/remotion-setup.md](reference/recipes/remotion-setup.md)
Code Slide [recipes/code-slide.md](reference/recipes/code-slide.md)
Meme & Humor [recipes/meme-humor.md](reference/recipes/meme-humor.md)
Kinetic Text [recipes/kinetic-text.md](reference/recipes/kinetic-text.md)
Diagram Flow [recipes/diagram-flow.md](reference/recipes/diagram-flow.md)
Data Viz [recipes/data-viz.md](reference/recipes/data-viz.md)
Split Compare [recipes/split-compare.md](reference/recipes/split-compare.md)
Overlay Techniques [recipes/overlay-techniques.md](reference/recipes/overlay-techniques.md)
Captions [recipes/captions.md](reference/recipes/captions.md)

Sourcing Recipe Files

Recipe Path
Asset Library [sourcing/asset-library.md](reference/recipes/sourcing/asset-library.md)
Stock Footage [sourcing/stock-footage.md](reference/recipes/sourcing/stock-footage.md)
Meme Sourcing [sourcing/meme-sourcing.md](reference/recipes/sourcing/meme-sourcing.md)
Logo Sourcing [sourcing/logo-sourcing.md](reference/recipes/sourcing/logo-sourcing.md)
GIF Reactions [sourcing/gif-reactions.md](reference/recipes/sourcing/gif-reactions.md)