agentleFS
Fixed-SeedFixed-Seed/game-changer/skills/showcase-video/SKILL.md

showcase-video

Skill8 starsChanged 36 days agoMITView on GitHub

Record and cut a short showcase video of a game mod, or a compilation of clips, ready to post on X/YouTube. Records the game window with only the game's own audio, picks moments from contact sheets, and edits with one-line animated titles, creator credits, transitions, music, watermark and fade-out via an EDL JSON. Use when the user wants a demo video, trailer, clip or montage of a mod, or wants to combine existing clips into a styled video.

4 other projects use a version of this, 3 of them edited.

Adopted by

Most recently taken up by

The file

We split this skill into the rules it gives an agent

4 rules. 3 are common, 0 are distinctive, and 1 is very specific to this project.

  • 3

    Common

    Most of the 4 edited versions we read keep these.

  • 0

    Distinctive

    This author's own choices. Worth a look.

  • 1

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Common:

    Script the action: Use a mod-side timeline or command sequence (spawn enemies, fire the weapon, cue the boss), a scenario with triggers and …

    line 12
  2. Very specific:

    Inside a mod (optional): start and stop recording from the mod for frame-exact takes.

    line 33
  3. Common:

    Sound: keep the game's audio. It sells impacts.

    line 77
  4. Common:

    Last step: look at a contact sheet of the finished video before sharing it.

    line 81

“Common” is measured: kept by at least 6 in 10 of the 4 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Showcase video

A mod isn't finished until you can show it in 30 seconds. The toolchain is fsgc win record (capture), fsgc video contact (look), fsgc video compile (edit), all ffmpeg + Pillow.

1. Make the take repeatable

  • Script the action. Use a mod-side timeline or command sequence (spawn enemies, fire the weapon, cue the boss), a scenario with triggers and camera moves, or a WinDrive command list. The first clean take should be reproducible exactly, so you can reshoot after a fix.
  • Restore the world before each take. Explosions crater worlds; units die. Keep a pristine copy with fsgc backup and restore it every take.
  • Clean frame. Hide debug text, fix the camera zoom (the Terraria showcase used 1.5x so 1080p frames read like a 720p cut), run at full speed when unfocused, and hide the cursor (capture uses capture_cursor=0).

2. Record the window + the game's own audio

fsgc win record --exe Game.exe --out C:\caps\take1 --seconds 40      # -> take1.mkv, take1.audio.raw, take1.json
fsgc video first-frame C:/caps/take1.mkv                              # where gameplay starts (skips loading screens)
fsgc video mux C:/caps/take1.mkv C:/caps/take1.audio.raw C:/caps/take1.json take1.mp4 [--offset 0.25]
  • Video: ffmpeg gfxcapture of that window only (GPU frames, no desktop). It encodes with NVENC, AMF or QSV when available. NVENC H.264 maxes out at 4096 px wide, so the recorder scales above that; for 32:9 screens, crop to the centre 16:9 with --crop.
  • Audio: WASAPI process loopback of the game's PID (game_changer/ps1/ProcLoopback.ps1). Only the game is recorded; no Spotify, no notifications. It's timestamped so the file position is wall time. Muxing uses the recorded offset. Fine-tune with a visual/audio sync event (a flash vs its boom) and pass --offset.
  • Inside a mod (optional): start and stop recording from the mod for frame-exact takes. Never block the game's main thread while stopping ffmpeg: send q, then wait off-thread. Write .mkv so a killed recorder still leaves a playable file (see examples/terraria-tmodloader/reference/InModRecorder.cs).

3. Look before you cut

fsgc video probe clip.mp4
fsgc video contact clip.mp4 sheet.png --every 1.5 --cols 6     # a timestamped grid; read it, pick in/out points
fsgc video contact clip.mp4 zoom.png --start 20 --end 30 --every 0.5

Pick the peak moments: the explosion, the boss reveal, the unit in formation. Write in/out times into the EDL.

4. Edit with an EDL

fsgc video compile edl.json out.mp4 (--preview renders half size and fast). The full format is in fsgc video --help.

{
  "size": [1920, 1080], "fps": 30,
  "theme": {"accent": "#B6FF3B"},
  "transition": {"type": "fade", "duration": 0.3},
  "clip_volume": 0.8,
  "music": {"path": "music.mp3", "volume": 0.5},
  "watermark": {"path": "logo.png", "height": 54, "corner": "br"},
  "segments": [
    {"clip": "take1.mp4", "in": 9.0, "dur": 3.0, "hook": "Terraria, but with a tactical nuke."},
    {"clip": "take1.mp4", "in": 24.2, "dur": 4.5, "title": "Tactical Nuke", "transition": {"type": "pixelize"}},
    {"clip": "take2.mp4", "in": 3.0, "dur": 5.0, "title": "Drone Mothership boss"},
    {"card": {"title": "Seed Arsenal", "sub": "a Terraria mod"}, "dur": 2.5}
  ]
}
  • Transitions: any ffmpeg xfade type (fade, pixelize, slideleft, smoothleft, circleopen, zoomin, radial...) or cut.
  • Fills: for non-16:9 clips, fill: blur (blurred backdrop), crop or pad.
  • Per clip: speed and volume, zoom to punch in past UI, crop [x, y, w, h] to reframe.
  • Music: fsgc fixedseed music "..." --seconds 60 makes a bed. Set bpm and use beats instead of dur to cut on the beat; fsgc video beats music.mp3 estimates tempo and first beat.

Style that works (from real feedback)

  • Titles: one line naming what's on screen ("Wonder: the Transamerica Pyramid", "Robotaxis and Delivery Drones"). No small explanatory captions about how it was made; that goes in the post text.
  • Pace: get into gameplay within 2-3 s; menus and setup stay under 3 s. Clips run 3-5 s each. End on the mod name or URL and fade out.
  • Sound: keep the game's audio. It sells impacts. Music under a compilation, clip audio around 0.5-0.8.
  • Compilations of other people's clips: credit every creator on screen (credit: "@handle") and in the post, and ask permission when it's promotional. Don't imply their clips were made with your tool. Download only public posts, and only what you'll use.
  • Last step: look at a contact sheet of the finished video before sharing it.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.