Game Trailer from Code (Steam trailer and store images)
/game-trailer-from-code
A GameSkill original: turn your own running game into a 15-second Steam gameplay trailer and every store image with code. Frame-exact capture, a JSON cut list, zh/en captions and SRT, a soundtrack synced to game events, an H.264/AAC encode, and a checker for Steam's trailer rules, loudness, the 6-second microtrailer and the capsule sizes.
- License
- MIT
- By
- By GameSkill
Tested by GameSkill
35/35 checks passed on Node 20 + Chrome 156 headless + ffmpeg 7.1 (libx264, AAC) (2026-10-28): trigger, a runnable example, a screenshot and self-check, one job per skill, and English + Chinese docs. Trigger checks match prompts against skill descriptions; they are not a live agent run.
Test reportGameSkill's tested copy
Written and tested by GameSkill for gameskill.dev. The ZIP holds the whole skill: SKILL.md and its Chinese version, scripts, a runnable example, tests, the self-check list and our test report.
A GameSkill original, released under MIT. The ZIP keeps LICENSE and CREDITS.md, which lists the workflow inspiration, the CC0 test assets and the third-party libraries with their licenses.

Self-check
- 只用了用户自己游戏的画面和合成音效 / Only the user's own game footage and synthesised sound
- 第一帧就是实机画面,每段镜头 1.2 到 4 秒,结尾卡不超过 2 秒 / Gameplay in the first frame, shots 1.2-4 s, end card at most 2 s
- check-trailer 对中英两个版本都是 PASS / check-trailer says PASS for both the en and zh versions
- capsule 和截图里除了游戏名没有其他文字 / No text but the title on capsules and screenshots
- 静音看过一遍,手机尺寸看过一遍 / Watched once muted and once at phone size
- 画面里有 AI 生成的素材就在内容调查问卷里写明 / AI-made assets on screen are listed in the Content Survey
- npm test 和 npm run test:browser 都通过 / npm test and npm run test:browser pass
Install
Tell your AI
Install the skill from https://gameskill.dev/skills/game-trailer-from-code/install.md
GameSkill's tested copy
mkdir -p .claude/skills
curl -fsSL https://gameskill.dev/dl/skills/game-trailer-from-code.zip -o /tmp/gameskill-game-trailer-from-code.zip
unzip -oq /tmp/gameskill-game-trailer-from-code.zip -d .claude/skills
rm /tmp/gameskill-game-trailer-from-code.zipWhat you get
- tools/capture.mjs: a virtual clock for frame-exact, repeatable capture of a browser game
- tools/make-trailer.mjs: cut list to trailer_en.mp4 and trailer_zh.mp4, SRT files, 5 screenshots, 9 capsule and library images, store GIF/WebP, contact sheet
- tools/check-trailer.mjs: PASS/FAIL against Steam's trailer and store-asset rules, loudness, true peak, microtrailer seconds, black and frozen stretches
- src/sound.js: a synthesised music bed and cues on game events, no audio files
- Lantern Moth example and 10 Node tests plus 11 end-to-end checks
Good fit
- Indie and web games that need a first Steam trailer and store images
- Fixing trailer uploads Steam rejects or re-times (size, fps, bitrate, sample rate)
- Rebuilding the trailer after every content update with the same cut list
Not for
- Cinematic, story or live-action trailers that need an editor and a director
- Launch timing, refunds, reviews and sales retros: see steam-launch-check
Try this prompt
Make a 15-second Steam gameplay trailer and the store capsules for my browser game, with Chinese and English captions.About this skill
A GameSkill original. Your own running game plus a JSON cut list becomes a Steam-ready 15-second gameplay trailer in two languages and the full set of store images, and a checker says PASS or FAIL against Steam's published rules.
Agent steps
- Only the user's own game: no other games' footage, music, logos or characters.
- Deterministic capture:
tools/capture.mjsswaps in a virtual clock (performance.now,Date.now,requestAnimationFrame,Math.random), so every build gives the same frames. - Cut list: 6 shots of 1.2-4 s, gameplay in the first frame, captions in en and zh, end card at most 2 s.
- Build: captions, card and capsules are HTML rendered to transparent PNGs; key art is re-captured without the HUD.
- Sound: a synthesised bed plus cues on game events, normalised to -14 LUFS with true-peak headroom for AAC.
- Check until PASS: Steam spec, loudness, every 1-second microtrailer window, black and frozen stretches, SRT timings, capsule and screenshot sizes.
- List AI-made assets that appear on screen in Steam's Content Survey, with the rest of the game's AI use.
Common errors it fixes
- Uploads at 1024x576, 25 fps or 22 kHz that Steam fails to process.
- Logo or black openings that turn into blank seconds in the microtrailer.
- Text or HUD numbers on capsules, and AAC encodes that push the true peak over -1 dBTP.
Credits
QA ideas (black and frozen frames, loudness, the first seconds) and staged checks from video-director by win4r (MIT). No code or text was copied; capture, cut list, checks, sound and text are ours. Steam rules from the Steamworks documentation, checked 2026-10-28.
Requirements
- Node.js 20+, Google Chrome and ffmpeg/ffprobe (libx264, AAC)
- A game with a demo or autopilot mode (browser games directly; native engines via a fixed-step replay)
Topics
FAQ
Based on video-director by win4r (MIT). Ideas only: GameSkill wrote the code and text; CREDITS.md in the ZIP lists every source.
Works well with
Skills the author points to as related or as the better fit for neighbouring tasks.
Launch Checklist (Claude Code Game Studios)
Launch readiness across every department: code, content, store, marketing, community, infrastructure, legal, go/no-go sign-offs.
Web Audio SFX Synth (no audio files)
A GameSkill original: 12 game sound effects made from code with the Web Audio API, plus the mixer around them: unlock on the first tap, a compressed master bus with mute, pitch and level variation, stereo pan, distance falloff and a voice limiter. Every sound is rendered offline and checked for clipping.
Similar skills
open-game-skills
An MIT pack of about 190 SKILL.md agent skills for game design: combat feel, camera, traversal, world, validation, 2D/Spine and art pipeline, with a dispatcher and adapters for Three.js, PixiJS, Phaser, Cocos, Godot, Unity and Unreal.
Kart Drift Boost (tiers, windows, ramps)
A GameSkill original: arcade kart drift-boost rules that reward skill. Drifts charge three tiers, release opens a 0.85 s window you must press in, counter-steer adds a CUT bonus, ramps give one air and one landing boost, boosts take the maximum instead of stacking, and walls cancel everything pending.
One-button Flight (fair tap-to-flap)
A GameSkill original: the rules of a one-button flight game that is never unfair. Flaps set speed instead of adding it, a fixed-step simulation plays the same at 30 and 144 fps, the hitbox forgives grazes, and a seeded gap generator stays inside the reachable band, checked by an autopilot.
Procedural Low-Poly Buildings (kit, validator, views)
A GameSkill original: build stylised low-poly buildings in code from a small spec, then prove them: plot and height limits, a triangle budget per tier, closed outward meshes, supported parts, level roofs and side-only taper measured from silhouettes, plus front, side, top and 3/4 renders checked against the geometry.