mcpField
P
puml-plantuml

puml-plantuml

github.com/kaerez開発0161 回インストール21 週間前に更新
リポジトリ

puml-plantuml について

PlantUML図の作成と保守を支援するスキルで、構文案内、コード生成、診断、ローカルレンダリングに対応します。画像からのPUML再構成と、クロスプラットフォームのセットアップ・レンダリングスクリプトも備えています。

主な機能

  1. 01多様な図に対応する構文リファレンス
  2. 02説明からPUMLを生成
  3. 03画像からPUMLを再構成
  4. 04PUMLのエラーを検査・修正
  5. 05PNG、SVG、PDFをローカルでレンダリング
  6. 06描画依存関係を検出・インストール

活用シーン

  1. 01文章からアーキテクチャ図やフロー図を作成
  2. 02図のスクリーンショットをPUMLに変換
  3. 03構文を確認して画像やPDFをローカル生成

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/kaerez/skills-plugins --skill puml-plantuml

インストール後、Claude Code で/puml-plantumlを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

LICENSE
puml-plantuml.skill
README.md
references/
image-to-puml.md
local-rendering.md
syntax-quick-ref.md
scripts/
bootstrap.ps1
bootstrap.sh
render.py
setup.py

詳細

PUML-PlantUML エキスパートスキル

PlantUML に関する深い知識(公式リファレンスの全 27 章)+クロスプラットフォームの ローカルレンダリング+画像から PUML へのリバースエンジニアリング。オフラインでレンダリングできます。 あらゆる OS に対応します。パスを前提としません。Python、Java、PlantUML を完全自動で検出し、インストールします。


クイック判断ツリー

User request
├── "Create/draw a diagram from description"   → § Generate PUML
├── "Convert image/screenshot to PUML"         → § Image → PUML
├── "Render/preview/generate image from code"  → § Render Locally
├── "Fix/debug my PUML"                        → § Diagnose & Fix
└── "Explain syntax / how do I..."             → references/syntax-quick-ref.md

§ 初回実行 — ゼロからのセットアップ

ブートストラップスクリプトの実行に、事前にインストールされたツールは不要です。Python → Java → PlantUML の順にインストールします。マシンごとに一度実行してください。

macOS / Linux
bash scripts/bootstrap.sh           # install everything
bash scripts/bootstrap.sh --verify  # install + test render
Windows(PowerShell — Windows 10/11 に組み込み済み)
Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass
.\scripts\bootstrap.ps1
.\scripts\bootstrap.ps1 -Verify
Python がすでに利用可能な場合
python3 scripts/render.py --detect      # show what's detected
python3 scripts/setup.py               # install Java + PlantUML
python3 scripts/setup.py --java        # ensure Java only
python3 scripts/setup.py --jar         # force JAR download
python3 scripts/setup.py --verify      # install + test render
python3 scripts/render.py --install-hint  # show manual steps

インストールされるもの:

コンポーネントmacOSLinuxWindows
Python 3.9+brewapt/dnf/pacman/snapwinget/choco/scoop
Java JRE 11+brew cask temurinapt/dnf/pacmanwinget Temurin/Zulu
PlantUMLbrewapt/dnf/pacman/snapwinget/choco/scoop
フォールバック—~/.plantuml/plantuml.jar~/.plantuml/plantuml.jar

