Agent Plugins Marketplace
All plugins

demo-video-plugin

v1.1.0+codex.20260914152844

Build narrated, edited project demos with deterministic app state; Playwright or OBS capture; ElevenLabs voiceover; measured timelines; Remotion rendering; and Final Cut Pro export with first-class motionVFX inventory, previews, titles, transitions, and effects.

Codex8 Skills2 MCP serversstdio

By Lukas KellersteinLicense: UNLICENSED1 GitHub starsUpdated last week

Directory evidence

Runtimes
Codex
Parsed components
10 skill or MCP entries
Source updated
Sep 14, 2026
Manifest status
Canonical path parsed

The directory validates manifest shape and source location. It does not execute the plugin or provide a security endorsement. Review the indexing methodology

Install demo-video-plugin for Codex

Installs for the current user
codex plugin marketplace add lukaskellerstein/codex-my-marketplace
codex plugin marketplace upgrade codex-my-marketplace
codex plugin add demo-video-plugin@codex-my-marketplace

Paste and run these commands in a terminal with Codex. They add and refresh the codex-my-marketplace catalog, then install this plugin.

Compatibility: the page URL and API slug “demo-video-plugin” remain stable.

  • Codex: demo-video-plugin@agent-plugin-marketplacedemo-video-plugin@codex-my-marketplace

The installer fetches third-party code from the source repository shown on this page. This directory validates manifest structure and source location, but does not perform a security audit; review the manifest, components, and source before installing.

Get the source manually
git clone https://github.com/lukaskellerstein/codex-my-marketplace

Clone the source repository, then follow its setup instructions to add the plugin to a compatible client. The plugin root is plugins/demo-video-plugin/.

Plugin files

plugins/demo-video-plugin/
├── .codex-plugin/plugin.json
├── skills/demo-app-prep/SKILL.md
├── skills/demo-assembly/SKILL.md
├── skills/demo-capture/SKILL.md
├── skills/demo-review/SKILL.md
├── skills/demo-scripting/SKILL.md
├── skills/demo-setup/SKILL.md
├── skills/demo-video/SKILL.md
├── skills/demo-voiceover/SKILL.md
└── .mcp.json

Included Skills8

demo-app-prepskills/demo-app-prep/SKILL.md

Gets a project into a demo-worthy, deterministic state before recording — boots the app, seeds realistic data, bypasses or scripts login, freezes clocks and random values, hides dev-only UI, and makes state resettable between takes. Use before capturing any demo video section, when a demo shows empty states or placeholder data, when takes are not reproducible, or when deciding how to run the app for recording.

demo-assemblyskills/demo-assembly/SKILL.md

Assembles measured clips and narration into a finished demo video — reconciles real durations into a timeline, then renders it with Remotion or exports it as a Final Cut Pro project (FCPXML) for finishing with Apple or motionVFX titles, transitions, and effects. Covers the timeline contract, the bundled timeline-driven Remotion project, visual template selection, camera moves, captions, music ducking, draft/final render presets, and the FCPXML export. Use at the reconcile, render, or editing stage of a demo video, when changing how the finished video looks, or when the user wants to edit or finish a demo in Final Cut Pro.

demo-captureskills/demo-capture/SKILL.md

Records demo video clips by driving a running app — one clip per storyboard section, with human-feeling pointer motion, dwell timing, and per-character typing. Covers who drives the app (the Playwright MCP for web, a launched Electron app, or an already-running app attached over CDP) and what records it (Playwright video, OBS over obs-websocket for crisp native-pixel window capture, or a macOS screen-capture fallback), including pausing OBS through long waits. Use when recording, re-recording, or rehearsing any demo section, when setting up OBS for a demo, when a desktop app's launch must stay its own, or when captured footage looks like an automated test or its text looks soft.

demo-reviewskills/demo-review/SKILL.md

Quality-checks a rendered demo video before it ships — extracts frames, grades each section against its successCriteria, and finds spinners, empty states, clipped text, exposed secrets, audio/video desync, and pacing problems. Use after a draft render, before a final render, or when asked whether a demo video is good enough to ship.

demo-scriptingskills/demo-scripting/SKILL.md

Turns a codebase into a demo narrative that has value — picks which capabilities earn screen time, structures them into beats, sets per-section durations, and writes the voiceover text at a speakable pace. Use at the scripting stage of a demo video, when writing or revising demo/storyboard.json, when the user asks what the demo should show, or when a demo feels like a feature tour instead of a story.

demo-setupskills/demo-setup/SKILL.md

