remix-game-best-practices
Mobile-first game creation best practices for Remix
Best use case
remix-game-best-practices is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Mobile-first game creation best practices for Remix
Teams using remix-game-best-practices should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/remix-game-best-practices/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How remix-game-best-practices Compares
| Feature / Agent | remix-game-best-practices | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Mobile-first game creation best practices for Remix
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# Game Creation Best Practices
## Mobile-First Requirements
- Build for portrait orientation only.
- Canvas must be `720x1080` (2:3 aspect ratio).
- Do not use landscape layouts or controls.
- Design for thumb-friendly interactions and readable UI.
## Mandatory Remix SDK Usage
Include the SDK script in HTML `<head>`:
- `<script src="https://cdn.jsdelivr.net/npm/@remix-gg/sdk@latest/dist/index.min.js"></script>`
Use only the supported SDK APIs:
- `window.RemixSDK.singlePlayer.actions.saveGameState({ gameState: {...} })`
- `window.RemixSDK.singlePlayer.actions.gameOver({ score: number })`
- `window.RemixSDK.onPlayAgain(() => { ... })`
- `window.RemixSDK.onToggleMute((data) => { ... })`
- `window.RemixSDK.ready()`
- `window.RemixSDK.gameState`
- `window.RemixSDK.hapticFeedback()`
## Forbidden APIs and Patterns
- Do not use `localStorage`.
- Do not use `sessionStorage`.
- Do not use `navigator.vibrate(...)`.
- Do not use `window.RemixSDK.vibrate(...)`.
- Do not use non-existent SDK methods (`save`, `checkpoint`, etc.).
## Game Over and Restart Flow
- End runs only with:
```javascript
window.RemixSDK.singlePlayer.actions.gameOver({ score: finalScore })
```
- Do not implement a custom game-over screen.
- Handle replay via `window.RemixSDK.onPlayAgain(...)`.
## State Persistence
- Persist progress only with `saveGameState`.
- Read persisted values from `window.RemixSDK.gameState` after `await window.RemixSDK.ready()`.
- Keep saved state compact and serializable.
## Haptics and Audio
- Use `window.RemixSDK.hapticFeedback()` for collisions, scoring, UI interactions, and game over.
- Respect `onToggleMute` state for all game audio.
- Use lightweight Web Audio API SFX for better mobile performance.
## Framework Rules
### Phaser (2D)
- Use global `Phaser` (no imports).
- Use scene lifecycle (`preload`, `create`, `update`).
- Use Arcade physics for collisions.
- Do not set `parent` in `Phaser.Game` config.
### Three.js + Cannon-ES (3D)
- Use globals `THREE` and `CANNON` (no imports).
- Use `requestAnimationFrame` loop.
- Include ambient + directional lighting.
- Sync mesh transforms from physics bodies every frame.
## Code and Runtime Constraints
- Write ES6 JavaScript only (no TypeScript).
- Do not use `import` statements.
- Assume browser-only runtime (no Node.js APIs).
- Define `initGame()` and call it at the end of the file.
## Validation Checklist
Before finalizing a game, verify:
- Portrait 2:3 canvas (`720x1080`).
- SDK hooks present (`gameOver`, `onPlayAgain`, `onToggleMute`).
- No forbidden storage or vibration APIs.
- Haptics integrated for meaningful gameplay events.
- Restart flow works cleanly from `onPlayAgain`.Related Skills
remix-upload-game
Upload and validate HTML game code for Remix. Use when creating or updating a draft version through the CLI, MCP tools, or direct REST calls.
remix-upload-asset
Upload images, audio, or 3D models as hosted game assets
remix-submission-rules
Validation and publish constraints for Remix game submissions
remix-shop-items
Create, update, delete, and integrate Remix shop items. Use when a game needs Bits items, consumables, one-time unlocks, tier unlocks, store icons, or purchase handling in @remix-gg/sdk code.
remix-save-game
Add save and load game state functionality via RemixSDK
remix-rest-snippets
REST client snippets for Remix agent publishing
remix-open-game
Open a game in the Remix Studio browser for preview and editing
remix-multiplayer
Enable multiplayer support for a Remix game
remix-game-sdk
Reference for the current @remix-gg/sdk runtime. Use when generating or repairing Remix game code, shop item integrations, save-state flows, multiplayer hooks, or host-safe mobile UI behavior.
remix-game-creation
Create a new game draft via the Remix API
remix-cli
Use the official Remix CLI for authentication, config inspection, game creation, uploads, and analytics. Trigger this skill when a task involves `remix login`, `remix whoami`, `.remix-cli.json`, `REMIX_API_KEY`, or terminal-based game management on Remix.
remix-api-reference
OpenAPI-first endpoint reference for Remix game publishing REST routes