Table des matières
uml-skill : Des instructions et un petit encodeur de secours
uml-skill regroupe des instructions de rédaction de diagrammes et un petit outil Python. C’est un ensemble d’instructions, sans serveur MCP ni modèle de génération d’images. L’outil peut produire un lien Kroki depuis la source.
- Langages
- 1Répartition du code
- Composants documentés
- 2Explorer les modules
- Documents source
- 2Lire les instructions
Langages du dépôtPython 100%1
Parts calculées à partir des octets GitHub Linguist.
| Langage | % | Octets |
|---|---|---|
| Python | 2 870 |
1. Aperçu
1.1. Pourquoi il existe
Bundle de compétences IA fournissant définitions d'outils et guides pour générer des diagrammes.
1.2. Cas d’usage
Intégration directe de génération UML dans des agents autonomes.
2. Cas d’utilisation
Skill d'agent (diagramming-uml) qui guide les agents IA pour écrire une source de diagramme et la rendre via uml-mcp ou Kroki.
- Installer le skill
- DéveloppeurAgent IA de code
Le README propose npx @smithery/cli@latest skill add antoinebou12/uml, ou la copie du dossier dans .cursor/skills/diagramming-uml/ pour que l'agent charge SKILL.md.
- Planifier et écrire le code
- Agent IA de code
SKILL.md fait passer l'agent par le but, le type de diagramme, le plan et les règles de lisibilité (environ 25 nœuds Mermaid ou 30 PlantUML, transitions étiquetées) avant d'écrire la source.
- Choisir un diagram_type
- Agent IA de code
references/DIAGRAM-TYPES.md associe des intentions (séquence, couloirs, ER, architecture…) à un diagram_type Kroki et à une forme Mermaid ou PlantUML, à confirmer avec uml://types.
- Rendre via uml-mcp
- Agent IA de codeuml-mcp / Kroki
Quand uml-mcp est branché, le skill demande à l'agent d'appeler validate_uml puis generate_uml ou generate_uml_batch, et de rendre l'URL Kroki et le lien du terrain de jeu.
- Créer une URL Kroki sans MCP
- Développeuruml-mcp / Kroki
Sans MCP, scripts/kroki_url.py compresse la source avec zlib, l'encode en base64url et affiche une URL https://kroki.io/<backend>/<format>/…
2.1. Scénario : Obtenir un lien partageable vers une séquence
- Installer le skill avec npx @smithery/cli@latest skill add antoinebou12/uml.
- Demander à l'agent un diagramme de séquence d'un paiement ; le skill s'active sur la demande de diagramme.
- L'agent choisit sequence ou le sequenceDiagram de Mermaid dans la table d'intentions et écrit la source.
- Avec uml-mcp branché, il appelle validate_uml et generate_uml, puis répond avec l'URL, le lien du terrain de jeu et une copie du code.
- Sans uml-mcp, lancer python scripts/kroki_url.py -t mermaid diagram.mmd pour obtenir le lien.
Fichiers consultésREADME.mdSKILL.mdAGENTS.mdreferences/DIAGRAM-TYPES.mdscripts/README.mdscripts/kroki_url.py
3. Démarrage
Ces commandes viennent de la documentation du dépôt. Elles n’ont pas été exécutées pendant cette revue.
python kroki_url.py --helppython kroki_url.py -t mermaid diagram.mmd
python kroki_url.py -t plantuml -f png diagram.pumlGet-Content diagram.puml -Raw | python kroki_url.py -t plantumlcat diagram.puml | python kroki_url.py -t plantuml4. Références du dépôt
Extraits des guides du dépôt, dans leur langue d’origine. Les liens ouvrent la version du code consultée.
Prérequis et premier essai
4.1. Install
README.md
| Route | What to do |
|---|---|
| Smithery (recommended for many agents) | Run npx @smithery/cli@latest skill add antoinebou12/uml. Open the Smithery skill page and use Install for client-specific steps (Cursor, Claude Code, Codex, Windsurf, Continue, GitHub Copilot, and others). |
| Cursor (manual) | Copy this repository (or the uml-skill folder) into .cursor/skills/diagramming-uml/ (or add a symlink). See Cursor · Rules & skills. |
| Other clients | Prefer the Smithery CLI and your product’s skill directory; paths and filenames vary. |
Configuration et utilisation
4.2. Usage
scripts/README.md
5. Fonctions et composants 2
- Couche d’instructions
- SKILL.md décrit le parcours et renvoie vers des références. Un agent peut suivre ces instructions avec les outils disponibles. Les références donnent des indications de syntaxe, sans constituer un environnement applicatif.
- Outil d’encodage
- scripts/kroki_url.py utilise la compression et l’encodage de la bibliothèque standard pour construire un lien de rendu. Produire ce lien et récupérer l’image sont deux opérations distinctes.
6. Architecture
Ouvrez un composant pour suivre ses connexions, ou explorez le diagramme complet.
Demande de diagramme
Instructions et références
- Depuis Demande de diagramme
- Vers Source du diagramme
Source du diagramme
- Depuis Instructions et références
- Vers Encodeur de lien Kroki
Encodeur de lien Kroki
- Depuis Source du diagramme
- Vers Service de rendu
Service de rendu
- Depuis Encodeur de lien Kroki
Mermaid Diagramme interactif
Vue générale des composants et des échanges vérifiés dans le dépôt.

