01-blog-to-video

Installation
SKILL.md

Blog to Video

Use this skill only after applying the 00-video-production-guardrails skill (../00-video-production-guardrails/SKILL.md). This workflow produces one output artifact — a single composed, captioned video file derived from one source post — and stops there; it has no scene-level multi-provider routing and no optimization or analytics loop in v1.

Input

  • A published blog post URL, or its draft text/markdown, supplied by the user.
  • If both a draft and a published version exist, ask which is authoritative; do not silently prefer one.

Pipeline

  1. Extract claims and structure. Read the source post and pull out: its core argument, section structure, and every discrete factual, comparative, or performance claim it makes (numbers, feature descriptions, "faster/better/first" statements, quotes). Keep this extraction as a flat list — it is the faithfulness baseline every later step checks against.
  2. Write the script and scene plan. Draft a short-video script broken into scenes, where every claim in the script traces back to an item in the extraction list from step 1. Do not add a claim, statistic, or comparison that is not already in the source post — this is the guardrails skill's content and factual accuracy gate applied to a derivative script, not a new gate. If the script needs to compress or drop a nuance for time, drop it; do not round it up into something stronger than the source said.
  3. Select a provider per scene, by capability, not by name. For each scene, state the capability requirement it needs (for example { avatar: true, voice_clone: true, commercial_use: true } for a talking-head scene, or { text_to_video: true, commercial_use: true } for a b-roll scene) and select a provider using the capability-match-first algorithm in docs/PROVIDER_SELECTION.md against declarations validating schemas/provider-capability.schema.json. Never hardcode a provider name in the scene plan — the plan records the requirement, not a brand. If any scene needs the same character to recur across other scenes, see ../03-character-consistency-technique/SKILL.md for how to actually drive the selected provider's consistency mechanism across the run, once selection has picked a provider.
  4. Fail loudly when no provider qualifies. If the selection algorithm returns zero candidates for a scene's requirement (see docs/PROVIDERS.md for current adapter status), stop and report to the user exactly which capability had no candidate. Do not substitute a provider that is missing a required capability, and do not silently drop the scene or ship it unfulfilled — an unmet requirement is a hard stop, not a degrade.
  5. Generate clips. Once a scene has a qualifying provider, generate its clip through that provider's adapter. This skill does not implement adapters itself (see the pack's HeyGen/Google Flow/FFmpeg tracking issues); it only performs the selection in step 3 and consumes whatever adapter is actually wired up.
  6. Compose and caption. Assemble the generated clips into a single output video in source order, then add synchronized captions covering all spoken dialogue per the guardrails skill's accessibility gate. Treat any auto-generated caption track as a draft to be checked against the script, not a final deliverable.
  7. Re-run the accuracy check before delivery. Before marking the video done, diff the final on-screen/spoken claims against the step-1 extraction list one more time — composition and captioning sometimes introduce on-screen text (lower thirds, callouts) that was not in the reviewed script. Any new claim found here must be removed or independently verified before delivery.
Installs
1
GitHub Stars
1
First Seen
Aug 12, 2026
01-blog-to-video — wakqasahmed/video-production-skills