Axiom axiom-games
Use when building ANY 2D or 3D game with SpriteKit, SceneKit, or RealityKit. Covers scene graphs, ECS, physics, actions, game loops, rendering, SwiftUI integration.
git clone https://github.com/CharlesWiltgen/Axiom
T=$(mktemp -d) && git clone --depth=1 https://github.com/CharlesWiltgen/Axiom "$T" && mkdir -p ~/.claude/skills && cp -r "$T/.claude-plugin/plugins/axiom/skills/axiom-games" ~/.claude/skills/charleswiltgen-axiom-axiom-games && rm -rf "$T"
.claude-plugin/plugins/axiom/skills/axiom-games/SKILL.mdGames
You MUST use this skill for ANY game development, SpriteKit, SceneKit, RealityKit, or interactive simulation work.
Quick Reference
| Symptom / Task | Reference |
|---|---|
| Building a SpriteKit game | See |
| SpriteKit API lookup | See |
| Physics contacts not firing | See |
| Frame rate drops (SpriteKit) | See |
| Touches not registering | See |
| Memory spikes in gameplay | See |
| Coordinate confusion | See |
| Scene transition crashes | See |
| Objects tunneling through walls | See |
| SpriteKit node/action reference | See |
| SceneKit maintenance/migration | See axiom-graphics (skills/scenekit.md) |
| SceneKit API / migration mapping | See axiom-graphics (skills/scenekit-ref.md) |
| RealityKit (3D, ECS, AR) | See axiom-graphics (skills/realitykit.md) |
| RealityKit API reference | See axiom-graphics (skills/realitykit-ref.md) |
| RealityKit diagnostics | See axiom-graphics (skills/realitykit-diag.md) |
External Routes
These topics are part of the broader games/3D domain but live in separate skill suites:
SceneKit (3D — soft-deprecated iOS 26):
- Maintenance and migration planning → See axiom-graphics (skills/scenekit.md)
- API reference and migration mapping → See axiom-graphics (skills/scenekit-ref.md)
RealityKit (3D — modern):
- ECS architecture, AR, SwiftUI integration → See axiom-graphics (skills/realitykit.md)
- API reference → See axiom-graphics (skills/realitykit-ref.md)
- Troubleshooting → See axiom-graphics (skills/realitykit-diag.md)
Decision Tree
digraph games { start [label="Game development" shape=ellipse]; what [label="Which framework?" shape=diamond]; sprite_what [label="SpriteKit need?" shape=diamond]; start -> what; what -> sprite_what [label="SpriteKit (2D)"]; what -> "axiom-graphics/scenekit" [label="SceneKit (3D legacy)"]; what -> "axiom-graphics/realitykit" [label="RealityKit (3D modern)"]; sprite_what -> "skills/spritekit.md" [label="architecture/patterns"]; sprite_what -> "skills/spritekit-ref.md" [label="API lookup"]; sprite_what -> "skills/spritekit-diag.md" [label="broken/slow"]; }
- Building/designing a 2D SpriteKit game? →
skills/spritekit.md - How to use a specific SpriteKit API? →
skills/spritekit-ref.md - SpriteKit broken or performing badly? →
skills/spritekit-diag.md - Maintaining existing SceneKit code? → See axiom-graphics (skills/scenekit.md)
- SceneKit API reference or migration mapping? → See axiom-graphics (skills/scenekit-ref.md)
- Building new 3D game or experience? → See axiom-graphics (skills/realitykit.md)
- How to use a specific RealityKit API? → See axiom-graphics (skills/realitykit-ref.md)
- RealityKit entity not visible, gestures broken, performance? → See axiom-graphics (skills/realitykit-diag.md)
- Migrating SceneKit to RealityKit? → See axiom-graphics (skills/scenekit.md) (migration tree) + See axiom-graphics (skills/scenekit-ref.md) (mapping table)
- Building AR game? → See axiom-graphics (skills/realitykit.md)
- Want automated SpriteKit code scan? →
agentspritekit-auditor
Automated Scanning
SpriteKit audit → Launch
spritekit-auditor agent or /axiom:audit spritekit
- Physics bitmask issues
- Draw call waste (SKShapeNode in gameplay)
- Node accumulation (missing cleanup)
- Action memory leaks (strong self)
- Coordinate confusion
- Touch handling issues
- Missing object pooling
- Missing debug overlays
Critical Patterns
SpriteKit (
skills/spritekit.md):
- PhysicsCategory struct with explicit bitmasks (default
causes phantom collisions)0xFFFFFFFF - Camera node pattern for viewport + HUD separation
- SKShapeNode pre-render-to-texture conversion
in all[weak self]
closuresSKAction.run- Delta time with spiral-of-death clamping
SpriteKit diagnostics (
skills/spritekit-diag.md):
- 5-step bitmask checklist (2 min vs 30-120 min guessing)
- Debug overlays as mandatory first diagnostic step
- Tunneling prevention flowchart
- Memory growth diagnosis via
trendingshowsNodeCount
Anti-Rationalization
| Thought | Reality |
|---|---|
| "SpriteKit is simple, I don't need a skill" | Physics bitmasks default to 0xFFFFFFFF and cause phantom collisions. The bitmask checklist catches this in 2 min. |
| "I'll just use SKShapeNode, it's quick" | Each SKShapeNode is a separate draw call. 50 of them = 50 draw calls. spritekit.md has the pre-render-to-texture pattern. |
| "I can figure out the coordinate system" | SpriteKit uses bottom-left origin (opposite of UIKit). Anchor points add another layer. spritekit-diag.md Symptom 6 resolves in 5 min. |
| "Physics is straightforward" | Three different bitmask properties, modification rules inside callbacks, and tunneling edge cases. spritekit.md Section 3 covers all gotchas. |
| "The performance is fine on my device" | Performance varies dramatically across devices. spritekit.md Section 6 has the debug overlay checklist. |
| "SceneKit is fine for our new project" | SceneKit is soft-deprecated iOS 26. No new features, only security patches. axiom-scenekit has the migration decision tree. |
| "ECS is overkill for a simple 3D app" | You're already using ECS — Entity + ModelComponent. axiom-realitykit shows how to scale from simple to complex. |
| "I don't need collision shapes for taps" | RealityKit gestures require CollisionComponent. axiom-realitykit-diag diagnoses this in 2 min vs 30 min guessing. |
Example Invocations
User: "I'm building a SpriteKit game" → See
skills/spritekit.md
User: "My physics contacts aren't firing" → See
skills/spritekit-diag.md
User: "How do I create a physics body from a texture?" → See
skills/spritekit-ref.md
User: "Frame rate is dropping in my game" → See
skills/spritekit-diag.md
User: "What action types are available?" → See
skills/spritekit-ref.md
User: "Objects pass through walls" → See
skills/spritekit-diag.md
User: "I need to build a 3D game" → Invoke: See axiom-graphics (skills/realitykit.md)
User: "I'm migrating from SceneKit to RealityKit" → Invoke: See axiom-graphics (skills/scenekit.md) + See axiom-graphics (skills/scenekit-ref.md)
User: "Can you scan my SpriteKit code for common issues?" → Launch
spritekit-auditor agent