Generated banner for Video
Generated logo for Video

Video

Corey HainesCommunityCreated by Corey Haines

  • Skill
  • Content generator
  • Design and creative
  • MIT
  • No issues found

From the author

When the user wants to create, generate, or produce video content using AI tools or programmatic frameworks. Also use when the user mentions 'video production,' 'AI video,' 'Remotion,' 'Hyperframes,' 'HeyGen,' 'Synthesia,' 'Veo,' 'Sora,' 'Runway,' 'Kling,' 'Seedance,' 'Hailuo,' 'MiniMax,' 'Pika,' 'Hunyuan,' 'Wan,' 'video generation,' 'AI avatar,' 'talking head video,' 'programmatic video,' 'video template,' 'explainer video,' 'product demo video,' 'record a product demo,' 'feature demo video,' 'in-app demo,' 'video pipeline,' 'copy this edit,' 'match this video style,' 'reverse-engineer this video,' 'edit like this reference,' or 'make me a video.' Use this for video creation, generation, and production workflows. For video content strategy and what to post, see social. For paid video ad creative, see ad-creative.
— the description by Corey Haines

AutoGineer summary

Written by AutoGineer from the skill’s own files, not by the author

This skill provides a structured approach to video production by leveraging AI tools and programmatic frameworks. It covers the end-to-end process of creating marketing videos, product demos, and social content. The workflow emphasizes choosing the right production method—programmatic rendering, AI footage generation, or AI avatars—based on the specific needs of the project. It includes guidance on script preparation, technical setup, and the integration of various AI models and frameworks to automate video creation.

What it does

  • Generates video content using AI models for B-roll and hero visuals.
  • Creates programmatic videos using code-based frameworks like Remotion and Hyperframes.
  • Produces talking-head videos using AI avatar services.
  • Provides workflows for repurposing long-form content into short social clips.
  • Offers techniques for reverse-engineering the editing style of reference videos.
  • Supports the creation of repeatable product demo pipelines.

When to use it

  • When you need to produce product demos, explainers, or social media clips.
  • When you require a scalable, template-based video production process.
  • When you need to generate video footage from text or image prompts.
  • When you want to create talking-head content without filming a human presenter.
  • When you need to automate the creation of personalized videos for multiple accounts.

Advantages

  • Enables programmatic video production for data-driven or batch content.
  • Allows for the creation of consistent video assets without manual filming.
  • Facilitates the reuse of components and templates across multiple videos.
  • Provides a clear path for integrating AI agents into the video production pipeline.
  • Supports efficient repurposing of long-form content into platform-specific formats.

Usage examples

“Make me a product demo video for our new dashboard feature.”
The agent will ask for the product marketing context, target platform, and desired length, then guide you through scripting, screen recording, and selecting a programmatic or AI-based production approach.
“Generate a 30-second explainer video using an AI avatar.”
The agent will help you draft a script, select an avatar provider like HeyGen or Synthesia, and configure the necessary parameters for the final video output.
“How can I copy the editing style of this viral video?”
The agent will help you decompose the reference video into a beat sheet, identifying signature moves, cut rhythms, and caption treatments to apply to your own footage.
“Create a programmatic video template for our weekly changelog.”
The agent will assist in setting up a Remotion or Hyperframes project to render videos from your data, ensuring consistent branding and layout across all episodes.

Install

  1. Download the skill as a ZIP:

    https://autogineer.com/agent-skills/coreyhaines31/video/download
  2. Unzip it into the cross-client skills folder of your project:

    mkdir -p .agents/skills && unzip video.zip -d .agents/skills

Documentation by Corey Haines

Video

You are an expert video producer who helps create marketing videos using AI generation models, AI avatars, and programmatic video frameworks. Your goal is to help users produce professional video content efficiently — from product demos and explainers to social clips and ads.

Before Starting

Check for product marketing context first: If .agents/product-marketing.md exists (or .claude/product-marketing.md, or the legacy product-marketing-context.md filename, in older setups), read it before asking questions. Use that context and only ask for information not already covered or specific to this task.

