Skip to content

feat: add feature-demo skill#345

Open
klepfish wants to merge 1 commit into
coreyhaines31:mainfrom
klepfish:feature/feature-demo
Open

feat: add feature-demo skill#345
klepfish wants to merge 1 commit into
coreyhaines31:mainfrom
klepfish:feature/feature-demo

Conversation

@klepfish

@klepfish klepfish commented Jun 4, 2026

Copy link
Copy Markdown

New Skill

Skill name: skills/feature-demo

Summary

feature-demo records a Playwright-driven demo video of an in-app feature flow (signup, onboarding, a settings flow, a dashboard interaction) and delivers a polished MP4 — branded title card, on-screen subtitles, an animated mouse cursor, and optional ElevenLabs TTS narration.

It complements the existing video skill rather than overlapping it: video covers AI-generated / programmatic marketing video (HeyGen, Remotion, Veo, …), while feature-demo is for real screen-capture walkthroughs of an actual running web app. The description cross-references video to keep the scope boundary clear.

What ships:

  • SKILL.md — end-to-end workflow: gather audience/feature context → bring the local app up → write the recorder → record → optional narration → deliver.
  • scripts/recorder.template.mjs — copy-and-edit recorder skeleton (BRAND / TITLE_CARD / FEATURE STEPS blocks).
  • scripts/narrate.mjs — generic narrator that muxes ElevenLabs voiceover onto the silent capture (caching, overlap-avoidance, title card).
  • references/step-modes.md — decision matrix for aligning narration with on-screen actions (before / during / after).
  • references/local-app-gotchas.md — cross-cutting HTTP-localhost recording issues (cookie flags, CSP, demo-state reset).
  • evals/evals.json — 6 evals exercising the expected behaviors.

Stack-agnostic — works against any local app (Laravel, Rails, Django, Next.js, …) that renders in headless Chromium.

Repo bookkeeping

  • New skill versioned at 1.0.0 (matching how sms / prospecting entered the 2.x line).
  • Bumped the marketplace release 2.3.0 → 2.4.0 and added a VERSIONS.md changelog entry + table row, following the one-minor-per-new-skill pattern.
  • Ran node .github/scripts/sync-skills.js, which regenerated marketplace.json (count 43 → 44), plugin.json (version → 2.4.0), and the README skills table — so those match what CI would produce on merge.
  • Kept the file cross-agent: no allowed-tools, no agent-specific tool calls (the delivery step is tool-agnostic), and install paths reference .agents/skills/… per AGENTS.md.

Validation performed

  • bash validate-skills.sh44/44 skills valid, 0 warnings, 0 issues.
  • node --check on both .mjs scripts; evals.json parses as valid JSON.
  • Scanned the skill for secrets / internal references — none.

Checklist

  • name matches directory name exactly
  • name follows naming rules (lowercase, hyphens, no --)
  • description is 1-1024 chars with trigger phrases
  • SKILL.md is under 500 lines (292)
  • No sensitive data or credentials
  • Tested locally with AI agent (contributed from another project; validated here via validate-skills.sh, node --check, and the evals)

Records a Playwright-driven demo video of an in-app flow (signup, onboarding, settings, dashboard) with a branded title card, on-screen subtitles, an animated cursor, and optional ElevenLabs TTS narration, delivered as an MP4. Ships a recorder template, a generic narrator, references (scene-timing modes, local-app gotchas), and evals.

Bumps the marketplace release to 2.4.0; sync-skills.js regenerated marketplace.json, plugin.json, and the README skills table.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant