| name | comfy-qa |
| description | Generate high-quality narrated QA demo videos for Comfy-Org products. Takes a PR, issue, feature doc, or product URL as input and produces a story, Playwright spec, and MP4 video with TTS narration and HUD overlay. |
comfy-qa
Automated QA demo video generator for Comfy-Org's public-facing products. Given a target (PR, issue, feature, or product URL), it generates narrated browser demo videos showing real user workflows.
What this project does
Input: PR / issue / feature doc / product URL
â
Phase 1: Probe â discover site structure (headless browser)
Phase 2: Story â generate .comfy-qa/02-stories/<product>.story.md
Phase 3: Spec â generate .comfy-qa/03-spec/<product>.spec.ts
Phase 4: Video â render .comfy-qa/04-videos/<product>.mp4
â
Output: Narrated MP4 with TTS, cursor HUD, subtitles
Quick start
bun install
bun run prepare
bunx playwright test .comfy-qa/03-spec/<product>.spec.ts
bunx playwright test
bun tmp/review-videos.ts
Project structure
src/
âââ agent/
â âââ demo-research.ts â explores sites, generates stories
â âââ demo-editor.ts â post-processes raw recordings
â âââ browser-agent.ts â AI-driven browser automation
â âââ orchestrator.ts â full QA pipeline (fetch â research â record â report)
â âââ research.ts â PR/issue analysis agent
âââ cli.ts â CLI entry point (comfy-qa)
âââ utils/ â GitHub API, URL parsing, ComfyUI helpers
demo/
âââ fixtures/
â âââ fixture.ts â Playwright fixture (HUD + Gemini TTS + audio)
â âââ mux-reporter.ts â video + audio â MP4 muxer
.claude/skills/
âââ demo-spec-author/SKILL.md â spec authoring rules and patterns
.comfy-qa/ â ALL generated output (gitignored)
âââ spec/ â generated Playwright spec files
âââ stories/ â generated story markdown files
âââ checklists/ â generated feature checklists (YAML)
âââ videos/ â rendered MP4 videos
âââ .tmp/ â intermediate Playwright artifacts
Key principles
1. User journeys, not museum tours
Every demo must show a complete user workflow â search, click, navigate, type, copy â not just hover over elements. See .claude/skills/demo-spec-author/SKILL.md for the full spec-authoring guide.
2. Segment classification
Each video segment is classified as NAVIGATE (page transitions via setup callback), INTERACT (clicks, typing), or OBSERVE (hover/scroll). At least 50% of segments must be NAVIGATE or INTERACT.
3. Coverage scoring
Demo quality is measured by enumerating all CRUD operations on the target site and calculating coverage as a ratio (e.g., 13/22 = 59%). Never use simple pass/fail.
4. Zero idle frames
Every segment must have continuous cursor movement during narration. No segment where the mouse sits still while the narrator talks.
Environment variables (.env.local)
GEMINI_API_KEY=...
CLOUD_USERNAME=...
CLOUD_PASSWORD=...
GOOGLE_USERNAME=...
GOOGLE_PASSWORD=...
Submodule: demowright
lib/demowright provides cursor HUD overlay, TTS integration, and video production via createVideoScript(). After pulling, run bun run prepare to sync it.
CLI
comfy-qa pr <owner/repo#number>
comfy-qa issue <owner/repo#number>
comfy-qa full <owner/repo>