Agent skill

Short Game

by gug007 in gug007/lpm

Make a short vertical (9:16) video where two AI models build the same self-playing game in lpm, one above the other, and both games then play live in lpm's browser.

MITAuto-check passedSecurity

Install Short Game

skills CLI
$ npx skills add gug007/lpm --skill short-game -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install gug007/lpm short-game --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/gug007/lpm.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/short-game .claude/skills/short-game && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
short-game
GitHub stars
152
Token cost
~2.1k tokens
SKILL.md length
1,094 words
Files
4 (incl. scripts)
Skills in repo
12
Repo updated
First seen
Licence
MIT

At a glance

Make a short vertical (9:16) video where two AI models build the same self-playing game in lpm, one above the other, and both games then play live in lpm's browser.

  • Works in 5 steps: Write the lesson → Tell the user a take is starting and to… → Dry run on a trivial prompt. It takes… → …
  • The user asks for a TikTok
  • SKILL.md covers Why games, The games, One above the other and Make one, plus 1 more section
  • Runs JavaScript scripts from its folder; calls node

What it does

Short Game is an agent skill from gug007/lpm. Make a short vertical (9:16) video where two AI models build the same self-playing game in lpm, one above the other, and both games then play live in lpm's browser. It is a short-race whose prompt comes from a ready game catalog (3D endless runner, 3D racer, Flappy Bird, Snake, space shooter, Breakout, a GTA-style police chase), with the hook, headline, title and caption written around the game and the brand pair people search for ("Claude vs Gemini: build a 3D game 🎮"). Models in, 1080x1920 MP4 + cover + post…

Its SKILL.md is about 2.1k tokens, which your agent loads only when the skill is triggered. The skill folder holds 4 other files, including scripts (for example `scripts/games.js`, `scripts/new.js` and `scripts/patch.js`).

It sits in Security, covering OSINT. It works with TikTok. The repository describes itself as: Start, stop, and duplicate dev projects with one click. The best workspace for running Claude Code, Codex, and other AI agents alongside your services. The licence is MIT.

When your agent uses it

  • The user asks for a TikTok
  • Short where models build a game
  • Such as opus 5.5 high vs gemini 3.1 pro build a 3D game
  • Claude vs GPT 6: Opus 5.5 high vs Astra high build a 3D game

Example prompts

  • “Claude vs Gemini: build a 3D game 🎮”
  • “opus 5.5 high vs gemini 3.1 pro build a 3D game”
  • “Claude vs GPT 6: Opus 5.5 high vs Astra high build a 3D game”
  • “/short-game”

Requirements

  • Node.js

Workflow steps

5 steps, taken from the first numbered list in SKILL.md.

  1. Write the lesson
  2. Tell the user a take is starting and to leave the keyboard and mouse alone.
  3. Dry run on a trivial prompt. It takes about 2 minutes instead of a whole race
  4. The video: /take.sh --frames, run with Bash run_in_background and waited on with an until-loop over its log. A take lasts as long as the…
  5. Review as short says, and look at every second yourself: ../short/scripts/scan.sh (the out dir must exist). The QA screen check only reads…

What it can do on your machine

Read from SKILL.md and the folder at commit 57f7a3f. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships 3 files in scripts/ (JavaScript), which the agent can run.

    Shell commands in SKILL.md call:

    • node

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Short Game loads about 2.1k tokens when it runs. Until then it costs about 205 tokens; SKILL.md has 1,094 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~205
When it runs · the whole SKILL.md, loaded when a task matches
~2.1k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.

SKILL.md

The full file from gug007/lpm at commit 57f7a3f, republished under its MIT licence (© gug007). 1,094 words, ~2,077 tokens.

