charleswiltgen/axiomMIT6 files

Axiom Games

Use when building ANY 2D or 3D game with SpriteKit, SceneKit, or RealityKit, or adding touch controls or game controller support. Covers scene graphs, ECS, physics, actions, game loops, rendering, TouchController, GCController.

Specification
Skill ID
charleswiltgen/axiom/axiom-games
Publisher
charleswiltgen
Repository
axiom
Installs
0
Files
6
License
MIT
Synced
Sep 23, 2026
How to use it

Open any RiverX project, open the Skills panel in the chat, and search for this identifier. The files are fetched from the source repository at install time.

charleswiltgen/axiom/axiom-gamesInstalls these files
  • SKILL.md
  • skills/game-input.md
  • skills/spritekit-auditor.md
  • skills/spritekit-diag.md
  • skills/spritekit-ref.md
  • skills/spritekit.md

What this skill tells the agent

Games

You MUST use this skill for ANY game development, SpriteKit, SceneKit, RealityKit, touch controls, game controller, or interactive simulation work.

<!-- AXIOM_AUDITOR_INLINE_BEGIN — auto-maintained by scripts/build-inlined-auditors.ts; do not hand-edit -->

Not on Claude Code? Where this router says "Launch some-auditor agent", read that auditor's file in this suite and follow it inline — the same procedure, needing only file search and read. Available here: skills/spritekit-auditor.md. Agents that need Bash — builds, tests, simulators, crash symbolication — stay Claude Code-only; there is no inline equivalent for those.

<!-- AXIOM_AUDITOR_INLINE_END -->

Quick Reference

Symptom / TaskReference
Building a SpriteKit gameSee skills/spritekit.md
Adding touch controls to a game (TouchController)See skills/game-input.md
Game controller input (GCController, polling vs handlers)See skills/game-input.md
Controller Home button settings, spatial accessories OS27See skills/game-input.md
Game window resizing, orientation lock, UIRequiresFullScreen OS27See axiom-uikit (skills/uikit-modernization.md)
SpriteKit API lookupSee skills/spritekit-ref.md
Physics contacts not firingSee skills/spritekit-diag.md
Frame rate drops (SpriteKit)See skills/spritekit-diag.md
Touches not registeringSee skills/spritekit-diag.md
Memory spikes in gameplaySee skills/spritekit-diag.md
Coordinate confusionSee skills/spritekit-diag.md
Scene transition crashesSee skills/spritekit-diag.md
Objects tunneling through wallsSee skills/spritekit-diag.md
SpriteKit node/action referenceSee skills/spritekit-ref.md
SceneKit maintenance/migrationSee axiom-graphics (skills/scenekit.md)
SceneKit API / migration mappingSee axiom-graphics (skills/scenekit-ref.md)
RealityKit (3D, ECS, AR)See axiom-graphics (skills/realitykit.md)
RealityKit API referenceSee axiom-graphics (skills/realitykit-ref.md)
RealityKit diagnosticsSee axiom-graphics (skills/realitykit-diag.md)
RealityKit 27 game features (navmesh, LOD, splats)See axiom-graphics (skills/realitykit-ref.md Part 10)
Long-session game performance tracing (metalperftrace)See axiom-graphics (skills/display-performance.md Part 12)
Porting a Mac/Windows game to MetalSee axiom-graphics (skills/metal-migration.md)
In-game content, asset packs, IAPSee axiom-integration (skills/background-assets.md, skills/in-app-purchases.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)
  • 27-cycle game-engine layer: navigation mesh + pathfinding, behavior trees, animation graphs, LOD, Gaussian splats → See axiom-graphics (skills/realitykit-ref.md Part 10)

Game performance and porting:

  • Long-session game traces, metalperftrace CLI, Game Performance Overview template → See axiom-graphics (skills/display-performance.md Part 12)
  • Metal migration, shader conversion → See axiom-graphics (skills/metal-migration.md)

In-game content and monetization:

  • Apple-Hosted Background Assets, asset packs, Steam depot conversion → See axiom-integration (skills/background-assets.md)
  • In-app purchase, StoreKit views → See axiom-integration (skills/in-app-purchases.md)

