Skip to main content
WEB
SkillFreeBy GameSkillGameSkill original

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
Download ZIP

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 report

GameSkill'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.

Download tested ZIP (1.4 MB)Roadmap: Release & ops

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.

Game Trailer from Code (Steam trailer and store images)

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

Tested copy into .claude/skills/
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.zip

What 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

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

  1. Only the user's own game: no other games' footage, music, logos or characters.
  2. Deterministic capture: tools/capture.mjs swaps in a virtual clock (performance.now, Date.now, requestAnimationFrame, Math.random), so every build gives the same frames.
  3. 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.
  4. Build: captions, card and capsules are HTML rendered to transparent PNGs; key art is re-captured without the HUD.
  5. Sound: a synthesised bed plus cues on game events, normalised to -14 LUFS with true-peak headroom for AAC.
  6. Check until PASS: Steam spec, loudness, every 1-second microtrailer window, black and frozen stretches, SRT timings, capsule and screenshot sizes.
  7. 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.

Similar skills

open-game-skills
GDT
Starter kit
6

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.

Engine-agnosticGodotUnityClaude Code · Codex +1
Kart Drift Boost
WEB
Skill
By GameSkill

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.

Web (Phaser / Three.js)Engine-agnosticClaude Code · Codex +2
One-button Flight
WEB
Skill
By GameSkill

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.

Web (Phaser / Three.js)Engine-agnosticClaude Code · Codex +2
Procedural Low-Poly Buildings
WEB
Skill
By GameSkill

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.

Web (Phaser / Three.js)Engine-agnosticClaude Code · Codex +2