playableintelligence/game-creator

record-promo

Record an autonomous 50 FPS promo video of your game for social media.

View source

How to use

  1. Copy the installation command and review the source package before installing it in your own agent environment.
  2. Check the source document for required tools, credentials and supported hosts.
  3. Describe your input and desired deliverable; review the output against the source material.
npx skills add https://github.com/playableintelligence/game-creator --skill record-promo

Before you start

  • Installation does not include a model subscription, API allowance or permission to access your files.
  • Repository stars and installation counts describe activity, not an independent quality or security test.
Original skill document

Rendered from the source repository. Headings, examples, code, tables, links, and referenced images are preserved.

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 <plugin-root>/skills/promo-video/scripts/convert-highfps.sh <project-dir>/scripts/
chmod +x <project-dir>/scripts/convert-highfps.sh

4. Run the capture

bash
mkdir -p output
node scripts/capture-promo.mjs --port <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.

Related by task

from this repository

More skills

All skills
playableintelligence
Community

add-3d-assets

Replace primitive 3D shapes with real GLB models — animated characters, world props, buildings, and scenery for Three.js games. Use when the user says "add 3D models", "replace the boxes with real models", "add GLB assets", or "make the 3D game look real". For 2D pixel art, use add-assets instead. Do NOT use for 2D pixel art (use add-assets) or gameplay changes (use add-feature).

installs
1
GitHub stars
346
Updated
May 25
playableintelligence
Community

add-multiplayer

Add real-time or turn-based multiplayer to an existing browser game using PartyKit (Cloudflare Durable Objects). Scaffolds a room-based server, a NetworkManager client, EventBus events, GameState fields, Constants, and extends rendergametotext(). Use when the user says "add multiplayer", "make this multiplayer", "add real-time co-op", "add online play", "scaffold multiplayer", or "add netcode". Do NOT use for solo leaderboards (use monetize-game), single-player AI opponents (use add-feature), or

installs
1
GitHub stars
346
Updated
May 25
playableintelligence
Community

design-game

Audit and improve the visual design, polish, and player experience of an existing game. Use when the user says "make my game look better", "improve the design", "add polish", "add juice", "add particles", "fix the UI", or "make it more visually appealing". Do NOT use for gameplay logic changes (use add-feature instead).

installs
1
GitHub stars
346
Updated
May 25
playableintelligence
Community

fetch-tweet

Fetch tweet content directly from fxtwitter API. Use when given a tweet/X URL to extract the tweet text, author, media, and engagement stats without loading x.com.

installs
1
GitHub stars
346
Updated
May 25