Help us improve
Share bugs, ideas, or general feedback.
From apache-cayenne
Launches CayenneModeler GUI for visual database modeling: reverse engineering, relationship layout, multi-entity refactoring. Use for explicit Modeler requests only.
npx claudepluginhub apache/cayenne --plugin apache-cayenneHow this skill is triggered — by the user, by Claude, or both
Slash command
/apache-cayenne:cayenne-modelerThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
<!--
Edits Cayenne ORM model XML files — DataMaps and project descriptors — to add or modify entities, attributes, relationships, embeddables, named queries, stored procedures, and DataNodes.
Creates complex multi-entity relational data models with Mermaid classDiagram output. For advanced modeling beyond simple SQL table creation.
Designs a data model and generates paired forward/rollback SQL migrations in one pass, staged under docs/features/<slug>/migrations/. Stack-agnostic and follows the repo's own DB conventions. Useful during feature design before implementation begins.
Share bugs, ideas, or general feedback.
Launch CayenneModeler with a Cayenne project file pre-loaded, via the mcp__cayenne__open_project MCP tool.
${CLAUDE_PLUGIN_ROOT}/references/mcp-tools.md — open_project tool reference and failure modes.${CLAUDE_PLUGIN_ROOT}/references/project-layout.md — locate the project descriptor.The MCP tool needs an absolute path to a top-level project descriptor (cayenne-*.xml). Use project-layout.md to find it. If multiple descriptors exist, ask which one. Cache for the rest of the session.
If no descriptor exists yet, the user is starting from scratch. Two options:
cayenne-modeling to scaffold it), then open.For starting fresh, option 2 is simpler — but open_project does require an existing readable file.
open_projectmcp__cayenne__open_project({ "projectPath": "<absolute path to cayenne-*.xml>" })
If the tool is not available (MCP server not registered), surface cayenne-mcp-server/README.md and stop. Do not attempt to launch CayenneModeler by any other means — the bundled launcher relies on the MCP server's discovery of the Modeler installation.
The tool spawns the Modeler asynchronously, then waits up to ~15 seconds for a startup handshake. Possible return codes:
| Code | Meaning |
|---|---|
ok | Modeler launched and loaded the project. |
modeler_not_found | The MCP jar is not co-located with a Modeler installation. User needs to install CayenneModeler properly. |
project_not_found | The projectPath doesn't exist or isn't readable. |
handshake_timeout | The Modeler started but didn't confirm load within the timeout. Often this means it's still loading — the user can check the GUI directly. |
launch_failed | Process spawn failed. Surface the error message. |
Once open_project returns ok, the user is in the GUI. From here, depending on intent:
cayenne-reverse-engineer skill's job to walk them through. Do not duplicate that workflow here — just open and step out.cayenne-modeling. Don't context-switch the user to the GUI for trivial work.cayenne-cgen's job, fully scripted via MCP. No GUI needed.cayenne-modeling skill handles most modeling intent.open_project on handshake_timeout — the Modeler may still be loading. Tell the user to check the GUI window directly.java -jar direct calls, no opening a .dmg, no open -a CayenneModeler). The MCP tool's launcher knows where the installation lives.