analyze_project
Analyze the entire RPG Maker project with multiple lenses: overview for health summary, validation for consistency checks, graph for map transfers, usage tracking, and search.
Instructions
Read-only project intelligence: builds (and caches) an in-memory model of the WHOLE project so you can reason about it instead of re-reading files. view selects the lens: "overview" (default) returns game title, entity/map/event counts, a health summary (errors/warnings/info) with the top issues, and any maps unreachable from the start map — the fastest way to understand a project you did not build; "index" returns the structured digest (every map with its event count, common events, and only the NAMED switches/variables); "validate" runs every consistency check (broken transfers to non-existent maps, MapInfos entries whose Map file is missing, events that call missing common events / items / weapons / armors / troops / animations, duplicate database IDs, named-but-unused switches/variables, bad starting position, unreachable maps) returning {issueCount, bySeverity, issues[]}, optionally filtered by severity; "graph" returns the map transfer network (nodes, directed edges) plus reachability from the start map; "usage" answers "what uses X?" — pass kind (switch/variable/common_event/item/weapon/armor/troop/animation/actor/state/map) and id to get every event, common event and troop that references it, with read/write roles for switches/variables; "explain" reasons about one thing — target "switch"/"variable" + id tells you whether it is set, read, gated, a dead write, or never-set (the usual reason a door/event never triggers), and target "map" + id reports incoming transfers, what becomes unreachable if it is deleted, and whether it is the start map; "ast" parses one event page (mapId + eventId, optional page) or a common event (commonEventId) into a logical tree with a readable outline; "plugins" fuses js/plugins.js with each plugin file's @plugindesc/@author/@param/@command/@help header so you can adapt to the project's OWN systems instead of emitting vanilla events (and flags configured plugins whose file is missing); "critique" reviews ONE map (mapId) like a game designer — dead space, empty/cluttered balance, event distribution across quadrants, floor monotony, fragmented walkable regions — returning metrics plus justified, actionable suggestions and a rough score; "refactor" finds command sequences copy-pasted across events/common events and suggests extracting them into a Common Event; "search" ranks the project's human-readable text (map/NPC names, dialogue, item/skill descriptions, notes) against a free-text query like "the blacksmith" or "the dark forest". Nothing is written. Pair with the editor tools to act on what you find.
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 | |
| severity | No | view "validate": keep only issues of this severity | |
| commonEventId | No | view "ast": parse this common event instead of a map event |