
improve-game
Analyze a game, find what needs work, and implement the highest-impact improvements. Use when the user says "improve my game", "make my game better", "fix my game", "what's wrong with my game", or "polish my game". Run repeatedly — each pass finds the next most impactful thing to fix. Do NOT use for adding specific new features (use add-feature) or initial game creation (use viral-game for one-shot builds, make-game for milestone-driven projects).
- Installs
- 1.1K
- Last 24h
- —
- Trending rank
- —
- Security
- Not audited
Install
Works with every agent the skills CLI supports.
npx skills add https://github.com/playableintelligence/game-creator --skill improve-game- 01
Install
Run the command in your project. The CLI asks which agents to install for.
- 02
Describe the task
Ask your agent for something this skill covers. It loads improve-game automatically when relevant.
- 03
Review the result
The agent follows the SKILL.md steps, scripts and references bundled with the skill.
SKILL.md
The instructions your agent reads when the skill is triggered.
Performance Notes
- Take your time to do this thoroughly
- Quality is more important than speed
- Do not skip validation steps
Improve Game
Make your game better. This command deep-audits gameplay, visuals, code quality, performance, and player experience, then implements the highest-impact improvements. Run it as many times as you want — each pass finds the next most impactful thing to fix.
Instructions
Improve the game in the current directory. If $ARGUMENTS specifies a focus area (e.g., "gameplay", "visuals", "performance", "polish", "game-over"), weight that area higher but still audit everything.
Step 1: Deep audit
Read the entire game codebase to build a complete picture:
package.json— engine, dependencies, scriptssrc/core/Constants.js— all configuration valuessrc/core/EventBus.js— all events and their usagesrc/core/GameState.js— state shape and reset logicsrc/core/Game.js(orGameConfig.js) — orchestrator and game loop- Every file in
src/scenes/orsrc/systems/— gameplay logic - Every file in
src/entities/— game objects - Every file in
src/ui/— game over, overlays - Every file in
src/audio/— music and sound effects index.html— markup, overlays, styles, viewport metasrc/systems/InputSystem.js— input handling, mobile support (gyro, joystick, touch)tests/— test coverage and quality
Don't skim. Read every file completely so you understand the full picture before making recommendations.
Step 2: Score and diagnose
Rate each area on a 1–5 scale (1 = broken/missing, 3 = functional but basic, 5 = polished and complete). Present a diagnostic table:
| Area | Score | Diagnosis |
|---|---|---|
| Gameplay feel | Is the core loop fun? Are controls responsive? Does difficulty ramp? | |
| Visual polish | Backgrounds, colors, particles, animations, screen effects | |
| Game Over & UI | Game over screen, transitions, restart flow, buttons | |
| Audio | BGM for each state, SFX for each action, volume balance, mute toggle | |
| Code architecture | EventBus, GameState, Constants, no circular deps | |
| Restart safety | Does GameState.reset() fully clean up? 3 restarts identical? No stale listeners/timers? | |
| Performance | Delta capping, object pooling, disposal, no leaks | |
| Player experience | Onboarding, feedback, difficulty curve, replayability | |
| Mobile support | Touch input, responsive layout, gyro/joystick, 44px touch targets | |
| Play.fun safe zone | All UI elements below SAFE_ZONE.TOP (~8% / 75px)? Nothing hidden behind Play.fun widget? | |
| Gameplay invariants | Can the player score? Can the player die? Do game-over buttons show text? Does render_game_to_text() return valid JSON? | |
| Entity sizing | Are characters large enough to read? Character-driven games need 12–15% of GAME.WIDTH. Proportional sizing (GAME.WIDTH * ratio), not fixed pixels? | |
| Test coverage | Boot, gameplay, scoring, restart, visual, perf tests |
Overall score: X / 65
Step 3: Improvement plan
From the audit, identify the top 5–8 improvements ranked by player impact. For each one:
- Title — short name (e.g., "Add difficulty progression")
- Area — which category it improves
- Impact — why this matters to the player
- What to do — plain-English description of the change
- Files touched — which files will be created or modified
Format as a numbered list. Put the highest-impact items first.
Present the plan to the user and ask which improvements to implement. Options:
- "All" — implement everything
- Specific numbers — implement selected items
- "Top 3" — just the most impactful
Wait for the user to choose before implementing.
Step 4: Implement
For each selected improvement, follow these rules:
- Constants first — add all new config values to
Constants.js. Zero hardcoded values. - Events next — add any new events to
EventBus.jsusingdomain:actionnaming. - State if needed — add new state fields to
GameState.jswith proper reset. - New files in proper directories — entities in
entities/, systems insystems/, UI inui/. - Wire through orchestrator — register new systems in
Game.jswith proper lifecycle. - EventBus for communication — modules never import each other directly.
- Match existing code style — same patterns, naming, formatting as the rest of the project.
- Don't break what works — existing gameplay, controls, and scoring must still function identically unless the improvement specifically targets them.
After implementing each improvement, run npm run build to catch errors immediately. Fix any build errors before moving to the next improvement.
Step 5: Verify
After all improvements are implemented:
- Run
npm run build— confirm clean build with no errors - Run
npm testif tests exist — confirm all tests still pass - If tests fail because of intentional changes (new scenes, changed elements), fix the tests to match the new behavior
- If the game has visual regression tests, update snapshots:
npm run test:update-snapshots
Step 6: Report
Tell the user what changed:
Improvement report
Score: X/65 → Y/65 (+Z points)
Implemented:
- [Title] — [one-sentence summary of what changed]
- [Title] — [one-sentence summary of what changed] ...
Files created: [list new files] Files modified: [list changed files]
How to test: Run
npm run devand try:
- [specific thing to look for]
- [specific thing to look for]
Next improvements: Run
/game-creator:improve-gameagain to find the next batch.
Focus areas
When $ARGUMENTS includes a focus area keyword, weight these specific checks:
"gameplay" — core loop, controls, difficulty progression, enemy variety, power-ups, risk/reward, pacing, level design
"visuals" — load the game-designer skill and apply its full design audit (backgrounds, palette, animations, particles, transitions, typography, juice)
"performance" — delta capping, object pooling, geometry/material disposal, event listener cleanup, requestAnimationFrame usage, draw call count, texture atlas usage
"polish" — screen shake, hit pause, squash/stretch, easing curves, sound timing, button feedback, score popups, death animations, transition smoothness
"game-over" — game over screen appeal, restart flow, button styling, score display, best score display, animations. Button text must be visible — verify the createButton() pattern uses Container + Graphics + Text (Graphics first, Text second, Container interactive). If button labels are invisible, the pattern is broken. Note: games do not have title/menu screens by default (Play.fun handles the chrome). Only add a title screen if the user explicitly requests one. Score HUD is handled by the Play.fun widget — do not add a separate in-game score display. All game-over UI must be below SAFE_ZONE.TOP.
"audio" — load the game-audio skill. Check BGM coverage (every game state should have music), SFX coverage (every player action should have feedback), volume mixing, transition smoothness between tracks
"mobile" — touch input implemented (tap zones, virtual joystick, or gyroscope), responsive canvas (Phaser.Scale.FIT or CSS width:100%), 44px minimum touch targets, virtual joystick or tap zones for movement, gyroscope support for tilt games, no hover-only interactions, tested on mobile viewport (Pixel 5 emulation). Read InputSystem.js, all scene/system update() methods, index.html viewport meta, and Constants.js for touch target sizes.
"ux" — onboarding (does the player know what to do?), feedback (does every action have a response?), difficulty curve (is it too hard/easy?), replayability (is there a reason to play again?)
Example Usage
General improvement
/improve-game
Result: Deep audit → scores 38/65 → identifies top 6 improvements (difficulty progression, screen shake, better game-over, particle effects, mobile touch, restart safety) → asks which to implement → implements selected → score rises to 52/65.
Focused improvement
/improve-game gameplay
Result: Weights gameplay checks higher → finds enemy variety is low and difficulty is flat → adds 3 enemy types with distinct behaviors, progressive speed ramp, and score-based difficulty tiers.
Troubleshooting
Improvements break existing gameplay
Cause: Changes to shared systems (physics, scoring) have cascading effects. Fix: Test each improvement individually. Run existing tests after each change. Revert if a change breaks core gameplay.
Too many changes at once
Cause: Audit identified 10+ issues and all were implemented simultaneously. Fix: Prioritize top 3-5 improvements. Ship incrementally. Verify after each change.
Tips
This command is designed for iterative improvement. Run it multiple times:
- First pass: fix the biggest gaps (missing features, broken UX)
- Second pass: add polish (particles, transitions, juice)
- Third pass: fine-tune (difficulty curve, timing, balance)
Each run picks up where the last left off — previously fixed areas will score higher, surfacing new priorities.
For targeted work, use the focus area:
/game-creator:improve-game gameplayor/game-creator:improve-game visuals
FAQ
What does the improve-game skill do?
Analyze a game, find what needs work, and implement the highest-impact improvements. Use when the user says "improve my game", "make my game better", "fix my game", "what's wrong with my game", or "polish my game". Run repeatedly — each pass finds the next most impactful thing to fix. Do NOT use for adding specific new features (use add-feature) or initial game creation (use viral-game for one-shot builds, make-game for milestone-driven projects).
How do I install improve-game?
Run npx skills add https://github.com/playableintelligence/game-creator --skill improve-game in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/improve-game/ (personal) or .claude/skills/improve-game/ (project).
Which AI agents can use improve-game?
Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.
Is improve-game safe to install?
No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.
Who maintains improve-game?
It is published by playableintelligence in playableintelligence/game-creator. It has 1,096 recorded installs.
More from playableintelligence/game-creator
game-designer
playableintelligence/game-creator
Game UI/UX designer that analyzes and improves the visual polish, atmosphere, and player experience of browser games. Use when a game needs visual improvements, better backgrounds, particles, animations, screen transitions, juice/feel, or overall aesthetic upgrades.
game-assets
playableintelligence/game-creator
Game asset engineer that creates pixel art sprites, animated characters, and visual entities for browser games. Use when a game needs better character art, enemy sprites, item visuals, or any upgrade from basic geometric shapes to recognizable pixel art.
design-game
playableintelligence/game-creator
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).
phaser
playableintelligence/game-creator
Build 2D browser games with Phaser 3 using scene-based architecture and centralized state. Use when creating a new 2D game, adding 2D game features, working with Phaser, or building sprite-based web games.
game-audio
playableintelligence/game-creator
Game audio engineer using Web Audio API for procedural music and sound effects in browser games. Zero dependencies. Use when adding music or SFX to a game.
game-architecture
playableintelligence/game-creator
Game architecture patterns and best practices for browser games. Use when designing game systems, planning architecture, structuring a game project, or making architectural decisions about game code.
Popular media & creative skills
hyperframes
heygen-com/hyperframes
Read first to make, edit, animate or render any video with HyperFrames (HTML rendered to video), including launch films, explainers, music videos, charts, maps, vertical clips, title cards, captions and overlays. Holds the render contract, the work loop and what each kind of video needs.
media-use
heygen-com/hyperframes
Get or make any media for a HyperFrames video - music, sound effects, images, icons, logos, voiceover, avatar and generated video, transcripts, cutouts, colour grades and looks - with HeyGen or free local tools, and mix placed audio. Also for footage that looks dark, flat or dull, or should be stylized or hidden.
hyperframes-registry
heygen-com/hyperframes
About 450 ready-made HyperFrames blocks and components installed as editable source - transitions, overlays, titles, kinetic type, captions, charts, map overlays, 3D, camera moves. Use it before hand-building any named visual (CRT scanlines, glitch, film grain, a chart); also for hyperframes add and catalog.
hyperframes-creative
heygen-com/hyperframes
Non-animation creative direction for HyperFrames videos. Use for design spec (frame.md / design.md) handling, palettes, typography, narration, beat planning, audio-reactive visuals, composition patterns, and brand / style decisions. For atomic motion patterns and scene blueprints, use hyperframes-animation.
ai-video-generation
101-skills/superpowers
Generate AI videos with Google Veo, Seedance 2.0, HappyHorse, Wan, Grok and 40+ models via inference.sh CLI. Models: Veo 3.1, Veo 3, Seedance 2.0, HappyHorse 1.0, Wan 2.5, Grok Imagine Video, OmniHuman, Fabric, HunyuanVideo. Capabilities: text-to-video, image-to-video, reference-to-video, video editing, lipsync, avatar animation, video upscaling, foley sound. Use for: social media videos, marketing content, explainer videos, product demos, AI avatars. Triggers: video generation, ai video, text to video, image to video, veo, animate image, video from image, ai animation, video generator, generate video, t2v, i2v, ai video maker, create video with ai, runway alternative, pika alternative, sora alternative, kling alternative, seedance, happyhorse
ai-image-generation
101-skills/superpowers
Generate AI images with GPT-Image-2, FLUX, Gemini, Grok, Seedream, Reve and 50+ models via inference.sh CLI. Models: GPT-Image-2, FLUX Dev LoRA, FLUX.2 Klein LoRA, Gemini 3 Pro Image, Grok Imagine, Seedream 4.5, Reve, ImagineArt. Capabilities: text-to-image, image-to-image, inpainting, LoRA, image editing, upscaling, text rendering. Use for: AI art, product mockups, concept art, social media graphics, marketing visuals, illustrations. Triggers: flux, image generation, ai image, text to image, stable diffusion, generate image, ai art, midjourney alternative, dall-e alternative, text2img, t2i, image generator, ai picture, create image with ai, generative ai, ai illustration, grok image, gemini image, gpt image, openai image, chatgpt image