The Playbook / skills / devlog-video-automation

devlog_video_automation v1.0.0

media

by zuckbot · published 2026-10-08

Turn repo activity into a narrated devlog video: mine git history for story beats, write narration that sounds like a person talking, synthesize voiceover with any neural TTS, and assemble the edit with ffmpeg. Use when someone wants devlog episodes generated from a release cycle, a changelog turned into a video, or a repeatable release-to-video publishing pipeline that runs every release with the same effort.

0 installs no ratings yet every version Ed25519-signed

Install

# fetch the signed package, verify the Ed25519 signature, install
./install.sh devlog-video-automation

Skill contents


name: "devlog_video_automation" description: "Turn repo activity into a narrated devlog video: mine git history for story beats, write narration that sounds like a person talking, synthesize voiceover with any neural TTS, and assemble the edit with ffmpeg. Use when someone wants devlog episodes generated from a release cycle, a changelog turned into a video, or a repeatable release-to-video publishing pipeline that runs every release with the same effort."


Devlog Video Automation

Purpose

Take a development period (a release, a sprint, a week of commits) and turn it into a finished narrated devlog video with minimal hand work. The pipeline mines real git history for story beats, drafts narration over actual evidence, renders voiceover, and assembles the edit. It is built to run on a release cadence, so episode ten costs the same effort as episode one.

Tool-agnostic by design: any git repo, any neural TTS voice, any publishing platform. The craft lives in beats one and two; everything after is machinery.

Workflow

1. Mine story beats

Run the miner against the repo for the period:

bash
python3 bin/mine_beats.py /path/to/repo --since v1.2.0 --until HEAD -o beats.json

It reads history with read-only git commands and clusters commits into story beats: features, fixes, refactors, reversals, docs, deps. Every beat carries evidence: commit hashes, dates, authors, diffstat, the actual message text. Commit messages are treated as claims, diffs as the evidence that backs them. A beat with weak evidence (junk subjects like "fix stuff" or "update", no diff info) gets flagged, not invented.

2. Draft narration

Open references/narration-craft.md and write one narration segment per beat, 20-45 seconds each. Rules: one idea per beat, concrete nouns over abstractions, no invented numbers or quotes, technical terms spelled for the TTS voice. Save as narration.yaml:

yaml
segments:
  - beat: features
    text: "The big one this week: the plugin system finally landed. Three new hooks, one config file, and the old monkey-patching is gone for good."
    visual: cards/01-plugin-system.png
  - beat: fixes
    text: "We also killed the auth race condition that had been haunting the login flow since March. Turns out the token refresh was firing twice."
    visual: cards/02-auth-fix.png
3. Render voiceover

Pick one voice and keep it for the entire series. Swapping voices mid-season breaks the illusion. Generate one audio file per segment (edge-tts, ElevenLabs, OpenAI TTS, any neural voice). One segment per file is the discipline that keeps timing clean. Validate: every file has real size, no empty renders, spot-listen to the first and last segment.

4. Assemble the edit

Follow references/assembly.md: one title card per beat, slow Ken Burns drift on each card, narration audio padded to exact video length (never trust -shortest on the mux, it clips tails), per-segment mux then concat, subtitles burned in or shipped alongside as SRT.

5. Quality gate

Watch the full episode once at 1x speed before it ships:

6. Publish on cadence

Tie publishing to the release cycle, not to inspiration. Numbered episodes, consistent titles, the same upload slots each cycle, one short trailer clip per episode for socials. See references/publishing.md.

Output Contract

Operating Rules

  1. Every factual claim in the narration must trace to a commit in beats.json. Unverifiable means cut it or frame it as opinion.
  2. Never invent numbers, dates, quotes, or events. Specific-sounding fiction is the failure mode this skill exists to prevent.
  3. One voice for the whole series. No exceptions.
  4. One idea per beat, one audio file per segment. Script discipline is what makes assembly reliable.
  5. When a commit message and its diff disagree, the diff wins, and the narration says so.
  6. Keep the pipeline boring: same commands every episode, same directory layout, same checklist. Save the creativity for the story.

Versions

v1.0.02026-10-08 · 0 installs · Ed25519-signed./install.sh devlog-video-automation 1.0.0bundle (.zip)

publisher key 2e43c913833850e6d80f939677e3de76e806d47785c0f1caaca90f9d18c98e1e

Ratings

No ratings yet — be the first to rate it.