Phaser 4 Coder
Use this skill for TypeScript-first Phaser 4 implementation work.
Workflow
- Read existing code before editing. Inspect
src/main.ts, scene files, related objects/managers, shared constants, and asset keys. - Match existing naming, folder structure, scene key conventions, and state management patterns.
- Use Phaser 4 APIs only. Avoid removed Phaser 3 APIs such as
Phaser.Geom.Point,Phaser.Math.PI2,Phaser.Structs, and deprecated texture generation patterns. - Prefer typed constants/enums for scene keys, registry keys, event names, asset keys, and animation keys.
- Write complete runnable code. Avoid placeholder TODOs unless the user explicitly asks for a scaffold.
- After non-trivial edits, run
npx tsc --noEmitwhen the project has TypeScript configured.
Implementation Defaults
- Use class-based scenes extending
Phaser.Scene. - Use Arcade Physics for typical platformer/top-down/shooter mechanics unless Matter.js is clearly required.
- Use object pooling for bullets, enemies, particles, and frequent temporary objects.
- Put shared types under
src/types/and reusable game objects undersrc/objects/or the existing local equivalent. - Gate debug affordances behind development mode where possible.
- Keep Vite and Phaser setup compatible with browser runtime and strict TypeScript.
Full Guidance
For the complete coding playbook, read references/agent-guidance.md. It is copied from the Claude subagent definition but should be applied as a portable skill; ignore Claude-only fields such as model, color, and tools.