Checks and installs everything the demo-video pipeline needs — ffmpeg, Playwright browsers, bundled Remotion dependencies, uvx, and the ElevenLabs key, plus the optional OBS recorder (websocket reachable, able to pause) and Final Cut Pro finish — and scaffolds demo/ in the target project. Use before the first demo video on a machine, when any pipeline stage reports missing tooling, when MCP video tools are absent from /mcp, when OBS will not connect, or when the user asks to set up, doctor, or install the demo toolchain.

demo-videoskills/demo-video/SKILL.md

Orchestrates building a narrated demo video of a project — reads the codebase, writes a storyboard, prepares deterministic app state, drives the UI with Playwright to record clips (web and Electron, recorded by Playwright or by OBS), generates ElevenLabs voiceover, reconciles measured durations into a timeline, and renders the final cut with Remotion or exports it as a Final Cut Pro project. Use whenever the user asks for a demo video, screencast, product walkthrough, feature showcase, release video, or narrated recording of an app; also load this before touching anything under demo/ so the pipeline's contracts and stage gates are respected.

demo-voiceoverskills/demo-voiceover/SKILL.md

Generates demo narration with the ElevenLabs MCP server — one audio file per storyboard section, measured so the editor can cut picture to voice. Covers voice and model selection for product demos, fitting a line to a target duration, pronunciation of product names, optional word-level caption alignment, and music beds. Use at the voiceover stage of a demo video, when regenerating narration, or when changing the narrator.

MCP servers2

demo-elevenlabsstdio
command
uvx
args
elevenlabs-mcp
env.ELEVENLABS_API_KEY
${ELEVENLABS_API_KEY}
env.ELEVENLABS_MCP_OUTPUT_MODE
files
demo-playwrightstdio
command
npx
args
-y @playwright/mcp@latest --caps=devtools,vision,network,storage,testing --headless --isolated --viewport-size=1600x900 --output-dir=./demo/capture --init-script=${CLAUDE_PLUGIN_ROOT}/assets/cursor-overlay.js
env.NPM_CONFIG_CACHE
${TMPDIR}/codex-demo-playwright-npm-cache
env.NPM_CONFIG_UPDATE_NOTIFIER
false

MCP configuration uses runtime-provided plugin path placeholders such as ${PLUGIN_ROOT} or ${CLAUDE_PLUGIN_ROOT}. Review the manifest for the runtime-specific expansion rules.

Plugin manifests1

plugins/demo-video-plugin/.codex-plugin/plugin.json
{
  "name": "demo-video-plugin",
  "version": "1.1.0+codex.20260914152844",
  "description": "Build narrated, edited project demos with deterministic app state; Playwright or OBS capture; ElevenLabs voiceover; measured timelines; Remotion rendering; and Final Cut Pro export with first-class motionVFX inventory, previews, titles, transitions, and effects.",
  "author": {
    "name": "Lukas Kellerstein",
    "url": "https://github.com/lukaskellerstein"
  },
  "homepage": "https://github.com/lukaskellerstein/codex-my-marketplace",
  "repository": "https://github.com/lukaskellerstein/codex-my-marketplace",
  "license": "UNLICENSED",
  "keywords": [
    "codex",
    "demo-video",
    "screencast",
    "storyboard",
    "voiceover",
    "playwright",
    "electron",
    "remotion",
    "obs",
    "obs-websocket",
    "final-cut-pro",
    "fcpxml",
    "motionvfx",
    "ffmpeg"
  ],
  "skills": "./skills/",
  "mcpServers": "./.mcp.json",
  "interface": {
    "displayName": "Demo Video Plugin",
    "shortDescription": "Create and finish narrated product demo videos.",
    "longDescription": "Turns a project repository into a polished demo video through codebase research, narrative scripting, deterministic app preparation, Playwright-driven capture of web, launched Electron, or attached applications, Playwright or OBS recording, ElevenLabs narration, measured timeline reconciliation, Remotion rendering or Final Cut Pro export, first-class motionVFX inventory and preview-driven template selection, and frame-based review.",
    "developerName": "Lukas Kellerstein",
    "category": "Media",
    "capabilities": [
      "Read",
      "Write",
      "Interactive"
    ],
    "defaultPrompt": [
      "Create a 90-second narrated demo of this product.",
      "Record this running desktop app through OBS and produce a measured edit.",
      "Export the reconciled demo timeline as a Final Cut Pro project.",
      "Inventory my downloaded motionVFX templates, visually compare a shortlist, and choose a coherent Final Cut Pro finish.",
      "Prepare this app for deterministic demo recording.",
      "Review this draft demo and identify what to fix."
    ],
    "brandColor": "#EC4899"
  }
}

If you maintain this plugin, link to this source-backed listing from your README so users can review its manifest and indexed components.

[demo-video-plugin on Agent Plugins Marketplace](https://pluginsmp.com/plugins/demo-video-plugin)