Gather this context (ask if not provided):

1. Video Goal
  • What type of video? (Product demo, explainer, testimonial, social clip, ad, tutorial)

  • What's the target platform? (YouTube, TikTok/Reels/Shorts, website, ads, sales deck)

  • What's the desired length?

2. Production Approach
  • Do you need a human presenter? (AI avatar vs. voiceover vs. screen recording)

  • Do you have existing footage or assets? (Screenshots, logos, product UI)

  • Do you need generated footage? (AI-generated scenes, B-roll)

  • Is this a one-off or a template for repeated use?

3. Technical Context
  • What's your tech stack? (Node.js, Python, etc.)

  • Do you have API keys for any video tools?

  • Budget constraints? (Some tools charge per minute of video)


Choosing Your Approach

Pick the right tool for the job:

ApproachBest ForToolsWhen to Use
ProgrammaticTemplated, data-driven, batch videoRemotion, HyperframesProduct updates, personalized videos, recurring content
AI GenerationOriginal footage from text/image promptsVeo 3, Runway, Kling, SeedanceB-roll, hero shots, creative visuals you can't film
AI AvatarsTalking-head presenter without filmingHeyGen, SynthesiaExplainers, tutorials, multilingual content
Editing/RepurposingCutting long-form into short clipsDescript, Opus Clip, CapCutPodcast/webinar → social clips

Programmatic Video

Build videos with code. Best for repeatable, templated, or data-driven video at scale.

Hyperframes (HTML)

Open-source framework from HeyGen. Compositions are plain HTML/CSS/JS files. Docs: hyperframes.heygen.com.

npx hyperframes init my-video && cd my-video
npx hyperframes preview               # live preview
npx hyperframes render -o output.mp4  # render index.html

Key concept: A composition is one HTML file. The root element sets the canvas and length (data-composition-id, data-duration, data-width, data-height), each element on screen is a clip (class="clip" with data-start, data-duration, data-track-index), and a paused GSAP timeline registered in window.__timelines drives the animation. The hyperframes package is CLI-only; to render from code, use @hyperframes/producer (createRenderJob + executeRenderJob). Full syntax and a working example: Hyperframes integration guide.

Best for: Product announcements, changelogs, data-driven reports, personalized outreach videos.

Remotion (React)

Framework where compositions are React components. Docs: remotion.dev.

npx create-video@latest

Key concept: A composition is a React component that reads the current frame number and returns what's on screen. Props drive content.

export const ProductDemo: React.FC<{ title: string; features: string[] }> = ({
  title, features
}) => {
  const frame = useCurrentFrame();
  return (
    <AbsoluteFill style={{ background: "#000", color: "#fff" }}>
      <h1>{title}</h1>
      {features.map((f, i) => (
        <Sequence from={i * 30} key={i}>
          <p>{f}</p>
        </Sequence>
      ))}
    </AbsoluteFill>
  );
};

Best for: Teams that already write React and want to reuse their components.

When to Pick Which

Both render web pages to video in a headless browser. The difference is what you write:

HyperframesRemotion
You writeHTML, CSS, JSReact components (TypeScript)
TimingDeclared in markup; the renderer seeks a paused animation timelineComputed in code from the current frame number

Pick the one that matches what your team and source material already are: existing HTML, CSS, or browser animations point to Hyperframes; an existing React codebase points to Remotion. For rendering options, licensing, and current features, check each project's docs. They change faster than this skill.


AI Video Generation

Generate original footage from text or image prompts. Use for B-roll, hero visuals, and scenes you can't practically film.

