Agent skill

Product Demo Builder

by majiayu000 in majiayu000/spellbook

Plans, produces or diagnoses evidence-backed product demo videos: script, capture plan, pacing checks and verified final media built on real product behavior.

MITAuto-check passedMedia & Creative

Install Product Demo Builder

skills CLI
$ npx skills add majiayu000/spellbook --skill build-product-demo -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install majiayu000/spellbook build-product-demo --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/majiayu000/spellbook.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/build-product-demo .claude/skills/build-product-demo && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
build-product-demo
GitHub stars
287
Token cost
~3.3k tokens
SKILL.md length
1,652 words
Files
9 (incl. scripts, references)
Skills in repo
97
Repo updated
First seen
Licence
MIT

At a glance

Plans, produces or diagnoses evidence-backed product demo videos: script, capture plan, pacing checks and verified final media built on real product behavior.

  • Works in 6 steps: Resolve the exact product repository,… → Read repository instructions and… → Separate immutable product facts,… → …
  • Planning a launch video that proves what a product does
  • SKILL.md covers Choose the mode, Establish the boundary, Build the evidence inventory and Direct the proof story, plus 7 more sections
  • Runs Python scripts from its folder; calls python3

What it does

The skill works in three modes. Plan produces a brief, evidence inventory, feature coverage, director treatment, script and beat plan. Produce adds deterministic setup and capture tooling, recording, editing and verification of the final media, and is the default when you ask to make or finish a demo. Diagnose finds the first broken layer in an existing demo, from truth and story through narration alignment to capture and encoding, and fixes the smallest responsible artifact.

It begins by fixing the product repository, revision, audience, duration, aspect ratio and language, and by naming one audience doubt and the observable change that answers it. Every claim is graded by evidence level, such as fresh live execution, and fixture use must be disclosed. Scripts analyze_demo_pacing.py, probe_demo_media.py and validate_demo_plan.py support checks. It is not for fictional ads, general editing or documentation-only tutorials.

When your agent uses it

  • Planning a launch video that proves what a product does
  • Recording a repeatable screen walkthrough of an app
  • Fixing narration that drifts from the on-screen action
  • Cutting dead time from an existing product demo

Example prompts

  • “Plan a launch demo for our CLI that shows every major command without a slow feature tour.”
  • “Produce the demo video from this brief and verify the final file.”
  • “Diagnose why the narration in demo.mp4 runs ahead of the clicks.”
  • “Check the pacing of our app walkthrough and remove dead time.”

Requirements

  • The product's repository and runtime, so real behavior can be captured
  • Python to run the bundled pacing, media and plan scripts

Workflow steps

6 steps, taken from the first numbered list in SKILL.md.

  1. Resolve the exact product repository, revision, runtime, audience, channel,
  2. Read repository instructions and existing demos, screenshots, tests,
  3. Separate immutable product facts, creative choices, and missing production
  4. Select one reference benchmark: the user's strongest previous demo, a
  5. Choose one audience doubt and one proof proposition. Complete
  6. Define the opening and landing state. Reject a concept whose product or

What it can do on your machine

Read from SKILL.md and the folder at commit ed52af7. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships 3 files in scripts/ (Python), which the agent can run.

    Shell commands in SKILL.md call:

    • python3

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Product Demo Builder loads about 3.3k tokens when it runs, and up to ~8.3k if it reads all its reference files. Until then it costs about 156 tokens; SKILL.md has 1,652 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~156
When it runs · the whole SKILL.md, loaded when a task matches
~3.3k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~8.3k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.

SKILL.md

The full file from majiayu000/spellbook at commit ed52af7, republished under its MIT licence (© majiayu000). 1,652 words, ~3,309 tokens.

