plantuml-ascii
PlantUMLのテキストモードを使用してASCIIアートダイアグラムを生成します。ユーザーがASCIIダイアグラム、テキストベースの図、ターミナル向けの図の作成を求めた場合や、PlantUML ASCII・テキスト図・ASCIIアートダイアグラムについて言及した際に使用します。PlantUMLダイアグラムのASCIIアートへの変換、シーケンス図・クラス図・フローチャートのASCII形式での作成、`-utxt`フラグによるUnicode強化ASCIIアートの生成に対応しています。
description の原文を見る
Generate ASCII art diagrams using PlantUML text mode. Use when user asks to create ASCII diagrams, text-based diagrams, terminal-friendly diagrams, or mentions plantuml ascii, text diagram, ascii art diagram. Supports: Converting PlantUML diagrams to ASCII art, Creating sequence diagrams, class diagrams, flowcharts in ASCII format, Generating Unicode-enhanced ASCII art with -utxt flag
SKILL.md 本文
PlantUML ASCII Art Diagram Generator
Overview
PlantUML を使用してテキストベースの ASCII アート図を作成します。ターミナル環境のドキュメント、README ファイル、メール、またはグラフィカル図が適さない場面での使用に最適です。
PlantUML ASCII Art とは?
PlantUML は、画像の代わりにプレーンテキスト(ASCII アート)として図を生成できます。これは以下の場面で有用です:
- ターミナルベースのワークフロー
- 画像をサポートしない Git コミット/PR
- バージョン管理が必要なドキュメント
- グラフィカルツールが利用できない環境
インストール
# macOS
brew install plantuml
# Linux (ディストリビューションによって異なります)
sudo apt-get install plantuml # Ubuntu/Debian
sudo yum install plantuml # RHEL/CentOS
# または JAR を直接ダウンロード
wget https://github.com/plantuml/plantuml/releases/download/v1.2024.0/plantuml-1.2024.0.jar
出力形式
| フラグ | 形式 | 説明 |
|---|---|---|
-txt | ASCII | 純粋な ASCII 文字 |
-utxt | Unicode ASCII | 罫線文字で強化された形式 |
基本的なワークフロー
1. PlantUML 図ファイルを作成
@startuml
participant Bob
actor Alice
Bob -> Alice : hello
Alice -> Bob : Is it ok?
@enduml
2. ASCII アートを生成
# 標準 ASCII 出力
plantuml -txt diagram.puml
# Unicode 強化出力(より見栄えが良い)
plantuml -utxt diagram.puml
# JAR を直接使用
java -jar plantuml.jar -txt diagram.puml
java -jar plantuml.jar -utxt diagram.puml
3. 出力を表示
出力は diagram.atxt(ASCII)または diagram.utxt(Unicode)として保存されます。
サポートされている図のタイプ
シーケンス図
@startuml
actor User
participant "Web App" as App
database "Database" as DB
User -> App : Login Request
App -> DB : Validate Credentials
DB --> App : User Data
App --> User : Auth Token
@enduml
クラス図
@startuml
class User {
+id: int
+name: string
+email: string
+login(): bool
}
class Order {
+id: int
+total: float
+items: List
+calculateTotal(): float
}
User "1" -- "*" Order : places
@enduml
アクティビティ図
@startuml
start
:Initialize;
if (Is Valid?) then (yes)
:Process Data;
:Save Result;
else (no)
:Log Error;
stop
endif
:Complete;
stop
@enduml
ステート図
@startuml
[*] --> Idle
Idle --> Processing : start
Processing --> Success : complete
Processing --> Error : fail
Success --> [*]
Error --> Idle : retry
@enduml
コンポーネント図
@startuml
[Client] as client
[API Gateway] as gateway
[Service A] as svcA
[Service B] as svcB
[Database] as db
client --> gateway
gateway --> svcA
gateway --> svcB
svcA --> db
svcB --> db
@enduml
ユースケース図
@startuml
actor "User" as user
actor "Admin" as admin
rectangle "System" {
user -- (Login)
user -- (View Profile)
user -- (Update Settings)
admin -- (Manage Users)
admin -- (Configure System)
}
@enduml
デプロイメント図
@startuml
actor "User" as user
node "Load Balancer" as lb
node "Web Server 1" as ws1
node "Web Server 2" as ws2
database "Primary DB" as db1
database "Replica DB" as db2
user --> lb
lb --> ws1
lb --> ws2
ws1 --> db1
ws2 --> db1
db1 --> db2 : replicate
@enduml
コマンドラインオプション
# 出力ディレクトリを指定
plantuml -txt -o ./output diagram.puml
# ディレクトリ内のすべてのファイルを処理
plantuml -txt ./diagrams/
# ドット ファイル(隠しファイル)を含める
plantuml -txt -includeDot diagrams/
# 詳細出力
plantuml -txt -v diagram.puml
# 文字セットを指定
plantuml -txt -charset UTF-8 diagram.puml
Ant タスク統合
<target name="generate-ascii">
<plantuml dir="./src" format="txt" />
</target>
<target name="generate-unicode-ascii">
<plantuml dir="./src" format="utxt" />
</target>
より良い ASCII 図を作成するコツ
- シンプルに保つ: 複雑な図は ASCII では見栄えが悪くなります
- ラベルを短く: 長いテキストは ASCII の配置を崩します
- Unicode(
-utxt)を使用: 罫線文字でより良い見栄えになります - 共有前にテスト: 固定幅フォントでターミナルで確認します
- 代替案を検討: 複雑な図の場合は Mermaid.js または graphviz を使用します
出力比較の例
標準 ASCII(-txt):
,---. ,---.
|Bob| |Alice|
`---' `---'
| hello |
|------------->|
| |
| Is it ok? |
|<-------------|
| |
Unicode ASCII(-utxt):
┌─────┐ ┌─────┐
│ Bob │ │Alice│
└─────┘ └─────┘
│ hello │
│─────────────>│
│ │
│ Is it ok? │
│<─────────────│
│ │
クイックリファレンス
# ASCII でシーケンス図を作成
cat > seq.puml << 'EOF'
@startuml
Alice -> Bob: Request
Bob --> Alice: Response
@enduml
EOF
plantuml -txt seq.puml
cat seq.atxt
# Unicode で作成
plantuml -utxt seq.puml
cat seq.utxt
トラブルシューティング
問題: Unicode 文字が化けている
- 解決策: ターミナルが UTF-8 をサポートし、適切なフォントが設定されていることを確認します
問題: 図がずれて表示される
- 解決策: 固定幅フォント(Courier、Monaco、Consolas)を使用します
問題: コマンドが見つからない
- 解決策: PlantUML をインストールするか、Java JAR を直接使用します
問題: 出力ファイルが作成されない
- 解決策: ファイルのアクセス許可を確認し、PlantUML に書き込みアクセス権があることを確認します
ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ
詳細情報
- 作者
- github
- ライセンス
- MIT
- 最終更新
- 不明
Source: https://github.com/github/awesome-copilot / ライセンス: MIT
関連スキル
superfluid
Superfluidプロトコルおよびそのエコシステムに関するナレッジベースです。Superfluidについて情報を検索する際は、ウェブ検索の前にこちらを参照してください。対応キーワード:Superfluid、CFA、GDA、Super App、Super Token、stream、flow rate、real-time balance、pool(member/distributor)、IDA、sentinels、liquidation、TOGA、@sfpro/sdk、semantic money、yellowpaper、whitepaper
civ-finish-quotes
実質的なタスクが真に完了した際に、文明風の儀式的な引用句を追加します。ユーザーやエージェントが機能追加、リファクタリング、分析、設計ドキュメント、プロセス改善、レポート、執筆タスクといった実際の成果物を完成させるときに、明示的な依頼がなくても使用します。短い返信や小さな修正、未完成の作業には適用しません。
nookplot
Base(Ethereum L2)上のAIエージェント向け分散型調整ネットワークです。エージェントがオンチェーンアイデンティティを登録する、コンテンツを公開する、他のエージェントにメッセージを送る、マーケットプレイスで専門家を雇う、バウンティを投稿・請求する、レピュテーションを構築する、共有プロジェクトで協業する、リサーチチャレンジを解くことでNOOKをマイニングする、キュレーションされたナレッジを備えたスタンドアロンオンチェーンエージェントをデプロイする、またはアグリーメントとリワードで収益を得る場合に利用できます。エージェントネットワーク、エージェント調整、分散型エージェント、NOOKトークン、マイニングチャレンジ、ナレッジバンドル、エージェントレピュテーション、エージェントマーケットプレイス、ERC-2771メタトランザクション、Prepare-Sign-Relay、AgentFactory、またはNookplotが言及された場合にトリガーされます。
web3-polymarket
Polygon上でのPolymarket予測市場取引統合です。認証機能(L1 EIP-712、L2 HMAC-SHA256、ビルダーヘッダー)、注文発注(GTC/GTD/FOK/FAK、バッチ、ポストオンリー、ハートビート)、市場データ(Gamma API、Data API、オーダーブック、サブグラフ)、WebSocketストリーミング(市場・ユーザー・スポーツチャネル)、CTF操作(分割、統合、償却、ネガティブリスク)、ブリッジ機能(入金、出金、マルチチェーン)、およびガスレスリレイトランザクションに対応しています。AIエージェント、自動マーケットメーカー、予測市場UI、またはPolygraph上のPolymarketと統合するアプリケーション構築時に活用できます。
ethskills
Ethereum、EVM、またはブロックチェーン関連のリクエストに対応します。スマートコントラクト、dApps、ウォレット、DeFiプロトコルの構築、監査、デプロイ、インタラクションに適用されます。Solidityの開発、コントラクトアドレス、トークン規格(ERC-20、ERC-721、ERC-4626など)、Layer 2ネットワーク(Base、Arbitrum、Optimism、zkSync、Polygon)、Uniswap、Aave、Curveなどのプロトコルとの統合をカバーします。ガスコスト、コントラクトのデシマル設定、オラクルセキュリティ、リエントランシー、MEV、ブリッジング、ウォレット管理、オンチェーンデータの取得、本番環境へのデプロイ、プロトコル進化(EIPライフサイクル、フォーク追跡、今後の変更予定)といったトピックを含みます。
xxyy-trade
このスキルは、ユーザーが「トークン購入」「トークン売却」「トークンスワップ」「暗号資産取引」「取引ステータス確認」「トランザクション照会」「トークンスキャン」「フィード」「チェーン監視」「トークン照会」「トークン詳細」「トークン安全性確認」「ウォレット一覧表示」「マイウォレット」「AIスキャン」「自動スキャン」「ツイートスキャン」「オンボーディング」「IP確認」「IPホワイトリスト」「トークン発行」「自動売却」「損切り」「利益確定」「トレーリングストップ」「保有者」「トップホルダー」「KOLホルダー」などをリクエストした場合、またはSolana/ETH/BSC/BaseチェーンでXXYYを経由した取引について言及した場合に使用します。XXYY Open APIを通じてオンチェーン取引とデータ照会を実現します。