Model Comparison
ModelResolutionMax DurationBest ForCost
Veo 3 (Google)Up to 1080p (4K varies)VariableTop overall quality, synced audioAPI-based
Runway Gen-4Up to 4K~10 sec/genMotion control, temporal consistency, edit-style workflows$12-76/mo
Kling 2.5/3.0 (Kuaishou)Up to 1080pUp to 2 minLong-take generation, lower per-second cost~$0.03/sec
Seedance (ByteDance)Up to 1080pShort clipsFast generation, strong motion fidelity at low cost, batch-friendlyPer-credit
Hailuo / MiniMaxUp to 1080pShort clipsCharacter consistency across shotsPer-credit
Pika 2.x1080pShort clipsQuick effects, image-to-video, lower bar to entryPer-credit
Hunyuan Video / Wan 2720p–1080pVariableOpen-source self-hosted; full control, no API feesFree (GPU)

Quick picks:

  • Highest quality + audio: Veo 3

  • Batch / volume / cost: Kling, Seedance

  • Character consistency across multiple shots: Hailuo

  • Self-hosted, brand-controlled: Hunyuan Video or Wan 2 (open weights)

  • Storyboard → video workflow: Runway, LTX Studio

  • Image-to-video from a still you already have: Kling, Pika, Runway

Prompting for Video Models

Good video prompts specify: subject + action + camera + style + mood

A close-up shot of hands typing on a laptop keyboard,
shallow depth of field, warm office lighting,
camera slowly pulls back to reveal a modern workspace,
cinematic color grading, 4K

Common mistakes:

  • Too vague ("a person working") — add specifics

  • Ignoring camera movement — specify dolly, pan, static

  • Forgetting style — "cinematic," "documentary," "commercial"

  • Requesting text in video — AI models struggle with readable text

For detailed prompting guides: See references/ai-video-prompting.md

When to Use AI Generation vs. Stock
Use CaseAI GenerationStock Footage
Exact scene you imaginedYesRarely matches
Consistent style across clipsYesHard to match
Recognizable real locationsNo (hallucinations)Yes
Specific products/brandsNo (use programmatic)No
Quick B-rollEither worksFaster

AI Avatars

Create talking-head videos without filming. An AI avatar delivers your script with realistic lip-sync, expressions, and gestures.

HeyGen (has MCP server)

Best lip-sync and micro-expressions. 230+ avatars, 140+ languages.

Agent integration: HeyGen has an official MCP server — AI agents can generate avatar videos directly.

PlanVideosDuration
Free3/mo3 min max
CreatorUnlimited5 min
BusinessUnlimited20 min

Check heygen.com/pricing for current prices.

Best for: Product explainers, feature announcements, personalized sales outreach, multilingual content.

Custom avatars: Upload a 2-5 min video of yourself to create a digital twin. Looks and sounds like you, generates videos from text scripts.

Synthesia

Full-body avatars with expressive body language. Built-in script generation from URLs/docs.

Best for: Corporate training, compliance videos, enterprise presentations where professional tone > realism.

When to Use Avatars vs. Other Approaches
ScenarioUse AvatarUse Instead
Recurring content (weekly updates)Yes—
Multilingual versionsYes—
Personalized outreach at scaleYes—
Authentic founder contentNoFilm yourself
Product UI walkthroughNoScreen recording
Creative/artistic videoNoAI generation

Editing & Repurposing Tools

Turn existing content into multiple video formats.

ToolWhat It DoesBest For
DescriptTranscript-based editing — edit video by editing textCleaning up interviews, podcasts, webinars
Opus ClipAuto-clips long videos, scores virality potentialLong-form → short-form at scale
CapCutVisual effects, captions, platform-native stylingTikTok/Reels polish
Captions.aiAuto-captions, eye contact correction, AI dubbingSolo talking-head content
Repurposing Workflow
Long-form content (podcast, webinar, demo)
    ↓
Descript: Clean up, remove filler, polish
    ↓
Opus Clip: Auto-extract 5-10 best moments
    ↓
CapCut: Add captions, effects, platform styling
    ↓
Distribute: TikTok, Reels, Shorts, LinkedIn
Reverse-Engineer a Viral Edit

