--- name: record-promo description: Record an autonomous 50 FPS promo video of your game for social media. Use when the user says "record a video", "make a promo", "capture gameplay", "record gameplay footage", or "make a trailer for my game". Do NOT use for gameplay testing (use qa-game). argument-hint: "[path-to-game]" license: MIT metadata: author: OpusGameLabs version: 1.3.0 tags: [game, video, promo, recording, playwright, ffmpeg] --- # Record Promo Video Autonomously capture smooth, high-FPS gameplay footage of your Phaser game — ready for TikTok, Reels, Moltbook, or X. No human input needed during recording. ## Instructions Record a promo video of the game at `$ARGUMENTS` (or the current directory if no path given). ### 1. Pre-checks Verify these are available: - **Dev server**: Check if one is already running (`curl -s http://localhost:3000/`). If not, start one with `npm run dev` in the background. Note the port. - **Playwright**: `npx playwright --version`. If not installed: `npm install -D @playwright/test && npx playwright install chromium` - **FFmpeg**: `ffmpeg -version | head -1`. If not found, tell the user to install it (`brew install ffmpeg` on macOS) and stop. ### 2. Generate the capture script Load the `promo-video` skill for the full technique reference. Read the game's source files to understand: - `src/scenes/GameScene.js` — find death/failure methods to patch out - `src/core/EventBus.js` — event flow - `src/core/Constants.js` — input keys, game dimensions - `src/main.js` — verify `__GAME__` and `__GAME_STATE__` globals are exposed Create `scripts/capture-promo.mjs` adapted for this specific game: - Patch out ALL death/failure code paths - Generate input sequences matching the game's actual controls - Include entrance animation pause (1-2s) - Default viewport: `1080 × 1920` (9:16 mobile portrait) - Default duration: 13s game-time ### 3. Copy the conversion script ```bash cp /skills/promo-video/scripts/convert-highfps.sh /scripts/ chmod +x /scripts/convert-highfps.sh ``` ### 4. Run the capture ```bash mkdir -p output node scripts/capture-promo.mjs --port bash scripts/convert-highfps.sh output/promo-raw.webm output/promo.mp4 0.5 ``` ### 5. Verify and preview Extract a thumbnail at the 5-second mark and show it to the user: ```bash ffmpeg -y -ss 5 -i output/promo.mp4 -frames:v 1 -update 1 output/promo-thumbnail.jpg ``` Read the thumbnail image and display it. Report duration, frame rate, and file size. ## Example Usage ``` /record-promo examples/flappy-bird ``` Result: Patches out death → generates input sequence for the game's controls → captures 13s of autonomous gameplay at 1080x1920 (9:16) → converts to 50 FPS MP4 → `output/promo.mp4` ready for TikTok/Reels. Tell the user: > Promo video recorded! 50 FPS, mobile portrait (1080×1920). > > **File**: `output/promo.mp4` > > Post it to TikTok, Reels, or X to drive traffic to your game.