Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
ar9av avatar

Manifest Auditor

  • 1 installs
  • 1 repo stars
  • Updated August 3, 2026
  • ar9av/game-exa

manifest-auditor is a static-analysis skill that cross-references animation and texture keys in a generated Phaser Game.js against manifest.json to catch key-mismatch bugs before the browser opens.

About

This skill runs static analysis on codesmith-generated Game.js, extracting every animation key and texture key and checking each against manifest.json. It catches the most common class of silent Phaser failures, mismatched key names, before the dev server starts. A developer runs it after code generation and after refiner patches to surface key mismatches to the refiner for correction.

  • Cross-references every animation and texture key in Game.js against manifest.json
  • Catches 'Animation not found' and 'Texture not found' bugs in milliseconds without a browser
  • Emits a JSON issue report with exit codes and optional --fix corrections

Manifest Auditor by the numbers

  • 1 all-time installs (skills.sh)
  • Ranked #1,750 of 2,153 Testing & QA skills by installs in the Skillselion catalog
  • Data as of Aug 4, 2026 (Skillselion catalog sync)
At a glance

manifest-auditor capabilities & compatibility

Free; local static analysis with no API calls.

Capabilities
palette enforcer · static analysis · code review
Use cases
testing · code review · debugging
Pricing
Free
From the docs

What manifest-auditor says it does

Static analysis of Game.js that cross-references every animation key and texture key against manifest.json.
SKILL.md
Catches the most common class of silent Phaser failures — mismatched key names — in milliseconds without a browser.
SKILL.md
npx skills add https://github.com/ar9av/game-exa --skill manifest-auditor

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs1
repo stars1
Last updatedAugust 3, 2026
Repositoryar9av/game-exa

What it does

Statically validate a generated Phaser Game.js against its manifest to catch key-mismatch bugs before playtesting.

Who is it for?

Validating a generated Phaser game's key consistency before running it.

Skip if: Non-Phaser projects or runtime/gameplay testing.

When should I use this skill?

After codesmith writes Game.js and before starting the dev server, and after refiner patches.

What you get

A JSON report of key-mismatch errors and warnings with suggested corrections, catchable before playtesting.

  • JSON issue report
  • manifest-key-mismatch failures for the refiner

By the numbers

  • 3 exit codes (0 ok, 5 errors, 3 missing files)

Files

SKILL.mdMarkdownGitHub ↗

Manifest Auditor — Key Consistency Check

Scans the codesmith-generated Game.js for every string literal used as an animation key or texture key, then checks each against the manifest. Catches the most common class of silent Phaser failures — mismatched key names — in milliseconds without a browser.

When to use

After codesmith writes src/scenes/Game.js, before starting the dev server. Also run after refiner patches to catch regressions.

What it checks

Animation keys

Patterns: .play('KEY'), .play("KEY"), .chain('KEY'), .chain("KEY")

Valid animation keys are derived from manifest.sprites:

for each sheet s:
  for each row r in s.rows:
    for each col c in s.cols:
      valid key = `${r}-${c.toLowerCase()}`

Example: KNIGHT-walk, SLIME-idle, ORB-idle.

Texture keys

Patterns: this.add.sprite(x, y, 'KEY'), this.add.image(x, y, 'KEY'), this.physics.add.sprite(x, y, 'KEY'), this.textures.get('KEY'), this.load.image('KEY', ...), this.load.spritesheet('KEY', ...)

Valid texture keys:

  • Each s.textureKey from manifest.sprites (e.g. entities-1)
  • 'tiles' — always present
  • 'bg' — present when manifest.bg exists

Frame indices

Pattern: setFrame(N) or .frame = N — warns if N is out of range for the sprite sheet cell count (rows.length * cols.length).

Output contract

{
  "ok": true,
  "errors": 0,
  "warnings": 2,
  "total": 2,
  "issues": [
    {
      "kind": "unknown-anim-key",
      "key": "KNIGHT-run",
      "line": 87,
      "suggestion": "Did you mean KNIGHT-walk?",
      "severity": "error"
    },
    {
      "kind": "unknown-texture-key",
      "key": "Player",
      "line": 34,
      "suggestion": "Texture keys are case-sensitive. Manifest has: entities-1",
      "severity": "error"
    }
  ]
}

Exit code 0 = all OK, 5 = errors found, 3 = missing files.

Process

1. Run scripts/audit_manifest.mjs <project-dir> after codesmith writes Game.js. 2. If errors: surface to refiner as manifest-key-mismatch failures. Refiner fixes key strings. 3. Re-run. If clean, proceed to playtester.

Feed errors into refiner as:

{ "kind": "manifest-key-mismatch", "message": "KNIGHT-run not in manifest (line 87). Use KNIGHT-walk." }

Scripts

  • scripts/audit_manifest.mjs <project-dir> [--fix] — static analysis. --fix applies best-guess corrections in-place.

Related skills

FAQ

Does it need a browser?

No, it catches key mismatches in milliseconds without opening a browser.

Can it fix issues automatically?

Yes, running the audit script with --fix applies best-guess corrections in-place.

Testing & QAtestingfrontend

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.