analyze_project
Inspect an entire RPG Maker project read-only, with views for validation, metrics, balance, graphs, and search to find bugs, dead content, and copied events.
Instructions
Read-only project intelligence over an in-memory model of the whole project, cached until data files change. Nothing is written. view selects the lens: "overview" (default) title, counts, a health summary with the top issues, and maps unreachable from the start map; "index" maps with event counts, common events, named switches/variables; "validate" every consistency check (transfers to missing maps, missing map files, references to missing common events/items/weapons/armors/troops/animations, duplicate IDs, unused named switches/variables, bad start position, unreachable maps, autotiles the engine cannot draw) as {issueCount, bySeverity, issues[]}, filter with severity; "graph" the map transfer network and reachability; "usage" every event, common event and troop that uses kind (switch/variable/common_event/item/weapon/armor/troop/animation/actor/state/map) id, with read/write roles; "explain" target "switch"/"variable" + id: whether it is set, read, gated, a dead write or never set (why a door never opens); target "map" + id: incoming transfers and what becomes unreachable without it; "ast" one event page (mapId, eventId, page?) or common event (commonEventId) as a logical tree with an outline; "plugins" js/plugins.js merged with each plugin's header (@plugindesc/@param/@command/@help), flagging missing files; "critique" a designer's review of one map (mapId) with suggestions and a rough score; "metrics" measurements of one map (mapId): reachability from the real entry (unreachable tiles and events are softlocks), dead space against expected (interior/dungeon/exterior), walkable skeleton (loops, critical path, linearity), tile entropy, and steps to a shop/inn/save when the map has encounters; "balance" each skill/weapon/armor/enemy against its peers (damage per MP, gold per stat point, HP per EXP), leaving each out of its own statistics; category, thresholdSd (default 2); formulas are parsed, never executed, and unreadable ones are listed; "refactor" command sequences copy-pasted across events, to extract into a common event; "search" ranks names, dialogue, descriptions and notes against a free-text query.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | views "usage"/"explain": numeric id of the switch/variable/map/entity to inspect | |
| kind | No | view "usage": what kind of entity `id` refers to | |
| page | No | view "ast": which page of the event (0-based, default 0) | |
| view | No | Which lens to apply (default "overview") | |
| limit | No | view "search": max results (default 20) | |
| mapId | No | view "ast": the map holding the event to parse | |
| query | No | view "search": free-text query, e.g. "the blacksmith", "dark forest" | |
| minLen | No | view "refactor": minimum shared command-run length to report (default 4) | |
| target | No | view "explain": what `id` refers to (default "switch") | |
| eventId | No | view "ast": the event on `mapId` to parse | |
| category | No | view "balance": analyse one category instead of all four (default "all") | |
| expected | No | view "metrics": what kind of space this map is meant to be, which sets the dead-space band (default "exterior") | |
| severity | No | view "validate": keep only issues of this severity | |
| thresholdSd | No | view "balance": how many standard deviations from its peers an entry must sit before it is flagged (default 2; raise to see only the worst) | |
| commonEventId | No | view "ast": parse this common event instead of a map event |