{
  "markdown": "# proving-it-works\n\nA Claude Code plugin for making a movie that proves software actually\nworks — and for catching the defects that make such movies worthless\nbefore you hand one to anybody.\n\n## See it work\n\n![the movie the plugin made, playing inside the demo](docs/demo.gif)\n\n**▶ [Watch the full two minutes, with sound](https://github.com/prime-radiant-inc/proving-it-works/raw/main/docs/demo.mp4)**\n · [subtitles](docs/demo.srt) · [how it was made](examples/e2e/)\n\nA clean container installs this plugin from the public marketplace, an agent\ninside it uses the skill to make a narrated movie of a small web app, and the\nskill's own checker verifies that movie. The loop above is that inner movie\nplaying: real screenshots, a cursor you can watch, a local voice (there is no\nAPI key in that container), and subtitles burned into the picture.\n\n## Why\n\nA movie is evidence, and every way it fails is silent. No crash, no red\ntext: just an artifact that looks fine to whoever made it and is obviously\nbroken to the first person who watches it.\n\nThis plugin exists because of a measured failure. Two agents were asked to\nrecord a narrated movie proving a small web app worked. One of them\nextracted frames and looked at them, ran `ffprobe`, checked the audio wasn't\nsilent, asserted real DOM state at every step, and confirmed via the server\nlog that a page reload had genuinely round-tripped. Every check passed. It\nshipped a movie whose picture froze three seconds in while the narration\nkept talking for another twenty.\n\nPer-frame verification cannot see a defect that lives *between* frames. So\nthe timeline check here is a script, not advice.\n\n## What's in it\n\nA skill, `proving-it-works-with-a-movie`, that covers four routes:\n\n| Route | For |\n|---|---|\n| Browser-driven motion | The interaction is the claim: typing, clicking, live updates |\n| Terminal | A CLI, a TUI, an install, a test run, an agent working |\n| Stills | A sequence of real states, motion optional |\n| Log-rendered reel | OS capture is blocked, or the thing to prove is a *run*, not a UI |\n\n...plus the parts that go wrong regardless of route: narration verbatim\ngates, measured (never guessed) pacing, cursor visibility, ffmpeg traps, and\nrecording against a copy of your data rather than the real thing.\n\n### The scripts\n\n| Script | Does |\n|---|---|\n| `narrate` | one clip per scene; a cloud voice when a key exists, a local one when it doesn't |\n| `make-subtitles` | an SRT timed to the measured clips (subtitles are the default, not a nicety) |\n| `assemble` | scenes into a cut, each segment held to max(narration, visuals) |\n| `burn-subtitles` | into the picture where libass exists, a soft track where it doesn't |\n| `check-movie` | the gate |\n\n### `check-movie`\n\nThe mechanical gate. It samples picture and sound on one timeline and fails\na movie when the action is crammed into the opening seconds while narration\ncontinues over a frozen picture, when the picture never changes at all, or\nwhen the audio is silent. It writes a contact sheet you are then expected to\nactually look at.\n\n```\n$ skills/proving-it-works-with-a-movie/scripts/check-movie demo.mp4\ncontainer  h264 1280x800, 26.8s, audio=yes\npicture    reaches a new state in 2 of 26 seconds; last at 3s\nsound      audible in 24 of 24 seconds; last at 23s\nsheet      demo-check/contact-sheet.png\nFAIL       every visible change happens in the first 3s (12% of runtime),\n           then the picture is frozen for 23s while narration keeps talking\n           for 20s of it. The demo is over before the explanation starts:\n           pace the action to the narration.\n\nNOT SHIPPABLE. Fix, regenerate, re-run.\n```\n\nIt cannot tell you a movie is *right* — only that it isn't obviously broken.\nThat is what the contact sheet and your own eyes are for.\n\n## Install\n\n```\n/plugin marketplace add prime-radiant-inc/proving-it-works\n/plugin install proving-it-works\n```\n\nThe skill then activates on its own when you ask for a demo, screencast,\ntutorial, or proof video.\n\nIt runs on every harness below; each one reads the same skill from `skills/`.\n\n<!-- everyharness:install:start -->\n\n| Harness | Install |\n|---|---|\n| Claude Code | see docs/install/claude-code.md |\n| Cursor | see docs/install/cursor.md |\n| Codex | see docs/install/codex.md |\n| Devin CLI | see docs/install/devin.md |\n| Kimi Code | see docs/install/kimi.md |\n| Gemini CLI | see docs/install/gemini.md |\n| OpenCode | see docs/install/opencode.md |\n| Pi | see docs/install/pi.md |\n| Hermes Agent | see docs/install/hermes.md |\n| Agent Plugins 1.0 clients | see docs/install/agent-plugins-1.0.md |\n| Factory Droid / Grok / Copilot (marketplace descriptor) | see docs/install/agents-marketplace.md |\n\n<!-- everyharness:install:end -->\n\n## Requirements\n\n- `ffmpeg` and `ffprobe`\n- `uv` (runs `check-movie`; it declares its own dependencies inline)\n- For the browser routes: Chrome plus a driver (Playwright or raw CDP)\n- For narration: any TTS you like — see the skill's `narrating.md` for which\n  kinds lie to you and how to catch them\n\n## Tests\n\n```\ntests/test-check-movie.sh\n```\n\nSynthesizes movies with known defects via ffmpeg's lavfi sources and asserts\nthe checker's verdict on each. No fixtures committed, nothing downloaded.\n\n## Credits\n\nThe composited-stills and log-rendered-reel routes are adapted from\n`rendering-a-demo-movie.md` and `recording-a-proof-movie.md` in\n[obra/superpowers](https://github.com/obra/superpowers) PR #1931 (MIT).\nThe rest comes from producing a real narrated product tutorial and from the\nbaseline experiments described above.\n\n## License\n\nMIT — see [LICENSE](LICENSE).\n",
  "bytes": 5603,
  "sha": "2fe4c76816cb92d7666e4494d1f3bd7014ce64d802fd81c8524f2e359d6fd279",
  "repo_slug": "prime-radiant-inc/proving-it-works",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/plg_prime_radiant_inc_proving_it_works_79df21b7/readme"
}