list of dots Digital Research Alliance of Canada logo  NSERC logo  University of Ottawa logo / Université d'Ottawa

User Manual    [Previous]   [Next]   

Umple AI Skills

This page describes AI agent skills for working with Umple and the Umple CLI (Command line interface). This is in beta and will be enhanced.

A 'skill' is a technology released by Vercel that is gaining acceptance in 2026. The npm skills package is here.


Repository overview

The umple-skills repository (https://github.com/umple/umple-skills or initially here ) provides reusable AI agent skills, scripts, and guidance for working with Umple models and diagrams. This page gives a high-level overview and links to separate sections for each skill.

  • Install the skills pack. Use npx skills add umple/umple-skills to add the skills to your agent environment.
  • Skill definition (SKILL.md).
    • name declares the skill identifier used for routing and invocation.
    • description summarizes when the skill should be selected.
    • allowed-tools lists the executable commands the agent may run.
    • Prompt body (the markdown content) gives step-by-step guidance and output expectations.
  • Scripts and references.
    • scripts/ holds runnable helpers (for example, scripts/main.ts) invoked by the skill.
    • references/ contains focused guidance (for example, diagram rules) that the prompt cites.

Skills follow a lazy-loading strategy: only the selected skill folder is loaded at runtime. Semantic routing uses the name and description fields to pick the best skill for a user request.

umple-diagram-generator

  • Generates class diagrams and state machines from natural-language requirements by producing Umple models and rendering them to SVG. It uses guidance from the references/ folder and relies on the Umple CLI, Graphviz, and Bun.
  • Output location. The skill invokes the Umple CLI through scripts/main.ts.
    • Scenario A: output path not specified. The script creates a folder named after the diagram plus a timestamp, and stores all generated files inside it.
      <output-dir>/
      └── <diagram-name>_<timestamp>/
      ├── model.ump
      ├── model.gv
      └── model.svg
    • Scenario B: output path specified. If you provide a full .svg path, the script writes only the SVG file to that exact location.
      <output-dir>/
      └── <diagram>.svg