Windowing and orientation (OS27):

  • Every app resizes at 27, iPhone included. UIRequiresFullScreen now means discrete snap-resizing for games (not a fullscreen opt-out); orientation lock is a preference; minimum size via sizeRestrictions → See axiom-uikit (skills/uikit-modernization.md)
  • Game runs in iPhone Mirroring: trackpad/mouse input reaches custom gestures as indirect events, and the scene always reports portrait → See axiom-uikit (skills/uikit-modernization.md)
  • Metal drawable sizing, render-target reallocation, and quality throttling during live resize → See axiom-graphics (skills/resizable-rendering.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 -> "skills/game-input.md" [label="touch controls / game controllers"];
    what -> "axiom-graphics/scenekit" [label="SceneKit (3D legacy)"];
    what -> "axiom-graphics/realitykit" [label="RealityKit (3D modern)"];
    what -> "axiom-graphics/metal-migration" [label="porting (Metal)"];

    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"];
}
  1. Building/designing a 2D SpriteKit game? → skills/spritekit.md
  2. How to use a specific SpriteKit API? → skills/spritekit-ref.md
  3. SpriteKit broken or performing badly? → skills/spritekit-diag.md
  4. Adding touch controls, or handling game controller input? → skills/game-input.md
  5. Maintaining existing SceneKit code? → See axiom-graphics (skills/scenekit.md)
  6. SceneKit API reference or migration mapping? → See axiom-graphics (skills/scenekit-ref.md)
  7. Building new 3D game or experience? → See axiom-graphics (skills/realitykit.md)
  8. How to use a specific RealityKit API? → See axiom-graphics (skills/realitykit-ref.md)
  9. RealityKit entity not visible, gestures broken, performance? → See axiom-graphics (skills/realitykit-diag.md)
  10. Migrating SceneKit to RealityKit? → See axiom-graphics (skills/scenekit.md) (migration tree) + See axiom-graphics (skills/scenekit-ref.md) (mapping table)
  11. Building AR game? → See axiom-graphics (skills/realitykit.md)
  12. Porting a Mac/Windows game to Apple platforms? → See axiom-graphics (skills/metal-migration.md)
  13. Unlocking in-game content (asset packs, IAP)? → See axiom-integration (skills/background-assets.md, skills/in-app-purchases.md)
  14. Game needs fullscreen/orientation lock, or breaks when its window resizes? → See axiom-uikit (skills/uikit-modernization.md)
  15. Want automated SpriteKit code scan? → spritekit-auditor agent

Automated Scanning

SpriteKit audit → Launch spritekit-auditor agent or /axiom:audit spritekit

Detects anti-patterns AND architectural gaps:

  • Physics bitmask issues (default 0xFFFFFFFF, missing contactTestBitMask, magic numbers)
  • Draw call waste (SKShapeNode in gameplay, missing texture atlases)
  • Node accumulation and runaway spawn-in-update() without cleanup
  • Action memory leaks (strong self, .repeatForever without withKey:)
  • Coordinate confusion (touch.location(in: self.view) instead of in: self)
  • Silent input dead zones (custom touchesBegan without isUserInteractionEnabled)
  • Missing object pooling for hot spawns
  • Missing/ungated debug overlays
  • Leaked scenes (transition without removeAllActions() and child cleanup)
  • Missing time-step clamping → spiral-of-death teleports bodies through walls
  • HUD attached to scene root instead of camera (drifts with scrolling)
  • Fast bodies without usesPreciseCollisionDetection (tunneling)

Scores: PERFORMANT / DEGRADED / UNPLAYABLE

Critical Patterns

SpriteKit (skills/spritekit.md):

  • PhysicsCategory struct with explicit bitmasks (default 0xFFFFFFFF causes phantom collisions)
  • Camera node pattern for viewport + HUD separation
  • SKShapeNode pre-render-to-texture conversion

Use this skill in a project

Open any RiverX project, search the Skills panel for charleswiltgen/axiom/axiom-games, and install it in one click.

Use this skill