flowchart LR
n0["Demande de diagramme"]
n1["Instructions et références"]
n2["Source du diagramme"]
n3["Encodeur de lien Kroki"]
n4["Service de rendu"]
n0 --> n1
n1 --> n2
n2 --> n3
n3 --> n4
Version texte du diagramme
- Demande de diagramme → Instructions et références
- Instructions et références → Source du diagramme
- Source du diagramme → Encodeur de lien Kroki
- Encodeur de lien Kroki → Service de rendu
Suivre un parcours dans le code
Lisez l’encodeur pour suivre la source vers une charge compatible avec un lien. L’outil transporte la source; la validité et la qualité visuelle dépendent encore du langage et du moteur.
7. Dossier technique
Établi à partir du code au commit 05b27cd (3 fichiers). Chaque élément vient d’une correspondance de motif dans le code: ouvrez le fichier lié avant de vous y fier.
7.1. Couches et modules
Les dossiers sont classés par couche selon leur nom, de l’interface utilisateur jusqu’à l’accès aux données. Comme le classement repose sur les noms seulement, le diagramme ne dit rien des appels entre couches.
Mermaid Vue en couches
flowchart TB
subgraph L_application["Services applicatifs"]
direction TB
application_0["scripts<br/>1 fichier"]
end
| Module | Couche | Fichiers | Types | Extensions |
|---|---|---|---|---|
scripts | Services applicatifs | 1 | 0 | .py |
7.2. Modèle C4
Du contexte du système aux déclarations du code. Chaque niveau conserve les limites des sources disponibles.
UML 1 · Contexte du système
La vue C4 la plus large : qui utilise le projet et sur quels systèmes et stockages externes il s’appuie. Rendu avec uml-mcp.
Source PlantUML
@startuml
!include <C4/C4_Context>
LAYOUT_LEFT_RIGHT()
Person(P_cli, "Utilisateur CLI")
System(SYS, "uml-skill", "uml-skill regroupe des instructions de rédaction de diagrammes et un …")
System_Ext(E0, "Kroki")
Rel(P_cli, SYS, "Utilise")
Rel(SYS, E0, "Appelle")
@enduml
UML 2 · Conteneurs
Un niveau plus près : les parties qui s’exécutent séparément dans le projet, leur langage principal et le chemin des appels entre elles. Rendu avec uml-mcp.
Source PlantUML
@startuml
!include <C4/C4_Container>
LAYOUT_LEFT_RIGHT()
Person(P_cli, "Utilisateur CLI")
System_Boundary(SYS, "uml-skill") {
Container(APP, "uml-skill", "Python")
}
System_Ext(E0, "Kroki")
Rel(P_cli, APP, "Utilise")
Rel(APP, E0, "Appelle")
@enduml
UML 3 · Composants et couches
Modules regroupés par couche du code. Les limites indiquent l’organisation, sans affirmer une isolation à l’exécution ni des appels. Rendu avec uml-mcp.
Source PlantUML
@startuml
!include <C4/C4_Component>
LAYOUT_TOP_DOWN()
System_Boundary(SYS, "uml-skill") {
Boundary(L0, "Services applicatifs", "layer") {
Component(M0_0, "scripts", "Python", "1 fichiers")
}
}
@enduml
UML 4 · Code
Déclarations, champs et méthodes sélectionnés, regroupés par fichier source. Aucun héritage ni appel n’est déduit. Rendu avec uml-mcp.
Source PlantUML
@startuml
skinparam backgroundColor transparent
skinparam shadowing false
skinparam roundCorner 10
skinparam defaultFontName Arial
skinparam defaultFontSize 13
skinparam ArrowColor #4e6070
skinparam ArrowFontColor #3d4f5f
skinparam titleFontSize 14
skinparam actorBorderColor #006a62
skinparam actorBackgroundColor #e9f3f4
skinparam usecaseBorderColor #006a62
skinparam usecaseBackgroundColor #e9f3f4
skinparam componentBorderColor #006a62
skinparam componentBackgroundColor #e9f3f4
skinparam interfaceBorderColor #006a62
skinparam interfaceBackgroundColor #ffffff
skinparam nodeBorderColor #4e6070
skinparam nodeBackgroundColor #f4f8fb
skinparam databaseBorderColor #006a62
skinparam databaseBackgroundColor #ffffff
skinparam cloudBorderColor #4e6070
skinparam cloudBackgroundColor #f0f5fa
skinparam artifactBorderColor #006a62
skinparam artifactBackgroundColor #ffffff
skinparam rectangleBorderColor #b0c2d3
skinparam activityBorderColor #006a62
skinparam activityBackgroundColor #e9f3f4
skinparam partitionBorderColor #b0c2d3
skinparam stereotypeCBackgroundColor #ffffff
top to bottom direction
hide empty members
package "uml-skill" {
object "scripts/kroki_url.py" as FN0 {
encode_for_kroki()
kroki_url()
main()
}
}
@enduml
7.3. Interface publique
Du code extérieur peut utiliser tout ce qui est listé ici. Le projet déclare aussi 0 types publics.
Ligne de commande 3
7.4. Logique métier
Aucune classe n’a été extraite. Voici les plus gros fichiers source et leurs fonctions.
scripts/kroki_url.pyencode_for_kroki, kroki_url, main
7.5. Intégrations externes
Hôtes nommés dans le code
kroki.io1 fichiersscripts/kroki_url.py:36
7.6. Pipeline CI/CD
Aucun pipeline CI/CD dans le dépôt. Le code se construit et se lance à la main, comme décrit plus haut.
7.7. Déploiement
Mermaid Schéma de déploiement
flowchart LR
repo[("Dépôt GitHub")]
local["Poste local"]
repo -->|"cloner et lancer"| local
Le dépôt ne contient ni Dockerfile, ni fichier Compose, ni configuration d’hébergement : le code s’exécute sur le poste qui le clone.
Les sources disponibles ne documentent pas les autres sections.
8. Référence
3 / 3 fichiers admissibles lus (8 dans l’arbre); 0 trop volumineux, 0 échec de lecture et 0 diagnostic de syntaxe.
Ce que couvre l’analyse
Les dossiers connus de dépendances et de compilation, les fichiers d’identifiants et les binaires sont exclus. La collecte couvre les README, les manifestes reconnus et les fichiers source pris en charge.
Les statistiques Linguist couvrent l’ensemble du dépôt et peuvent inclure d’autres langages.
10. Fichiers à lire 2
11. Glossaire
Dépôt
Les fichiers source, la configuration et l’historique versionné d’un projet.
README
Le document d’entrée du dépôt, qui présente généralement son rôle et son installation.
Dépendance
Une bibliothèque, un outil ou un service nécessaire à la compilation ou à l’exécution d’un composant.
API
Une interface par laquelle des composants logiciels échangent des requêtes et des résultats. Une API n’utilise pas nécessairement HTTP.
Port publié
Un port de l’hôte associé au port d’un service dans un conteneur. Sa publication peut rendre le service accessible hors du réseau des conteneurs.
Interface en ligne de commande
Une interface textuelle où les commandes et arguments choisissent les opérations. Les codes de retour permettent aux scripts de détecter un succès ou un échec.
Intégration continue
Des vérifications automatiques lors des changements de source, comme la compilation, les tests et l’analyse statique. Elles ne couvrent que ce qu’elles vérifient.
MCP
Model Context Protocol : un protocole permettant à un client IA de découvrir et appeler des outils, et de lire les ressources d’un serveur.
Mermaid
Un langage de diagrammes textuel. Les nœuds et liens décrivent un modèle ; le diagramme n’exécute pas le projet.
GPU
Un processeur conçu pour les calculs parallèles, dont le rendu graphique et de nombreuses opérations numériques.
12. Références
- antoinebou12. (2026, 5 novembre). uml-skill. [Software repository] github.com.
- antoinebou12. (2026, 5 novembre). uml-skill: README. [Repository documentation] github.com.
- antoinebou12. (2026, 5 novembre). scripts/kroki_url.py. [Source file] github.com.
- antoinebou12. (2026, 5 novembre). README.md. [Source file] github.com.
- Boucher, A. (2026, 23 octobre). uml-skill : Des instructions et un petit encodeur de secours. [Project article] antoineboucher.info.
Les sources sans date de publication indiquent la date de leur dernière vérification, le 5 novembre 2026. Les liens des fichiers conservent la révision inspectée lorsqu’elle est disponible.