Diagrammes & Graphiques (tpc-pascal/agent-skills)

Créez des diagrammes et graphiques élégants pour vos rapports — flowchart, séquence, classe, état, ER, Gantt avec Mermaid (kroki.io, PNG), et graphiques en barres, circulaires, linéaires avec matplotlib (uv). Sortie `<nom>.diagram.png` à côté de la source pour inclusion dans `.report.docx`. Utilisez-le quand un rapport a besoin de diagrammes plutôt que d'ASCII, de graphiques de données, ou quand l'utilisateur demande un « beau diagramme ».

Qu'est-ce que agent-skills) ?

Cette compétence légère pour agents IA (compatible avec Claude Code, Cursor, Codex, etc.) permet de générer des diagrammes et des graphiques de qualité professionnelle, immédiatement prêts à être intégrés dans des rapports DOCX ou Markdown. Elle s'appuie sur deux scripts : `mmd2png.py` pour transformer du code Mermaid (flowchart, séquence, classe, état, ER, Gantt) en images PNG, et `chart.py` pour produire des graphiques statistiques (barres, circulaires, lignes) à partir de données CSV en utilisant matplotlib. Par défaut, le rendu Mermaid est entièrement local via l'outil en ligne de commande `mmdc` (nécessitant `@mermaid-js/mermaid-cli` et Chrome/Chromium), garantissant la confidentialité des données. Un mode distant optionnel (`MMD2PNG_BACKEND=remote`, `kroki` ou `ink`) peut être activé si l'utilisateur le choisit explicitement. Le script de graphiques utilise `uv` avec matplotlib, ce qui peut nécessiter une connexion réseau pour le téléchargement initial des packages. La compétence applique des règles strictes : les fichiers sources ne sont jamais écrasés, les données des graphiques doivent provenir de faits observés (`[fact]`/`[observed]`), et chaque image est vérifiée (magic number PNG, taille ≥ 1 Ko) avant d'être transmise à l'utilisateur. Le langage de l'interface et les labels des diagrammes sont automatiquement adaptés à la langue de l'utilisateur.

Compatible avec~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/tpc-pascal/agent-skills/tree/HEAD/skills/research/diagram

Installed? Explore more Recherche et analyse de données skills: affaan-m/uspto-database, affaan-m/scholar-evaluation, affaan-m/literature-review · View all 6 →

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Aperçu

Depuis le README du skill

titre

Documentation

Version anglaise : SKILL.en.md

diagram — diagrammes & graphiques

Compétence légère, deux scripts : scripts/mmd2png.py (Mermaid → PNG, local par défaut via mmdc ; distant uniquement sur choix explicite) et scripts/chart.py (graphiques de données → PNG, matplotlib via uv ou Python déjà installé). La source se trouve à côté de la sortie, sans écraser les fichiers existants.

Table de routage selon le besoin

