Agent skill
umple-code-generator
Generate production-quality code (Java, Python, PHP, Ruby, C++, SQL) from Umple models. Use when user requests: (1) Code generation from UML/class models (2) Java/Python/PHP/Ruby/C++ class generation (3) SQL schema from a domain model (4) Boilerplate-free implementation of classes with associations and state machines (5) Converting a domain model to working code. Produces complete implementations with constructors, getters/setters, association management, and state machine logic.
Install this agent skill to your Project
npx add-skill https://github.com/umple/umple-skills/tree/main/umple-code-generator
SKILL.md
Umple Code Generator
Supported languages
| Language | language value |
Notes |
|---|---|---|
| Java | Java |
Full-featured, default target |
| Python | Python |
Some limitations |
| PHP | Php |
Full implementations |
| Ruby | Ruby |
Experimental |
| C++ | RTCpp |
Real-time C++ with headers |
| SQL | Sql |
CREATE TABLE DDL + foreign keys |
Workflow
- Read
references/umple-modeling-syntax.md. - Write a valid Umple model for the user's domain.
- Call the Umple Online API (see below).
- Parse the generated code from the response.
- On error, read the message, fix the code, retry (up to 3 times).
- Split into per-class files and present to the user.
- If helpful, read
references/generated-api-patterns.mdto explain what was generated.
API
Endpoint: POST https://cruise.umple.org/umpleonline/scripts/compiler.php
Content-Type: application/x-www-form-urlencoded
| Parameter | Value |
|---|---|
language |
See table above |
languageStyle |
codegen |
umpleCode |
The Umple source code |
filename |
model.ump |
Use whatever HTTP tool is available (WebFetch, curl, fetch, etc.).
Response parsing
Success: code appears after a <p>URL_SPLIT delimiter. Strip HTML tags and decode entities (< → <, > → >, & → &, " → "). Files separated by //%% NEW FILE ClassName BEGINS HERE %%.
Error: response contains <span class="umple-message-error">. Strip HTML tags to read the error.
Output
- Show the Umple source in an
umplecode block. - Present generated code split into per-class files.
- Save files:
<name>/model.umpand<name>/<ClassName>.java(etc.).
Same model can generate multiple languages — only the language parameter changes.
Guardrails
- Always read the syntax reference before writing Umple code.
- Prefer a smaller valid model over guessing syntax.
- One association per class pair — never define the same relationship from both sides.
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
umple-diagram-generator
Generate diagrams (state machines, class diagrams, ER diagrams) from natural language requirements using Umple. Use when user requests: (1) State machine diagrams (2) UML class diagrams (3) ER diagrams, entity-relationship diagrams, or database schema diagrams (4) Diagram generation from text descriptions, (5) Any mention of Umple diagram generation, (6) Visual representation of states, transitions, events, entities, classes, or relationships. Outputs SVG diagrams with organized folder structure.
scaffold-exercises
Create exercise directory structures with sections, problems, solutions, and explainers that pass linting. Use when user wants to scaffold exercises, create exercise stubs, or set up a new course section.
setup-pre-commit
Set up Husky pre-commit hooks with lint-staged (Prettier), type checking, and tests in the current repo. Use when user wants to add pre-commit hooks, set up Husky, configure lint-staged, or add commit-time formatting/typechecking/testing.
handoff
Compact the current conversation into a handoff document for another agent to pick up.
edit-article
Edit and improve articles by restructuring sections, improving clarity, and tightening prose. Use when user wants to edit, revise, or improve an article draft.
git-guardrails-claude-code
Set up Claude Code hooks to block dangerous git commands (push, reset --hard, clean, branch -D, etc.) before they execute. Use when user wants to prevent destructive git operations, add git safety hooks, or block git push/reset in Claude Code.
Didn't find tool you were looking for?