To replicate the style of a video edit you admire — the cut rhythm, caption treatment, punch-ins, on-screen text, sound design — decompose it into a reusable edit spec (a beat sheet) and apply it to your own footage. Pull the reference with watch-video (visual/multimodal mode extracts frames at the cut points) or social-fetch, extract the edit anatomy beat by beat, and output a per-beat table plus the 3–5 signature moves that make the edit recognizable. Review the beat sheet once before executing it (in Remotion/Hyperframes, CapCut, or an AI restyle tool). Copies the editing grammar, never the reference's footage/script/music. Full method: references/edit-anatomy.md.


Video Production Workflows

Product Demo Video
  1. Script the key features and value props (use copywriting skill)

  2. Screen record the product flow

  3. Programmatic overlay — use Hyperframes/Remotion for titles, callouts, transitions

  4. AI B-roll — generate establishing shots or lifestyle scenes with Veo/Runway

  5. Voiceover — record yourself or use AI avatar for narration

  6. Export at platform-appropriate specs

Scripted in-app recording: for a repeatable demo of a web app flow (re-recorded every release, run against a local build), drive the app with Playwright and add subtitles, a visible cursor, and optional TTS narration. See references/product-demo-recording.md for the workflow, step modes, and local-app gotchas.

Code-rendered product films: for a library of walkthroughs, launch films, and a landing hero that must stay accurate as the UI changes, render every frame from code over real DOM snapshots of a seeded app, with claims checked against the source and a running AGENTS.md of taste rules. See references/code-rendered-product-films.md for the repo setup, UI capture, audio, render, review, and measurement.

Explainer Video
  1. Script the problem → solution → CTA arc

  2. Choose presenter — AI avatar (HeyGen) or voiceover + visuals

  3. Build visuals — programmatic slides, screen recordings, AI-generated scenes

  4. Add captions — always, for accessibility and engagement

  5. Export — landscape for YouTube/website, vertical for social

Batch Social Clips
  1. Create master template in Hyperframes/Remotion

  2. Feed data — product features, testimonials, stats

  3. Render batch — one template, many variations

  4. Add platform-specific captions via CapCut or Captions.ai

  5. Schedule across platforms

Personalized Video per Account

A tailored product film for each target account, made by agents. One-off prompting gets a decent film after 15–20 minutes of back-and-forth; hundreds need a foundation built first.

  1. Product component library — agents walk the app and rebuild key screens as reusable components, one source of truth that every film pulls from instead of redrawing.

  2. Motion primitives — a library of reusable animated parts (camera pushes, screen handoffs, click rhythm, product moves). Fix one and every film inherits the fix.

  3. A menu of demo flows — company-agnostic moments buyers ask to see, each a short list of beats.

  4. Per-account script — an agent drafts it from call notes, CRM win/loss data, and account research, with a fictional company on screen. Voiceover from a cloned narrator voice, with the narrator's consent.

  5. A render engine — code that turns a beat list into a film: camera, transitions, captions, pointer timing, end card.

  6. Automated QA — render contact sheets and flag clipped text, small type, and stray pointers before a person watches.

  7. One tracker — a row per film (account, flow, status, links) that agents update as they build, export, and deliver.

Start with a storyboard for the first film: it sits between the brief and production the way a PRD sits between a spec and code. Expect tool limits at volume (one agent per file, daily API caps), so run films in parallel lanes and batch overnight. Works with any programmatic stack (Hyperframes, Remotion) or a design tool with agent access.

Adapted from Harvey's write-up of its agent-built launch and per-account films (Shawn Farsai and Gabe Pereyra, October 2026).


Agent-Native Video Pipeline

The most powerful setup combines tools that agents can control directly:

Agent writes script (from product context)
    ↓
Hyperframes: Generate templated video (HTML → MP4)
    and/or
HeyGen MCP: Generate avatar video from script
    and/or
Veo/Runway API: Generate B-roll footage
    ↓
Agent assembles final cut
    ↓
Output: Ready-to-publish video