Download SKILL.mdSave it as .claude/skills/build-product-demo/SKILL.md (or your agent's skills folder). This skill also uses 8 other files; get the full folder from GitHub.
name
build-product-demo
description
Plan, produce, or diagnose evidence-backed product demo videos and screen-recorded promotional walkthroughs. Use when the user asks to make a product demo, launch video, feature showcase, app walkthrough, demo reel, or polished recording; wants every important capability shown without a slow feature tour; asks to remove dead time or fix narration-to-action pacing; or needs a repeatable script, capture plan, and verified final media. Do not use for fictional commercials with no real product proof, general-purpose video editing, or documentation-only tutorials that do not need a promotional narrative.

Build Product Demo

Turn verified product behavior into a compact proof story. Treat the final media as an executable claim about the product, not as a decorated feature list.

Choose the mode

  • Plan: inspect the product and produce the brief, evidence inventory, feature coverage, director treatment, script, and beat plan.
  • Produce: complete the plan, create deterministic setup and capture tooling, record, edit, and verify the final media.
  • Diagnose: inspect an existing demo, identify the first broken layer, and revise the smallest responsible artifact. Check truth, story, visible state change, attention, narration/action alignment, capture, then encoding.

If the user asks to “make” or “finish” the demo, default to Produce. Do not stop at a script while safe, in-scope production work remains.

Establish the boundary

  1. Resolve the exact product repository, revision, runtime, audience, channel, target duration, aspect ratio, language, available assets, and publishing scope. Inspect before guessing.

  2. Read repository instructions and existing demos, screenshots, tests, fixtures, launch scripts, and marketing claims. Search before adding a new recorder or seed path.

  3. Separate immutable product facts, creative choices, and missing production facts. Do not turn an unknown into a visual claim.

  4. Select one reference benchmark: the user's strongest previous demo, a product-native launch video, or a clearly named quality bar. Record what to preserve and what to avoid. Do not rely on generic taste words.

  5. Choose one audience doubt and one proof proposition. Complete:

    The audience doubts whether [product claim]. The demo proves [outcome] by showing [observable change].

  6. Define the opening and landing state. Reject a concept whose product or audience state is materially unchanged at the end.

Read directing.md before selecting features or writing beats. Read production.md before recording, generating narration, or using deterministic fixtures.

Build the evidence inventory

Classify every candidate claim:

LevelEvidenceDemo use
E1Fresh live execution with retained outputMay be shown as working
E2Current code plus focused passing test or fixture replayMay support a bounded claim; disclose fixture use
E3Current documentation or marketing copy onlyTreat as a lead; verify before showing as working
E4Plan, issue, mockup, or unfinished pathExclude or label explicitly as planned

Create feature-coverage.md and rank each capability as:

  • core proof: complete cause → action → result;
  • differentiator: memorable evidence supporting the proposition;
  • supporting evidence: fast proof that reduces doubt;
  • exception entry: show a truthful state or recovery entry without deliberately damaging the product;
  • excluded: unfinished, redundant, unverifiable, visually unreadable, or outside the audience decision.

Do not modify product behavior merely to make the demo pass unless the user also asked for that product change.

Direct the proof story

Write a compact treatment with:

text
Audience doubt:
Proof proposition:
Opening state:
Turning proof:
Landing state:
Point of view:
Information strategy:
Visual progression:
Sound strategy:
Truth boundary:
Production simplification rule:

Lead with the strongest result when it is legible without setup, then return to a credible starting state. Organize chapters by user outcome or proof question, not by toolbar location. Require each chapter to leave visible accumulated state or decisive new knowledge.

Write the native interaction spine before any title, mockup, or compositing:

real starting state → user input → native product response → consequential result

For software demos, show the actual CLI, application, host integration, API consumer, or generated artifact named in the proposition. Evidence generated backstage and retyped into a presentation layer does not count as native use. Target at least 60% native product surface, place the first meaningful product action within five seconds, and keep explanatory/title surfaces below 20% unless the medium makes those ratios inapplicable and the plan records why.

Write one beat for each meaningful tactic, product action, reveal, consequence, or attention shift. A click is not a beat unless it changes the proof. Pair narration about value or consequence with an observable action; do not read the interface aloud.

Treat beats as actions and revelations, never equal time boxes. Record multiple observable events inside a longer beat. Default to no more than three seconds between visible or audible events for a promotional demo; a motivated hold is the only exception.

Save the plan as beat-plan.json using artifact-contract.md, then run:

bash
python3 <skill-dir>/scripts/validate_demo_plan.py <demo-dir>/beat-plan.json

Fix plan failures before recording. Do not hide gaps in post-production.

Prepare and capture

  1. Build a disposable, repeatable starting state. Preserve user data and existing recordings.
  2. Prefer repository-native APIs, scripts, fixtures, and automation over manual UI control. Use a browser or desktop controller only when the product proof genuinely depends on that surface and no lower-level route can execute it.
  3. Use deterministic data only to stabilize inputs or external dependencies. Keep the real product path active and record the boundary in the plan.
  4. Run a fast, silent rehearsal. Confirm selectors, commands, product results, duration, native-surface ratio, event density, and exit states before paying for narration or a full recording.
  5. Audition narration with the actual language and script. Measuring duration is not an audition. If the agent cannot hear the sample, require a human selection or use a non-voice treatment instead of claiming the accent is approved. Voice labels and locale names are not evidence of accent, naturalness, or timing.
  6. Record clean picture, UI/action sound, narration, and music as separable elements when practical. Retain raw evidence and logs.
  7. If a production path fails, report the failure and repair that path. Do not silently substitute screenshots, fake progress, or a different capability.

Edit and diagnose pacing

For every cut, finish:

Cut from [state/action] to [new state/action] because the audience now needs to [learn/feel/locate/compare/anticipate].

Shorter is not automatically faster. Remove unexplained waiting, duplicated information, cursor travel with no consequence, and narration that finishes before the corresponding action begins. Preserve enough time to orient, see the action, register the result, and anticipate the next beat.

When diagnosing “slow” or “stuck” pacing, locate the first mismatch:

  1. no new product or audience state;
  2. action begins too late after narration;
  3. action finishes but the result is not framed;
  4. capture contains real processing with no readable status;
  5. edit holds a redundant image;
  6. audio or encoding creates apparent freezes.

Repair the mismatch instead of globally speeding up the video.

Show full SKILL.md (658 more words)Show less

Verify and package

Run the plan validator again after the edit reflects any timing changes. Probe the final video with:

bash
python3 <skill-dir>/scripts/probe_demo_media.py <final-video> \
  --expect-width <width> --expect-height <height> --expect-fps <fps> \
  --expect-duration <duration_seconds> --expect-container <container> \
  --expect-video-codec <video_codec> --expect-audio-codec <audio_codec> \
  --duration-tolerance <duration_tolerance_seconds> \
  --require-audio

Set delivery.duration_tolerance_seconds to 0.25 normally. A larger encoding variance requires delivery.duration_tolerance_reason; pass the same declared tolerance to the probe. The pacing analyzer derives it from the plan.

Also inspect the full video or a contact sheet for frozen frames, clipped UI, unreadable type, secret leakage, missing chapters, broken focus, abrupt audio, and claims whose evidence is not visible. A playable file with valid codecs is necessary but not sufficient.

Run the pacing analyzer for promotional video:

bash
python3 <skill-dir>/scripts/analyze_demo_pacing.py <final-video> \
  --plan <demo-dir>/beat-plan.json \
  --json-out <demo-dir>/pacing-verification.json

Treat its default silence and low-motion limits as a fail-closed rehearsal gate. The analyzer exempts a silence or low-motion segment only when the entire detected interval falls inside a motivated hold declared by the plan; do not raise a file-wide threshold to accommodate one hold. It rejects alternate audio or video streams because those tracks are not pacing-verified; deliver exactly one of each. Review continuous playback or dense consecutive frames as well as a contact sheet; one frame per scene can make a static slide deck look varied.

Deliver the files defined in artifact-contract.md and state which claims used live execution, deterministic fixtures, or compositing.

Autonomy boundary

  • Perform read-only inspection, local planning, disposable seeding, local capture, editing, and validation directly when requested.
  • Ask before using credentials not already approved for the task, incurring paid API usage, changing production data, deploying, publishing externally, deleting or overwriting existing media, or changing product code outside the requested scope.
  • Remote commit, push, PR, or publication requires explicit approval unless the current request already grants that exact action.
  • Never record private memories, tokens, account data, notifications, unrelated windows, or user-identifying paths when a sanitized fixture can prove the same capability.

Done when

  • The exact product revision and truth boundary are recorded.
  • A reference benchmark is recorded with concrete qualities to preserve.
  • One audience doubt is answered by a visible opening-to-landing change.
  • Core claims have E1 or bounded E2 evidence; exclusions are explicit.
  • The native interaction spine is visible, the native-surface target is met, and meaningful product action begins within five seconds.
  • The beat plan passes validate_demo_plan.py with no unexplained gap, overlap, idle interval, or missing state change.
  • A fresh rehearsal proves the complete path before the final capture.
  • The final media passes probe_demo_media.py and a visual/audio review.
  • The final media passes analyze_demo_pacing.py; silence and low-motion spans stay inside the declared attention contract.
  • The delivery package includes the final artifact, plan, script, evidence, and verification result appropriate to the selected mode.

Gotchas

  • A feature inventory is source material, not a script.
  • A mock that bypasses the product path cannot prove that path.
  • Using a product backstage while replacing its visible surface with cards, fake terminals, or retyped output is not a product demo.
  • A deterministic provider is acceptable only when the surrounding real state, command, task, persistence, and result paths still execute and the boundary is disclosed.
  • Evidence from one product surface does not prove another. A record that is searchable, stored, or visible in diagnostics may still be ineligible for automatic injection, export, playback, or another claimed path. Exercise the exact surface named in the proposition.
  • A title card, cursor highlight, zoom, or music cue cannot repair an undefined product result.
  • Equal-duration beats and repeated dark-gradient cards are presentation templates, not rhythm. Derive duration from action and consequence.
  • “No dead time” does not mean compressing every pause. A motivated hold lets the audience read a consequential result; an unmotivated hold is a defect.
  • Do not choose a voice from its advertised nationality or name. Audition the exact text and reject accent, cadence, or pronunciation mismatch.
  • Do not claim completion from a plan, a raw recording, or successful encoding alone.

Feedback loop

Representative prompts live in evals/evals.json. When a real run exposes a repeated false-success signal, pacing gap, truth-boundary mistake, or missing verification, patch the smallest responsible instruction, reference, validator, or eval before treating the workflow as mature.

© majiayu000, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 8 other files (scripts, references) in skills/build-product-demo of majiayu000/spellbook.

  • SKILL.md
  • agents/openai.yaml
  • evals/evals.json
  • references/artifact-contract.md
  • references/directing.md
  • references/production.md
  • scripts/analyze_demo_pacing.py
  • scripts/probe_demo_media.py
  • scripts/validate_demo_plan.py

Open the folder on GitHubat commit ed52af7

Compare with similar skills

Product Demo Builder next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Product Demo Builder compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Product Demo Builder this skillmajiayu000/spellbook287—~3.3kAutomated safety check: PassMIT
Viral Captions And Ctasvyralcontent/content-skills1341 repos~2.8kAutomated safety check: PassMIT
Viral Short Form Ideasvyralcontent/content-skills1341 repos~2.9kAutomated safety check: PassMIT
Weekly Changelog Videoheygen-com/hyperframes60k—~3.3kAutomated safety check: PassApache-2.0
Faceless Explainer Videoheygen-com/hyperframes60k3 repos~7.7kAutomated safety check: NotesApache-2.0
Taisly Social Media Postingtaisly/agent2171 repos~1.5kAutomated safety check: PassMIT

Similar skills

  • Viral Captions And Ctas

    vyralcontent/content-skills

    Write captions, on-screen text, hashtags, and CTAs for short-form video that earn saves and sends without tripping engagement-bait penalties.

    134 GitHub starsUsed in 1 repo~2.8k tokens
    Media & CreativeAuto-check passed
  • Viral Short Form Ideas

    vyralcontent/content-skills

    Generate short-form video ideas at volume and stop the blank-page problem for good.

    134 GitHub starsUsed in 1 repo~2.9k tokens
    Media & CreativeAuto-check passed
  • Weekly Changelog Video

    heygen-com/hyperframes

    Turns a weekly changelog markdown file into a branded HyperFrames video with voiceover, animated mock-UI scenes and captions, using fonts, background and scripts bundled in the skill.

    60k GitHub stars~3.3k tokensUpdated today
    Media & CreativeAuto-check passed
  • Faceless Explainer Video

    heygen-com/hyperframes

    Turns an article, notes or a topic brief into an explainer video whose visuals are invented per scene, built frame by frame in HyperFrames with no footage.

    60k GitHub starsUsed in 3 repos~7.7k tokens
    Media & CreativeAuto-check: notes
  • Free AI-first short-form video publishing to TikTok, Instagram Reels, YouTube Shorts, X, and Facebook from AI agents through Taisly.

    217 GitHub starsUsed in 1 repo~1.5k tokens
    Media & CreativeAuto-check passed
  • Short Form Edit

    nateherkai/hyperframes-student-kit

    Turn talking-head footage into a finished reel, YouTube Short, or short advertisement with curiosity-led openings, earned payoffs, story-driven cuts, transcript-synced motion graphics, moving…

    1.3k GitHub stars~5.3k tokensUpdated 13 days ago
    Media & CreativeAuto-check passed

More from majiayu000/spellbook

All 97 skills in this repo
  • Skill Ecosystem Doctor

    majiayu000/spellbook

    Audits and repairs how coding-agent Skills are owned, copied and exposed across runtimes, from canonical sources to quarantine and retirement.

    287 GitHub stars~3k tokensUpdated 3 days ago
    Auto-check passed
  • AGENTS.md Scaffold

    majiayu000/spellbook

    Scans a repository for real evidence and proposes, or on request writes, a small stack of root and scoped AGENTS.md files with validation commands and generated-file boundaries.

    287 GitHub stars~1.5k tokensUpdated 3 days ago
    Auto-check passed
  • Flowguard Task Guard

    majiayu000/spellbook

    Single entry point that routes long or ambiguous agent tasks, checks live state, bounds autonomous loops and leaves a resumable handoff.

    287 GitHub stars~2.1k tokensUpdated 3 days ago
    Auto-check passed
  • npm Supply Chain Check

    majiayu000/spellbook

    Scans a repository, its lockfiles and node_modules for known malicious npm package versions and install-time indicators, using a read-only Python scanner.

    287 GitHub stars~1.5k tokensUpdated 3 days ago
    Auto-check passed
  • Product Manager Toolkit

    majiayu000/spellbook

    Product management helpers: a RICE scoring script, an interview transcript analyzer and PRD templates for prioritizing features, synthesizing research and writing requirements.

    287 GitHub stars~2.2k tokensUpdated 3 days ago
    Auto-check passed
  • Repo Agent Context Audit

    majiayu000/spellbook

    Audits a repository's agent-readable context, from AGENTS.md and CLAUDE.md to skills and PRODUCT or TECH specs, and recommends the smallest useful improvements.

    287 GitHub stars~1.9k tokensUpdated 3 days ago
    Auto-check passed

Questions about Product Demo Builder

What does Product Demo Builder do?

Plans, produces or diagnoses evidence-backed product demo videos: script, capture plan, pacing checks and verified final media built on real product behavior. The skill works in three modes. Plan produces a brief, evidence inventory, feature coverage, director treatment, script and beat plan.

When should I use Product Demo Builder?

Product Demo Builder fits situations like: planning a launch video that proves what a product does; recording a repeatable screen walkthrough of an app; fixing narration that drifts from the on-screen action; cutting dead time from an existing product demo.

How do I install Product Demo Builder in Claude Code?

Run `npx skills add majiayu000/spellbook --skill build-product-demo -a claude-code`. Or copy the skill folder (skills/build-product-demo in majiayu000/spellbook) into .claude/skills/build-product-demo in your project. Claude Code loads it when a task matches its description.

How do I install Product Demo Builder in Codex?

Run `npx skills add majiayu000/spellbook --skill build-product-demo -a codex`. Or copy the skill folder (skills/build-product-demo in majiayu000/spellbook) into .agents/skills/build-product-demo in your project. Codex loads it when a task matches its description.

Can I use Product Demo Builder in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add majiayu000/spellbook --skill build-product-demo -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/build-product-demo, .gemini/skills/build-product-demo, .github/skills/build-product-demo and .opencode/skills/build-product-demo in your project.

What does Product Demo Builder need to run?

Going by SKILL.md and its folder, Product Demo Builder needs Python for the scripts in its folder and the command-line tools its instructions call (python3). Our summary lists: The product's repository and runtime, so real behavior can be captured; Python to run the bundled pacing, media and plan scripts.

Does Product Demo Builder access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Product Demo Builder safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Product Demo Builder use?

Product Demo Builder is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Product Demo Builder use?

About 3.3k tokens (SKILL.md is roughly 13k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 5k tokens, read only when the agent opens those files.

What are the alternatives to Product Demo Builder?

Skills that share tags, products or a category with Product Demo Builder: Viral Captions And Ctas (vyralcontent/content-skills, 134 stars), Viral Short Form Ideas (vyralcontent/content-skills, 134 stars), Weekly Changelog Video (heygen-com/hyperframes, 60k stars) and Faceless Explainer Video (heygen-com/hyperframes, 60k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Product Demo Builder?

majiayu000 (a GitHub user) maintains it in majiayu000/spellbook, which has 287 GitHub stars. The repository holds 97 skills in this directory. The repository was last updated on October 8, 2026.

Source: majiayu000/spellbook on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.