BesoinMéthode
Flowchart / séquence / classe / état / ER / Gantt / architecture systèmeMermaid → scripts/mmd2png.py (par défaut utilise uniquement mmdc en local)
Graphiques en barres / circulaires / lignes à partir de données réellesscripts/chart.py (matplotlib ; uv peut nécessiter une connexion réseau si le paquet n'est pas en cache)
Diagramme intégré dans un rapport .report.docxPNG + ![titre](<nom>.diagram.png) dans .report.md, export en docx via la compétence paper et la recette doc
Diagramme hors de portée de Mermaid/matplotlib (3D, graphiques très personnalisés)[N/A] — informer clairement l'utilisateur des limites, ne pas inventer de solution

Règles

  1. Sortie à côté de la source : <nom_source>.diagram.png (image) + <nom_source>.diagram.mmd (source Mermaid, modifiable). N'écrase pas le fichier source.
  2. Mermaid : écrire dans .mmd, rendu avec python3 scripts/mmd2png.py '<f>.mmd' '<f>.diagram.png' ; les labels du diagramme sont dans la langue de l'utilisateur.
  3. Les données des graphiques doivent être des mesures ou des termes issus de la source (étiquettes [fact]/[observed]) ; ne pas inventer de valeurs.
  4. Local d'abord, pas d'envoi silencieux de la source : par défaut mmd2png.py utilise uniquement mmdc ; si le CLI/le navigateur manque ou s'il y a une erreur, l'exécution s'arrête et la raison est donnée, sans appel réseau. Installer npm i -g @mermaid-js/mermaid-cli et Chrome/Chromium. Ce n'est que si l'utilisateur/l'agent choisit explicitement que MMD2PNG_BACKEND=remote (Kroki puis mermaid.ink), kroki ou ink est utilisé. chart.py est traité en local ; uv run --with matplotlib peut nécessiter un réseau pour récupérer le paquet s'il n'est pas installé/en cache ; donc hors ligne, utiliser Python avec matplotlib déjà installé ou un cache préparé.
  5. Vérifier avant de livrer : mmd2png.py vérifie automatiquement le magic number PNG et la taille ≥ 1 Ko ; les images JPEG provenant de sources distantes sont converties en vrai PNG avec ImageMagick (si le convertisseur manque → enregistrer <f>.jpg + avertissement, ne pas faire passer pour un .png) ; lors de l'intégration dans un rapport → vérifier à nouveau avec pdfinfo + pdftotext après conversion DOCX→PDF (image visible, pas de page cassée).
  6. Dimensions : chaque diagramme contient une idée, police suffisamment lisible ; si le diagramme est trop large → le diviser en parties plutôt que de laisser l'éditeur réduire l'affichage.
  7. Langue de l'interface — répondre dans la même langue que l'utilisateur.

scripts

  • scripts/mmd2png.py — Mermaid → PNG (local par défaut ; distant optionnel via MMD2PNG_BACKEND) : python3 scripts/mmd2png.py '<f>.mmd' '<f>.diagram.png' [--scale 2] [--size 1600] [--theme forest]
  • scripts/chart.py — données CSV (2 colonnes : étiquette, valeur) → PNG : uv run --with matplotlib python3 scripts/chart.py '<f>.csv' '<f>.diagram.png' <bar|pie|line>

Individual skills in this repo

This repo contains 4 individual skills — each has its own dedicated page.

tpc-pascal/agent-skills

Trích xuất và chuyển đổi tài liệu PDF/DOCX/XLSX — lấy text layer (pdftotext), OCR ảnh scan (pdftoppm + tesseract), chuyển markdown (docling), XLSX → CSV (libreoffice headless), ghép/tách/đảo trang (qpdf/pdftk), kiểm tra output bằng pdfinfo + pdftotext. Dùng khi đưa tài liệu và muốn lấy text, OCR bản scan, chuyển định dạng, tách/ghép/trang, hoặc xác minh nội dung đã trích.

tpc-pascal/agent-skills

Xử lý media — ffprobe thông số, ffmpeg cắt/ghép/transcode/GIF, trích frame, tách audio, phụ đề (shift/convert/burn), timecode SMPTE, phát hiện shot, OCR frame/ảnh, tải từ URL (yt-dlp), nhạc (thể loại/mood/BPM/lyrics). Dùng khi đưa video/audio/ảnh/URL media và muốn tóm tắt nội dung, trích text, cắt ghép, làm phụ đề, lấy khung hình, hoặc tải xuống.

tpc-pascal/agent-skills

Điều phối — nhận input, xác định loại, chuyển tiếp tới skill anh em trong repo — doc (tài liệu), media (video/audio/ảnh), paper (báo cáo), web (đọc web/mạng xã hội/tìm kiếm) — và mở cổng câu hỏi bắt buộc trước khi viết báo cáo. Dùng khi chưa biết skill nào xử lý input đang có, hoặc khi cần quy trình phối hợp nhiều skill.

tpc-pascal/agent-skills

Viết báo cáo theo một trong hai dạng: chuẩn quốc tế hoặc phổ biến tại Việt Nam. Tổng hợp nguồn có trích dẫn, giữ báo cáo chính gọn và tách dữ liệu hỗ trợ khi cần; xuất `.report.md` hoặc `.report.docx`.

Skills associés