Repository navigation
showtime 0.3.0
showtime 0.3.0 reviews every video before you see it, makes videos less alike, and checks what viewers complain about
most: text that moves too fast, is too small on a phone, or a look every agent video seems to share. It also adds
explainers for repos and papers, a release-video command with a GitHub Action, and a receipt for every job that says what
the video took. Same idea as before: your coding agent directs, your machine renders, nothing is uploaded.
In my blind vote in benchmark round 4, 0.3.0 in lean mode was preferred to 0.2.0 on 4 of 6 tasks and to plain Claude
Code on 7 of 8, and its launch video beat a tool built only for launch videos for the first time in four rounds. The
full review, now the default, came after that round and was not part of it. One author, one run per task: anecdotes, not
a result (report).
A full review by default, lean when you ask
- Quality mode is the default. Every finished video gets looks, qa and a critic round (a reviewer that did not build
it) before delivery.qaanddeliverwarn "review pending" until the critic round has run. - Lean mode is one word away. Say "lean", run
showtime config mode lean, pass--mode lean, or set it through MCP,
for a lighter pass without the critic round. The mode is recorded in the job and in its receipt. showtime lookmakes one 1280 px composite of the key frames and a brief for a disposable reviewer that answers
in text with timestamps. Your agent no longer has to open a stack of full-size images.- Short command output. Without a terminal (agents, pipes, MCP),
check,qa,doctorandrenderprint the
verdict, the findings with their fixes and the paths; the full report is in a file.--verboseprints everything. showtime guide <topic> [section]prints a reference's rules or one section instead of the whole file. Every
reference now opens with an Essentials block.- Check before render.
renderwarns when the project changed since the lastcheck, and after a second full
render it names--from S --to S, which renders only that span and splices it into the full video. showtime job initchecks setup and printssetup: readyor the failures with their fixes.
Better videos
- Variety guard. Each finished job's look (template, theme, palette, type pair, transitions, camera moves, music,
structure, tone) is kept in a history on your machine.showtime checkwarnslook_repeatwhen a project repeats one
of the last five and offers two alternatives.showtime history offturns it off; nothing is uploaded. - Style references.
showtime reference <video>measures a video's cut rhythm, shot lengths, palette, camera moves,
rough type scale and loudness, and writes a brief. The storyboard borrows the grammar, never the words, logos or
shots; the credit is written for you, andshowtime qafails a render that copies the reference's pictures. - Phone check.
showtime checkends withphone check: PASSorFAILwith timestamps: text held long enough to
read (per language), a minimum type size at phone width (16:9 5 pt, 1:1 10, 4:5 11, 9:16 15) and nothing under the
platform's buttons. Inqaa failure is a warning. - Pairwise review. For publish-bound work,
showtime review-pack --against bestsets the new render beside the best
so far as a blind pair, judged twice with the order swapped.showtime review-verdictships the new one only if it
wins both; a tie or a split keeps the older render. Up to three rounds, no scores. - Brand first for launches.
showtime brand capture <repo|url> --job <job>takes the product's palette, fonts, logo,
wordmark, real copy (with file and line) and real UI before the storyboard;showtime new launchapplies it. A launch
with no kit records why, andcheckwarns when the page ignores the kit. The launch workflow now states length
defaults (teaser 10 to 15 s, feature 30 to 40 s, launch 45 to 60 s) and the two-second hook. - Fixes where agents tripped in the 0.2.0 runs: frames of a clip that is not active no longer depend on seek order,
retime --from-voice --totalworks when every scene is narrated, Manim silent films and--mixpaths work,
manim checkruns qa's black-frame and frozen-frame detectors on a draft, font errors name the exact missing
characters and the fix, anddoctorwarns when theshowtimecommand on your path is not your agent's. - Partial renders splice into the full video.
render --from/--to --jobre-renders a span and writes a complete
final; a span file is never the deliverable. The Manim templates pass their own check, and qa no longer reads a dark
design as a black frame. - Math by ear.
voice scriptwarns when a line repeats a word across a sentence break ("One. One plus three" is
heard as "one one plus three"); the voice guide says how to read sums and symbols aloud. - Charts keep their numbers. A bar or point added to a chart grows in with its own label, while the labels already
on screen stay lit and move with their bars (they used to blink out and back). Callouts carry their year or value
("2015: first year above 400 ppm") and move clear of the line's end label.checkwarnschart_labels_hiddenwhen
a page hides chart labels during motion. - Pacing you can feel.
checkwarnsslow_scenewhen a scene holds well past the time its text needs; launch
films warn on still stretches from 3.5 s (they read as a frozen video); qa'sdead_stopflags a fast move that halts
in one frame, andcheck'ssame_frame_entrancethree or more items landing on one frame, each with its fix. Data
films dip between text-heavy scenes instead of blurring them together, andshowtime lookincludes the middle of
the fastest transition, where doubled text hides. - "Make it like this video" lands on the reference's style.
showtime referencenow measures the reference in
frames (every cut, shot lengths, moves and easing, palette roles, margins and type sizes, tempo and every sound hit)
and writes a spec with what to keep and what to change, plus astyle.cssthatshowtime new --joblinks into the
project. The reference's colours carry over unless you have a brand kit or ask otherwise; its words, logos and shots
never do.showtime reference diff <job>checks the render against the reference and names what drifted, by frame.
New kinds of video
- Repo explainers and paper explainers (workflows
repo-explainerandpaper-explainer). A codebase explained in
five parts, with one request traced through real files and lines at a pinned commit; a paper explained with claims
tied to pages, figures shown only when their license allows, and Manim for the math. Every claim has a row pointing at
its source. There is no example in the gallery yet. showtime release-videoturns release notes, a CHANGELOG section or a PR description into a ready-to-render
project with no agent: the notes' own words, holds long enough to read, the people credited.- A GitHub Action (
.github/actions/showtime-video, guide indocs/github-action.md) renders a release or PR video
on the runner, checks it, exports an HTML video and a copy under 10 MB, and uploads them. It needs no API key unless
you choose the mode that runs your own agent. showtime adopt <folder | page | script>takes a video someone already wrote as a function of time (an HTML page
withseek(t), a canvasdraw(t), a CSS-animated page, a Python frame function) and gives it showtime's checks,
sound, captions, qa, HTML export and review without a rewrite. Your original files are never changed.
Honesty
- A receipt for every job.
receipt.md,receipt.jsonand a line inshare.txt: your request as typed, the
assumptions, review rounds, full and partial renders, images made for looking, wall time, and tokens and cost when your
agent's session log is named. Anything unknown says "not reported by this agent"; nothing is estimated. Claude Code
costs are labelled API-equivalent, because a plan does not pay per video; Codex gives tokens only. showtime qare-extracts its contact-sheet frames when the video is newer than them (a re-render to the same
final.mp4used to show the old frames), and a 1:1 or 4:5 master is no longer an aspect warning for X or LinkedIn.SECURITY.mdsays how to report a vulnerability privately.
Upgrading from 0.2.0
- Claude Code:
/plugin marketplace update showtime. Other agents:showtime install --agent <name>again, or pull the
repository. No setup step is needed;showtime job initnow checks setup itself. - New files appear in your job folders (
receipt.md,receipt.json,work/look/) and a line inshare.txtbetween
receipt markers (delete it if you like). - The look history is a file at
~/.showtime/history/looks.jsonon your machine.showtime history offstops it,
showtime history cleardeletes it. - Commands print less when there is no terminal. If you scripted against the old long output, use
--verboseor
SHOWTIME_OUTPUT=full. - Launch jobs now warn (
brand_missing) until they have a brand kit or a recorded reason. - MCP: tool results are capped at 40 lines, and there are new
guideandreceipttools;snaptakeslook: true. - The review mode: 0.3.0 runs the full review by default. To keep 0.2.0's lighter behaviour for drafts, run
showtime config mode lean. - The Claude Desktop bundle
showtime-0.3.0.mcpbis attached to this release; the npm package
@faviovazquez/showtime-mcpis 0.3.0.
Known limits
- Tokens and cost come only from agents that expose a session log we can read (Claude Code and Codex); everything else
says "not reported by this agent". Through MCP there is no session log. - Hosts without a sub-agent tool keep the look composite in the main context; it is one image of about 1.5k tokens, but
the agent has to open it. showtime referencetakes local files, or a direct link to a video file; it does not fetch pages or streaming sites.- The phone check and the look history read project files. They catch what can be measured, not whether a video is good.
- A model reviewer's preference is steadier than its score, but it is still an opinion.
adoptcannot make code deterministic that is not: timers and libraries that run their own clock do not follow the
virtual clock (the check names them). Python scripts run on a copy with a time limit and no network to other machines.- The GitHub Action's agent mode is tested only for its plumbing, not with a particular agent.
- Platforms and agents: same as 0.2.0. Claude Code, Codex, Cursor, Devin and OpenCode are tested; the others should
work. Windows 10/11 desktop and Windows 11 on Arm are still to run.
Benchmark
Round 4 compared showtime 0.3.0 in lean mode (the default when the round ran) with 0.2.0 in its default mode, plain
Claude Code on Opus 5.5 and, for the launch video, a tool built only for launch videos: 8 tasks, one run each, automatic
checks, an AI judge that must prove it looked at every frame, and a blind vote by me.
- Blind vote: 0.3.0 lean preferred to 0.2.0 on 4 of 6 tasks (launch, filler cut, HTML report, math) and to plain Claude
Code on 7 of 8. It lost the data story and the vertical short to 0.2.0, and "make it like this reference" to plain
Claude Code. - The AI judge preferred 0.2.0 on most tasks, for polish: holds, a blurred crossfade, a missing year label. That is why
the full review is now the default, and why the fixes above were made; they were not re-run in a blind round. - Process, lean runs: a median of 4.5 images read into the agent's context, one full render per job, no qa failures,
a receipt on every job, and no run touched another showtime install.
I'm showtime's author, so treat it as anecdotes, not a result. Every number, limit and loss is in the
benchmark report; the 0.2.0 report is still there, a click away.
The full list of changes is in the changelog.
Install steps per agent: docs/agents.md.