Download SKILL.mdSave it as .claude/skills/short-game/SKILL.md (or your agent's skills folder). This skill also uses 3 other files; get the full folder from GitHub.
name
short-game
description
Make a short vertical (9:16) video where two AI models build the same self-playing game in lpm, one above the other, and both games then play live in lpm's browser. It is a short-race whose prompt comes from a ready game catalog (3D endless runner, 3D racer, Flappy Bird, Snake, space shooter, Breakout, a GTA-style police chase), with the hook, headline, title and caption written around the game and the brand pair people search for ("Claude vs Gemini: build a 3D game 🎮"). Models in, 1080x1920 MP4 + cover + post caption out. Use when the user asks for a TikTok, Reel or Short where models build a game, such as "opus 5.5 high vs gemini 3.1 pro build a 3D game", "Claude vs GPT 6: Opus 5.5 high vs Astra high build a 3D game" or "claude vs grok make flappy bird". A race on any other prompt is short-race.
version
1.2.0
argument-hint
"<model A>" vs "<model B>" [game: runner|racer|flappy|snake|shooter|breakout|gta] [title: …]

A short-race with a game for its prompt. scripts/new.js writes the lesson through short-race's own new.js, so everything in ../short-race/SKILL.md and ../short/SKILL.md still holds (models and CLIs, Run in duplicates, the take, the review) and is not repeated here. This file covers only what a game race adds.

Why games

Creator Search Insights (global, last 7 days, 2026-10-07): "Using AI to build a 3D game" 314K, "making a game with ai" 230K, "ai game generator" 274K, "how to make game with ai" 85K and "ai games to play" 93K (both up 1000%+). For the brand pairs: "claude vs gemini" 267K, "claude ai vs chatgpt" 252K, "claude vs grok" 204K. Races get far more views than feature shorts, and a game that plays itself keeps the reveal moving. The first game race was Opus 5.5 high (12:16) vs Gemini 3.1 Pro (2:24) on the 3D runner.

The games

keybuildsheadline
runner (default)a 3D endless runner: lanes, jumps, coinsbuild a 3D game 🎮
racera 3D highway racer weaving through trafficbuild a 3D racing game 🏎️
flappyFlappy Bird through scrolling pipesbuild Flappy Bird 🐦
snakeSnake on a 20x20 boardbuild Snake 🐍
shootera space shooter blasting enemy wavesbuild a space shooter 🚀
breakoutBreakout with fresh brick wallsbuild Breakout 🧱
gtaa top-down GTA-style police chase in a Vice City-style townbuild GTA 6 🚓

node scripts/new.js --list prints them. Every prompt in scripts/games.js keeps short-race's rules: index.html at the project root, one file, no libraries or images, a stage with sizes given as shares of it, scaled to fit and never cropped, and "Don't run or test it". On top of that the game plays itself and restarts at once after a crash, so the reveal is live play with nobody at the controls. The stage is wide, 900x360, to fill a row (see One above the other); the two races posted before 2026-10-09 ran in columns on short-race's tall 420x740 stage. A layout puts the action across the width (Snake's board spans the height, the shooter's enemies come in from the right), and sizes that a tall stage gave as shares of its width are shares of the height or a smaller share of the width here. Add a new game to games.js in the same shape (build, play, layout, restart, then the copy fields), not as a one-off --prompt. Keep its whole prompt under about 850 characters: a Claude or Codex copy gets it on a launch line that macOS cuts off at 1024 bytes (see short-race's Traps), and new.js refuses a longer one.

One above the other

short-race runs every race in rows: Run in duplicates with Open side by side split into Rows, run #1 on top and the copy below, from the start of the race to the reveal. Model A's cyan bar sits over the top row and model B's pink one over the bottom, with the clocks and then the finish times, and each row opens its own index.html in lpm's browser. Each game gets the window's full width, about 800x320 of page in short-race's 800x990 window, the wide 900x360 stage's own shape.

Show full SKILL.md (629 more words)Show less

Make one

  1. Write the lesson:

    node scripts/new.js "opus 5.5 high" "gemini 3.1 pro"
    node scripts/new.js "opus 5.5 high" "gpt 6 astra high" --pair "Claude vs GPT 6" --title "Claude vs GPT 6: Opus 5.5 high vs Astra high build a 3D game"
    node scripts/new.js "opus 5.5 high" "grok 4.7 xhigh" --game flappy

    It runs short-race's new.js with the game's prompt and subject, then rewrites the lesson around the game:

    • Hook: the brand pair short-race names the way people search for it ("Claude or Gemini?"). --pair "A vs B" makes it "A or B?".
    • Headline: "<pair>: build a 3D game 🎮".
    • Title: "<pair>: <A> vs <B> build a 3D game". --title uses the user's exact wording (label words such as "Astra high").
    • Caption: "<pair> for coding: making a 3D game with AI. <A> and <B> got the same prompt, a self-playing endless runner, and built it side by side in lpm's terminal. Which one wins? Comment the two models you want me to race next."
    • compare.json: game and timeoutMin: 40, or the game's own timeoutMin (GTA: 60, since Opus 5.5 high took 37:25 on it).

    The slug is <A>-vs-<B>-<game>. --slug and --force work as in short-race.

    Effort. A Claude side with no effort is raced at high, and the script says so. Otherwise it would run at the user's saved default: Opus 5.5 at xhigh on the runner thought for 21 minutes, hit Claude Code's output cap, resumed, and still had no page at the 40-minute limit. When the user asks for xhigh or max, run it, but warn them it may time out. Gemini 3.1 Pro has one fixed level and takes no effort. A model name in --pair that the voice transcript mishears fails the dropped-words check: see short-race's Traps.

  2. Tell the user a take is starting and to leave the keyboard and mouse alone.

  3. Dry run on a trivial prompt. It takes about 2 minutes instead of a whole race:

    node scripts/new.js "<A>" "<B>" --dry <scratchpad>/race-dry
    LPM_TIKTOK_DIR=<scratchpad>/race-dry <scratchpad>/race-dry/dry/take.sh --no-audio --frames

    It uses the same models and flow, a red-square prompt and a 10-minute limit. Check frames/ as short-race says: 02-run.jpg shows both banners with the right models, one row above the other, both prompts sent and no intro screen, and 05-payoff.jpg shows both pages open, the cyan bar (model A) on top and the pink one below.

  4. The video: <slug>/take.sh --frames, run with Bash run_in_background and waited on with an until-loop over its log. A take lasts as long as the slower side: Gemini 3.1 Pro finished the runner in 2–3 minutes, Opus 5.5 high in 12. When a side times out (✗ no page), retake at a lower effort under a new slug. Keep the timed-out folder, and don't post it.

  5. Review as short says, and look at every second yourself: ../short/scripts/scan.sh <slug> <out dir> (the out dir must exist). The QA screen check only reads names in Latin script, so a macOS notification carrying the account name in another script (an AirPods battery alert did) passes it.

Finish the reply with each model's time from result.json, then the rendered MP4's full absolute path. To post it, use short-publish.

A popup in the take

A popup over static UI (a pane header, the window's top bar) can be covered instead of retaken:

node scripts/patch.js where <slug> 11.5                                # MP4 seconds → record.mkv seconds
node scripts/patch.js peek  <slug> 111 115 900,0,900,220               # a tile every 0.5 s → <slug>/_patch/peek.png
node scripts/patch.js apply <slug> 111.9-114.2 1244,0,520,140 111      # span, box, clean frame
node scripts/patch.js peek  <slug> 111 115 900,0,900,220               # check: no popup, no seam
<slug>/take.sh --mux-only

Times and boxes are record.mkv's own, in pixels of the 2x window capture. The clean frame must come before the popup slides in and show the same UI as the span it covers. apply keeps the untouched take as record.popup.mkv and always starts from it, so a rerun replaces the earlier patches: give every popup in one call. It lists the spans in PATCHED.json. Retake instead when the popup covers anything that moves: a terminal, a game page or the pointer.

© gug007, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 3 other files (scripts) in .claude/skills/short-game of gug007/lpm.

  • SKILL.md
  • scripts/games.js
  • scripts/new.js
  • scripts/patch.js

Open the folder on GitHubat commit 57f7a3f

Compare with similar skills

Short Game next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Short Game compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Short Game this skillgug007/lpm152—~2.1kAutomated safety check: PassMIT
Metabigor OSINT Reconj3ssie/metabigor1.9k—~2.4kAutomated safety check: PassMIT
Ctf Osintljagiello/ctf-skills3.4k1 repos~2.3kAutomated safety check: NotesMIT
ShadowBroker Intelligence ClientBigBodyCobain/Shadowbroker11k—~8.9kAutomated safety check: WarnAGPL-3.0
Awesome Osint Operatorshoyann/RZK-The-Hunter141—~4.8kAutomated safety check: PassCC-BY-SA-4.0
Run Claude Osintelementalsouls/Claude-OSINT2.8k—~1.2kAutomated safety check: PassMIT

Similar skills

  • Metabigor OSINT Recon

    j3ssie/metabigor

    Operates the metabigor CLI to map a target's network ranges, subdomains, ports, related domains, CDNs and archived URLs from free sources without API keys.

    1.9k GitHub stars~2.4k tokensUpdated 2 mo ago
    SecurityAuto-check passed
  • Ctf Osint

    ljagiello/ctf-skills

    Provides open source intelligence techniques for CTF challenges.

    3.4k GitHub starsUsed in 1 repo~2.3k tokens
    SecurityAuto-check: notes
  • ShadowBroker Intelligence Client

    BigBodyCobain/Shadowbroker

    Lets an agent query a ShadowBroker OSINT platform for tracked flights, ships, satellites and news, and place its findings on the map as intel pins.

    11k GitHub stars~8.9k tokensUpdated today
    SecurityAuto-check: warnings
  • Awesome Osint Operator

    shoyann/RZK-The-Hunter

    Ethical, evidence-first OSINT planning, tool selection, verification, monitoring, reporting, and guarded official wanted/fugitive-person location intelligence using a structured catalog adapted from…

    141 GitHub stars~4.8k tokensUpdated yesterday
    SecurityAuto-check passed
  • Run Claude Osint

    elementalsouls/Claude-OSINT

    Build, validate, and run the claude-osint skills repo — check SKILL.md frontmatter, run the secretscan.py and h1reference.py helpers, run sync-skill-content.sh, run the smoke test.

    2.8k GitHub stars~1.2k tokensUpdated today
    SecurityAuto-check passed
  • Osint

    smixs/osint-skill

    Conduct deep OSINT research on individuals. An agent skill from smixs/osint-skill.

    141 GitHub stars~5.5k tokensUpdated 7 mo ago
    SecurityAuto-check passed

More from gug007/lpm

All 12 skills in this repo
  • Short

    gug007/lpm

    Make a short vertical (9:16) lpm lesson that feels native to TikTok, Reels and Shorts: a payoff-first hook, fast push-ins that follow the action, word-by-word burned-in captions, numbered step…

    152 GitHub stars~3.3k tokensUpdated today
    Auto-check passed
  • Short Race

    gug007/lpm

    Make a short vertical (9:16) video that races two AI models on the same prompt in lpm, one above the other: Run in duplicates puts each model in its own copy of the project, shown as two rows, the…

    152 GitHub stars~4.3k tokensUpdated today
    Auto-check passed
  • Lpm Config

    gug007/lpm

    Create and edit lpm YAML configs for projects, duplicates, worktree metadata, services, actions, header and footer button zones and zone layers, terminals, profiles, SSH projects, and shared config…

    152 GitHub stars~1.6k tokensUpdated today
    Auto-check passed
  • Make the App Store screenshots for lpm Link (iPhone 6.3" 1206x2622 and iPad 13" 2064x2752) from the current mobile/ source: a screenshot build of the app opens each screen straight into Demo Mode…

    152 GitHub stars~1.2k tokensUpdated today
    Auto-check passed
  • Short Publish

    gug007/lpm

    Post a finished vertical lesson from ~/Movies/lpm-lessons/tiktok/<slug/ to YouTube Shorts (LPM channel, through Chrome) and TikTok (@lpm06557, from the user's iPhone through iPhone Mirroring) in…

    152 GitHub stars~3.1k tokensUpdated today
    Auto-check passed
  • Record the App Store review demo video for lpm Link: the lpm desktop app and lpm Link on a physical iPhone (live through iPhone Mirroring) side by side, pairing and then controlling the Mac from the…

    152 GitHub stars~2.4k tokensUpdated today
    Auto-check passed

Works with

Categories

Questions about Short Game

What does Short Game do?

Make a short vertical (9:16) video where two AI models build the same self-playing game in lpm, one above the other, and both games then play live in lpm's browser. Short Game is an agent skill from gug007/lpm. Make a short vertical (9:16) video where two AI models build the same self-playing game in lpm, one above the other, and both games then play live in lpm's browser.

When should I use Short Game?

Short Game fits situations like: the user asks for a TikTok; short where models build a game; such as opus 5.5 high vs gemini 3.1 pro build a 3D game; Claude vs GPT 6: Opus 5.5 high vs Astra high build a 3D game.

How do I install Short Game in Claude Code?

Run `npx skills add gug007/lpm --skill short-game -a claude-code`. Or copy the skill folder (.claude/skills/short-game in gug007/lpm) into .claude/skills/short-game in your project. Claude Code loads it when a task matches its description.

How do I install Short Game in Codex?

Run `npx skills add gug007/lpm --skill short-game -a codex`. Or copy the skill folder (.claude/skills/short-game in gug007/lpm) into .agents/skills/short-game in your project. Codex loads it when a task matches its description.

Can I use Short Game in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add gug007/lpm --skill short-game -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/short-game, .gemini/skills/short-game, .github/skills/short-game and .opencode/skills/short-game in your project.

What does Short Game need to run?

Going by SKILL.md and its folder, Short Game needs JavaScript for the scripts in its folder and the command-line tools its instructions call (node). Our summary lists: Node.js.

Does Short Game access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Short Game safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Short Game use?

Short Game is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Short Game use?

About 2.1k tokens (SKILL.md is roughly 8.3k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Short Game?

Skills that share tags, products or a category with Short Game: Metabigor OSINT Recon (j3ssie/metabigor, 1.9k stars), Ctf Osint (ljagiello/ctf-skills, 3.4k stars), ShadowBroker Intelligence Client (BigBodyCobain/Shadowbroker, 11k stars) and Awesome Osint Operator (shoyann/RZK-The-Hunter, 141 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Short Game?

gug007 (a GitHub user) maintains it in gug007/lpm, which has 152 GitHub stars. The repository holds 12 skills in this directory. The repository was last updated on October 10, 2026.

Source: gug007/lpm on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.