Java は次の場所から検出されます:$JAVA_HOME、PATH、macOS の /usr/libexec/java_home、 Azul/Zulu(zulu*)、Temurin、Homebrew OpenJDK、SDKMAN、/usr/lib/jvm/*。


§ 説明から PUML を生成する

ステップ 1 — 図の種類を特定する:

リクエスト内のキーワード種類タグ
呼び出しのシーケンス、API フロー、メッセージシーケンス@startuml
クラス、OOP、継承、メソッドクラス@startuml
プロセス、ワークフロー、フローチャート、ステップアクティビティ(新)@startuml
アーキテクチャ、サービス、コンポーネントコンポーネント@startuml
データベース、スキーマ、テーブル、エンティティER@startuml
状態、ライフサイクル、ステータス遷移状態@startuml
ユースケース、アクター、ユーザーストーリーユースケース@startuml
オブジェクト、インスタンス、実行時スナップショットオブジェクト@startuml
タイミング、シグナル、波形タイミング@startuml
ブレインストーミング、概念マップ、トピックマインドマップ@startmindmap
プロジェクトのタイムライン、スケジュール、マイルストーンガント@startgantt
作業分解、プロジェクトのフェーズWBS@startwbs
UI フォーム、ワイヤーフレーム、モックアップSalt@startsalt
JSON データ構造JSON@startjson
YAML データ構造YAML@startyaml
ネットワークトポロジー、サーバー、サブネットnwdiag@startuml + nwdiag {}
エンタープライズアーキテクチャ、ArchiMateArchimate@startuml + archimate kw
数式、方程式、LaTeX数式@startmath / @startlatex
ASCII アート図Ditaa@startditaa

ステップ 2 — 生成する: references/syntax-quick-ref.md に記載された完全な構文を使用します。 必ず次を含めてください:title 行、skinparam shadowing false、すべての矢印のラベル。

ステップ 3 — 記述、検証、レンダリング:

cat > /tmp/diagram.puml << 'PUML'
@startuml
title My Diagram
... generated code ...
@enduml
PUML

python3 scripts/render.py /tmp/diagram.puml --check   # validate
python3 scripts/render.py /tmp/diagram.puml -f svg -o /tmp/  # render

§ 画像 → PUML(リバースエンジニアリング)

  1. 画像を確認する — view ツールを使用するか、アップロードされた画像を調べます
  2. 図の種類を特定する — references/image-to-puml.md
  3. 要素を抽出する — 名前、ラベル、矢印、関係、カーディナリティ
  4. PUML を生成する — 正確に再現し、適切な矢印の種類を使用します
  5. 検証してレンダリングする — 元の画像と比較し、必要に応じて調整します

視覚分析ガイド:references/image-to-puml.md


§ ローカルでレンダリングする

scripts/render.py を使用します。バイナリと JAR+Java のいずれにも対応し、あらゆる OS で自動検出します。

# macOS / Linux
python3 scripts/render.py diagram.puml                        # PNG
python3 scripts/render.py diagram.puml -f svg -o ./output/   # SVG
python3 scripts/render.py diagram.puml -f pdf -o ./output/   # PDF
cat diagram.puml | python3 scripts/render.py --stdin -f svg -n "name" -o /tmp/

# Windows
py scripts\render.py diagram.puml
py scripts\render.py diagram.puml -f svg -o .\output\

直接 CLI を使用する場合(plantuml が PATH にある場合):

plantuml -tsvg diagram.puml
plantuml -tpng -o ./output/ *.puml
plantuml -checkonly diagram.puml

レンダリング後、present_files を使用して出力ファイルをユーザーに提示します。

オプション、環境変数、形式、トラブルシューティングの詳細:references/local-rendering.md


§ PUML の診断と修正

python3 scripts/render.py diagram.puml --check
エラー原因修正方法
No @startuml foundラッパーの不足@startuml / @enduml を追加します
Unknown commandタイプミスまたは誤った図の種類syntax-quick-ref.md を確認します
矢印 →(Unicode)ASCII が必要です→ ではなく -> を使います
Cannot find class前方参照使用する前に宣言します
Graphviz エラーdot がインストールされていませんbrew/apt install graphviz を実行するか、!pragma layout smetana を追加します
PlantUML が見つかりませんインストールされていませんbash scripts/bootstrap.sh を実行します
Java が検出されません標準以外の JDKJAVA_HOME 環境変数を設定します
Python が見つかりませんPython がありませんbash scripts/bootstrap.sh を実行します
Unicode が正しく表示されません文字セットの問題plantuml -charset UTF-8 file.puml を実行します

§ 構文早見表(超クイック)

全リファレンス(全 27 章、2700 行以上):references/syntax-quick-ref.md

シーケンス図の矢印:

->   sync          -->  response/dashed
->>  thin           -->> thin dashed
->x  lost           ->o  open arrowhead
<->  bidirectional  ->+  activate   -->-  deactivate
[->  incoming      ->]   outgoing

クラスの関係:

<|--  inheritance    <|..  realization
o--   aggregation    *--   composition
-->   dependency     ..>   usage
--    association    --()  lollipop (provided interface)
"1" *-- "0..*"  : label  (with cardinality and label)

ER 図の多重度(クロウズフット):

||   exactly one    o|   zero or one
o{   zero or more   |{   one or more

すべての @start タグ:

@startuml          most diagrams
@startmindmap      mind maps
@startgantt        gantt charts
@startwbs          work breakdown
@startsalt         wireframes
@startjson         JSON display
@startyaml         YAML display
@startmath         AsciiMath
@startlatex        LaTeX formula
@startditaa        Ditaa ASCII art

共通の書式設定:

title My Title
skinparam shadowing false
skinparam monochrome true
!theme cerulean
left to right direction
!pragma layout smetana    ' no Graphviz needed

完全な図の網羅(PDF の全 27 章)

Ch種類備考
1シーケンス完全対応:矢印、グループ、アクティベーション、ノート、自動番号付け、メインフレーム、並列処理、ステレオタイプ/スポット、アンカー、包囲、フットボックスの非表示
2ユースケース完全対応:アクター、extends/include、ノート、パッケージ、ビジネス UC、JSON オーバーレイ
3クラス完全対応:可視性、ステレオタイプ、スポット、ジェネリクス、ロリポップ、extends/implements キーワード、hide/show/remove、$tags、名前空間
4オブジェクトインスタンス、関係、マップ、関連オブジェクト
5アクティビティ(旧形式)旧 (*) --> 構文、分岐、同期バー、パーティション
6アクティビティ(新形式)start/stop、if/else/elseif、switch/case、while、repeat、fork、split、スイムレーン、SDL 形状、goto/label、コネクター、条件スタイル
7コンポーネントコンポーネント、インターフェース、ボール・ソケット、グループ化、ポート、未接続要素の非表示
8配置すべての要素タイプ、ネスト、ポート、角丸、向き
9状態ネスト、並行状態、fork/join、履歴、選択、ピン、展開、リンク上のノート、インラインカラー
10タイミングrobust、concise、binary、clock、analog、相対時間、アンカー、ハイライト
11JSON表示、ハイライト、スタイル、最小限の例
12YAML表示、ハイライト、エイリアス、Creole
13ネットワーク(nwdiag)ネットワーク、ノード、アドレス、グループ化、スプライト、ピアネットワーク
14ワイヤーフレーム(Salt)すべてのウィジェット:ボタン、入力、ドロップダウン、ラジオボタン、チェックボックス、グリッド、ツリー、タブ、グループボックス、スクロールボックス
15Archimatearchimate キーワード、ジャンクション、マクロ、StdLib との統合
16ガントタスク、制約、マイルストーン、色、完了率、ハイパーリンク、休業日、ズーム、スケール
17マインドマップOrgMode および Markdown 構文、左向きのブランチ、複数ルート、色、方向
18WBSOrgMode 構文、方向、色、矢印、ワードラップ
19数式AsciiMath(@startmath)、LaTeX/JLaTeXMath(@startlatex)、インライン <math> タグ
20ER(情報工学)エンティティ、属性、PK/FK マーカー、カラスの足記法による関係
21共通コマンドコメント、scale/zoom、title、caption、header、footer、legend、newpage、mainframe、appendix、pragma
22Creole太字、斜体、等幅、取り消し線、下線、波線、リスト、見出し、表、リンク、絵文字、HTML タグ、Unicode
23スプライト16 進スプライトの定義、インライン SVG スプライト、StdLib からのインポート、OpenIconic、Font Awesome
24Skinparam要素ごとの完全な skinparam + CSS 風の最新 <style> 代替 + すべてのテーマ
25プリプロセッサ変数、条件、while/loop、プロシージャ、関数、デフォルト引数、引用符なし、キーワード引数、include、サブパート、テーマ、define、組み込み関数(%string、%strlen、%date、%random、%hsl_color など)
26Unicodeネイティブ UTF-8、&#XXXX; および <U+XXXX> 参照、絵文字 <:name:>、文字セットフラグ
27StdLibArchiMate、AWS、Azure、C4、Kubernetes、Elastic、GCP、CloudOgu、Tupadr3/FontAwesome、EDGY
—Ditaa@startditaa の ASCII アートから図への変換

参照ファイル

ファイル内容
references/syntax-quick-ref.md2700 行以上 — 全 27 章の完全な構文
references/image-to-puml.md画像から PUML へのリバースエンジニアリングのための視覚分析ガイド
references/local-rendering.mdセットアップ、CLI フラグ、形式、環境変数、トラブルシューティング

スクリプト

スクリプト目的
scripts/bootstrap.shここから開始 — macOS/Linux — Python→Java→PlantUML をインストール(依存関係なし)
scripts/bootstrap.ps1ここから開始 — Windows — PowerShell 5 以降、依存関係は不要
scripts/setup.pyPython セットアップ:Java と PlantUML を検出/インストールし、Python も報告
scripts/render.pyクロスプラットフォームのレンダリング:Python/バイナリ/JAR/Java を自動検出

コメント