| name | mx-impact |
| description | Blast-radius analysis for any Mendix entity / attribute / microflow / page. Read-only. Answers "what breaks if I rename / delete / change X?" before you change anything. Auto-invoke before any rename, delete, or signature change in a Mendix project; also invocable as /mx-impact <target>. Wraps mxcli's callers, callees, refs, and impact subcommands. Zero risk -- never writes. |
mx-impact
Read-only blast-radius analysis. The single most useful Mendix skill: tells you exactly what depends on a given entity / attribute / microflow / page BEFORE you rename or change it. Direct counter to "I renamed Customer.Email and now five microflows are silently broken."
North star
Read what's connected before you change what's connected.
Mendix has no rename-refactor that walks the entire graph reliably across microflows + pages + nanoflows + Java actions + REST consumes. mxcli's impact does the walk for you.
When to invoke
Auto-invoke when the request involves:
- Renaming an entity, attribute, association, microflow, or page.
- Deleting any of the above.
- Changing a microflow signature (parameter add/remove/type-change).
- Changing an entity attribute type or making it required/non-required.
- Refactoring that touches a shared module or marketplace integration.
Do not invoke for:
- Pure new-creation work (no existing dependents).
- Read-only questions about behavior.
- Bug fixes inside a single microflow that don't change its signature.
What it does
- Verify environment.
mxcli --version available? If not, point Neo at ~/.claude/lib/Setup-Mxcli.ps1.
- Is the cwd a Mendix project? (
*.mpr present?)
- Run the impact pass for the target. Use mxcli subcommands in this order:
mxcli describe <target> -- canonical name + module + kind.
mxcli refs <target> -- every reference site.
mxcli callers <target> (for microflows / nanoflows).
mxcli callees <target> (for context -- what does THIS call?).
mxcli impact <target> -- composite walk, if available.
- Synthesize the impact report:
## /mx-impact <target>
**Resolved target:** <Module.Name> (kind: <entity|attribute|microflow|page|...>)
**Direct references (N):**
- <file:position> -- <kind of use>
**Microflow callers (N):**
- <Module.Microflow> -- <one-line context>
**Microflow callees (for context):**
- <Module.Microflow>
**Pages that bind this:**
- <Module.Page> -- <data-view / list-view / etc.>
**Cross-module dependencies:**
- <Module> -- <how>
**Marketplace module references:**
- <Module> -- <how>
**Risk verdict:**
- LOW (≤2 references, single module)
- MEDIUM (3-10 refs OR cross-module)
- HIGH (>10 refs OR marketplace OR public REST consumed)
**Suggested approach:**
- <e.g., "rename in place; impact is contained" / "deprecate-then-delete over two cycles" / "blocked -- talk to team owning marketplace dependency first">
- Stop. Read-only. No writes.
Hard rules
- Read-only, period. No flag, no edge case, no "let me just" lets this skill mutate the project.
- Never propose a rename or delete in the report itself. The report is descriptive; the decision is Neo's.
- Resolve the target unambiguously first. If
<target> matches multiple things (e.g., two attributes named Email in different entities), list both and ask which Neo means. Do not guess.
- Always include the marketplace-module sweep. Marketplace modules are the most common source of "I didn't know X depended on this" surprises.
- If mxcli isn't installed, fall back to grep. Not as accurate, but better than nothing: grep
userlib/, *.mpr is binary so skip, but theme/ and widgets/ and any .json configs can grep cleanly. Mark grep-based findings with "(grep fallback -- not authoritative)."
Anti-patterns this skill exists to prevent
- Renaming an attribute and discovering at runtime that a marketplace module references it by string.
- Deleting a microflow that's the action of a button on a page you never opened.
- Changing a parameter signature and only finding the broken callers via studio errors hours later.
Cross-reference
- Discovery counterpart:
~/.claude/skills/mx-discover/SKILL.md (run before design; this skill runs before change).
- Doctor:
~/.claude/skills/mx-doctor/SKILL.md (project health vs target impact).
- Mendix specialist:
~/.claude/agents/mendix-expert.md.
- mxcli installer:
~/.claude/lib/Setup-Mxcli.ps1.