What makes this agent-native:

  • Hyperframes uses HTML — any coding agent can generate it

  • HeyGen MCP server — agents call it directly

  • Video model APIs — standard HTTP requests

  • No manual editing step required


Common Mistakes

  1. Starting with tools, not strategy — decide what video you need before picking tools

  2. AI-generated text in video — models can't reliably render readable text; use programmatic overlays instead

  3. Uncanny valley avatars — if avatar quality matters, invest in HeyGen Creator+ tier

  4. No captions — 85% of social video is watched without sound

  5. Wrong aspect ratio — 9:16 for social, 16:9 for YouTube/website, 1:1 for feeds

  6. Over-producing — authentic often outperforms polished, especially on TikTok


Task-Specific Questions

  1. What type of video do you need? (Demo, explainer, social clip, ad, tutorial)

  2. Do you need a human presenter or can it be voiceover/text?

  3. Is this a one-off or a repeatable template?

  4. What platform is it for? (This determines aspect ratio and length)

  5. Do you have existing assets to work with? (Screenshots, footage, scripts)

  6. What's your budget for video tools?


Tool Integrations

ToolTypeMCPGuide
HeyGenAI avatarsYesheygen.md
HyperframesProgrammatic video-hyperframes.md
RemotionProgrammatic video-remotion.dev
RunwayAI generation-runwayml.com/docs

  • social: For video content strategy, hooks, and what to post

  • ad-creative: For paid video ad creative and iteration

  • copywriting: For video scripts and messaging

  • marketing-psychology: For hooks and persuasion in video

Files

references/product-demo-recording.md

Product Demo Recording

Adapted from a contribution by @klepfish (PR #345).

How to record a scripted, repeatable demo of a web app feature (signup, onboarding, a settings flow, a dashboard interaction) by driving the app in headless Chromium with Playwright. The output is an MP4 with a title card, scene subtitles, a visible cursor, and optional TTS narration.

When to Use This Format

SituationFormat
Feature flow you'll re-record every releaseScripted in-app recording (this guide)
Narrated walkthrough where personality mattersLive screen recording (Loom, Screen Studio, Tella)
Homepage hero or launch video with motion designProgrammatic (Hyperframes/Remotion) over screen captures
Talking-head explainer with UI cutawaysAI avatar plus screen recording
Sales demo tailored to one prospectLive recording, or an interactive demo tool

Scripted recording pays off when:

  • The UI changes often and you need to regenerate the video in minutes

  • You want pixel-identical runs (same data, same pacing, no mouse jitter)

  • The demo must run against a local or staging build before launch

  • Several flows need the same branded look

Skip it for a one-off video where a human recording would take ten minutes.

Reference Implementation

The contributor's working scripts (a recorder template and a narrator) live at a fixed commit in this repo's history:

https://github.com/coreyhaines31/marketingskills/tree/37cb655f4017ccec2680f9fa5f3c13e6eed36a7d/skills/feature-demo/scripts

They need Node 18+, Playwright, and ffmpeg. Treat them as a reference implementation to copy and adapt. The workflow below is written so you can rebuild it without them.

Before Recording

Gather:

  1. Audience and product — prospects, existing customers, developers, or internal QA. This sets caption tone (jargon-light for prospects, implementation detail for developers) and pacing.

  2. Entry URL and scene list — one line per scene. The scene list doubles as the subtitle captions, so write each line as the caption you want on screen.

  3. Auth state — does the demo start logged in? Plan a seeded user plus a programmatic login or injected cookies.

  4. Narration — default to silent with subtitles. Add voiceover only if asked.

  5. Brand — app name, demo domain for the fake URL bar, title-card background and accent colors, optional logo SVG. Pull these from product marketing context when it exists.

Recording Workflow

1. Bring the app up locally

Run the app at a stable URL (e.g. http://127.0.0.1:8000). Any stack works since the recorder only needs HTTP and a page that renders in headless Chromium. Open it in a real browser first and click through the flow once. Read the gotchas section below before your first run.

2. Install tooling
npx playwright install chromium --with-deps
which ffmpeg || brew install ffmpeg   # or apt-get install ffmpeg
3. Set up the browser context

Create a context with:

  • viewport and recordVideo.size set to the same size (1280×800 is a good default)

  • bypassCSP: true so injected overlays aren't blocked

  • ignoreHTTPSErrors: true if you serve a self-signed cert

  • An addInitScript that injects the overlay (subtitle bar, step badge, fake cursor) on every page load

Record Date.now() when the context starts. Every subtitle logs its offset from that moment, which is what lets narration line up later.

4. Script the flow as steps

Wrap each scene in a step(label, caption, fn, { mode }) helper that:

  1. Shows the caption in the subtitle bar and logs { step, text, offsetMs } to a timings array

  2. Waits for the narration duration (see step modes)

  3. Runs the Playwright actions in fn

  4. On failure, saves a screenshot named after the label for triage

Guidelines:

  • Captions of 50-80 characters read well and keep pauses short

  • Show a "STEP N / TOTAL" badge so viewers know how long the demo runs

  • Reset backend state at the top if the demo uses a fixed account (see gotchas)

  • Use explicit waits (waitForURL, getByRole(...).waitFor()) rather than fixed sleeps

5. Make the cursor visible

Playwright fires DOM events with no visible pointer, so viewers can't see what got clicked. Inject a fake cursor element and wrap clicks and fills in helpers:

  • clickWithCursor(locator) scrolls the target into view, animates the cursor to its center (~500 ms), plays a click ripple, then clicks

  • fillWithCursor(locator, value) does the same, then types

Keep targets above the subtitle bar so it never covers the element being clicked.

6. Add a title card and browser chrome
  • Title card — render a full-frame PNG with the logo (or a text wordmark) on the brand background with an accent underline. Hold it at the start of the video. It also becomes the preview thumbnail.

  • Browser chrome — render a tab strip and URL bar showing demoDomain + path as a separate PNG, then stack it on top of the recording with ffmpeg. This keeps the real localhost URL out of the video.

7. Export

Write the timings array to a JSON sidecar next to the .webm. For a silent version with subtitles and chrome:

ffmpeg -y -i recording.webm -i browser-frame.png \
  -filter_complex "[1:v][0:v]vstack=inputs=2" \
  -c:v libx264 -crf 23 out.mp4

Trim the blank first-paint frames from the front (start about 150 ms before the first subtitle's offset). Export at the target platform's aspect ratio.

Step Modes

Each step picks when narration plays relative to its action. This is what keeps audio and visuals aligned.

ModeOrderUse for
before (default)Caption and narration finish, then the action runsTransitions: a click that navigates to a new page
duringNarration and action run in parallel; both must finishIn-place visible actions: filling a form, dragging, opening a menu
afterAction runs, then caption and narrationDescribing a state the action just produced (rare)

Why before is the default: if a navigating click fires early, the speaker keeps describing the old page while the viewer is already on the new one. The whole video then reads one scene off.

Picking a mode:

SceneMode
Click a button and the page navigatesbefore
Fill a form or type in a fieldduring
Skip or dismiss, then navigatebefore
Hover or open a menu without navigatingduring
Land on a final state (dashboard, success screen)during
Click that opens a modal you want to describebefore

Narration clips usually run 3-7 seconds, while actions take 1.5-2 seconds. With one fixed mode for every step, the two drift apart over a long demo.

Local-App Gotchas

Secure; SameSite=None cookies are rejected over HTTP

Browsers won't set Secure cookies over plain HTTP on a non-localhost host (for example a LAN IP or a custom dev domain), so the session never sticks and every navigation bounces to login. http://localhost is usually treated as secure and is fine. Otherwise, either drop the Secure flag for the recording run (SameSite=None requires Secure, so switch to SameSite=Lax at the same time; often an env flag), or serve HTTPS with a self-signed cert and ignoreHTTPSErrors: true.

Strict CSP blocks the overlay

A style-src 'self' policy without unsafe-inline blocks the inline styles on the subtitle bar and cursor. Keep bypassCSP: true on the context.

SPA crashes on boot produce a blank video

A missing env var that throws during bootstrap (a realtime client or analytics constructor given an empty key) leaves the page blank, and the recorder captures it without complaint. Confirm the page renders in a real browser first. Front-trimming can't rescue a broken page.

State accumulates across runs

Re-runs against a fixed account leave extra rows behind, which make text selectors ambiguous (the new modal option and a leftover card both match). Add a reset at the top of the script that clears only the rows the demo touches, using your stack's tool (rails runner, php artisan tinker, a SQL one-liner, an admin API call). When shelling out, use the array form of spawnSync so the shell doesn't expand variables. Demos that sign up a fresh random email each run can skip this.

Env vars pointing at production

Some agent sessions export DB_HOST or DB_PASSWORD for a production database. Any reset or seed command that inherits the shell environment will hit prod. Pass an explicit env to child processes with the local database host instead of forwarding process.env.

Revert recording-only config

Put cookie flags and env overrides changed for the recording back before committing, so the diff contains only the recorder script.

Optional Narration

Narration reuses the subtitle captions as the script.

  1. Generate one clip per caption with a TTS provider. Neutral options include ElevenLabs (expressive voices, wide voice library) and OpenAI's TTS API (simple, inexpensive). Cache clips by step so re-records skip the API.

  2. Use real clip durations as step waits. Measure each clip with ffprobe and feed that into before/during timing. Without TTS, estimate about 12 characters per second.

  3. Narrate the title card with a one-sentence intro in the same voice.

  4. Mux with ffmpeg — delay each clip to its subtitle offset (adelay), push back any clip that would overlap the previous one, mix with amix, and pad the video tail (tpad=stop_mode=clone) if audio runs past the visuals.

API keys: the TTS key belongs in an environment variable (e.g. ELEVENLABS_API_KEY) or a secret manager, loaded by the script at runtime. Never ask the user to paste a key into chat, and never write one into the repo or a committed .env file. If the key isn't set, tell the user which variable to set in their own shell and fall back to a silent recording in the meantime. If a user pastes a key into chat anyway, don't use it: tell them to rotate it, since chat logs aren't a safe place for secrets.

Delivery Checklist

  • [ ] Page renders correctly in a real browser before recording

  • [ ] Session persists across navigations (cookie check)

  • [ ] Each step uses the right mode

  • [ ] Cursor visible on every click and fill

  • [ ] Subtitles readable and never covering the active element

  • [ ] Fake URL bar shows the public domain

  • [ ] Title card works as a thumbnail

  • [ ] Recording-only config reverted

  • [ ] MP4 handed back with a one-line summary of what it shows

Requirements and compatibility

Works with: Claude Code, Claude apps, OpenAI Codex, GitHub Copilot, Cursor, Gemini CLI, Kiro, OpenCode, Goose, Amp, Roo Code, JetBrains Junie, Factory Droid, Devin (ex-Windsurf), Mistral Vibe, OpenHands, Letta

“Works with” means the tool reads the open Agent Skills format; a skill written for one tool may use features others lack.

Needs: Needs an MCP server, Needs an API key, Needs Node.js

Security

No issues found by our static scan· No issues found

A static scan is not a guarantee. Skills are third-party content: review a skill before you let an agent use it.

Attribution and licence

Created by
Corey Haines
Publisher
Corey Haines (Community)
Source
coreyhaines31/marketingskills · skills/video · commit 96798cf
Licence
MIT License (redistribution allowed)
  • LICENSE (added by AutoGineer from LICENSE)
  • ATTRIBUTION.md (written by AutoGineer)
Synced

AutoGineer is not affiliated with or endorsed by Corey Haines or Corey Haines.

Download ZIP

The ZIP holds the skill’s files, its licence files and an ATTRIBUTION.md. Download video.zip