
Plantuml Ascii
Turn PlantUML sources into terminal-friendly ASCII or Unicode text diagrams for READMEs and commits.
Overview
PlantUML ASCII is an agent skill most often used in Build docs (also Ship launch prep, Grow content) that generates ASCII and Unicode text diagrams from PlantUML.
Install
npx skills add https://github.com/github/awesome-copilot --skill plantuml-asciiWhat is this skill?
- Renders PlantUML to ASCII via -txt and Unicode-enhanced text via -utxt
- Supports sequence, class, and flowchart-style diagrams in plain text
- Documents brew/apt/yum install paths plus JAR download for PlantUML
- Output formats table covers -txt flag and terminal or email friendly use cases
- 2 CLI output modes documented: -txt ASCII and -utxt Unicode-enhanced
Adoption & trust: 9.2k installs on skills.sh; 34.6k GitHub stars; 2/3 security scanners passed (skills.sh audits).
What problem does it solve?
You need architecture or sequence diagrams in markdown or the terminal without committing PNGs or relying on image preview in every viewer.
Who is it for?
README and internal docs where plain-text diagrams must stay searchable and version-controlled.
Skip if: Polished marketing visuals, pixel-perfect UI mocks, or teams that mandate only Graphviz or Mermaid with no PlantUML install.
When should I use this skill?
User asks for ASCII diagrams, PlantUML text mode, terminal-friendly diagrams, or plantuml ascii.
What do I get? / Deliverables
You get PlantUML-driven ASCII or -utxt output pasted into docs, commits, or messages with reproducible text sources.
- PlantUML source file
- ASCII or -utxt diagram text suitable for markdown
Recommended Skills
Journey fit
Spans multiple journey phases - primary shelf plus alternate fits below.
Text diagrams are authored alongside product and API docs during implementation. Docs subphase is the default home for diagram generators that feed version-controlled markdown.
Where it fits
Add a service interaction sequence to API.md using -txt output only.
Paste a text flowchart into the release PR so reviewers see logic without opening images.
Ship a blog draft with Unicode-enhanced -utxt diagrams that survive plain-text syndication.
How it compares
Use for PlantUML text-mode CLI output—not for browser-based whiteboard or screenshot diagram tools.
Common Questions / FAQ
Who is plantuml-ascii for?
Developers and indie builders documenting systems in Git who prefer ASCII or Unicode text diagrams over embedded images.
When should I use plantuml-ascii?
Use it in Build docs while writing README architecture sections, in Ship launch when PRs need text sequence diagrams, and in Grow content when publishing technical explainers without image assets.
Is plantuml-ascii safe to install?
The skill may run local PlantUML via Bash; verify install sources and review the Security Audits panel on this Prism page before granting shell access in untrusted environments.
SKILL.md
READMESKILL.md - Plantuml Ascii
# PlantUML ASCII Art Diagram Generator ## Overview Create text-based ASCII art diagrams using PlantUML. Perfect for documentation in terminal environments, README files, emails, or any scenario where graphical diagrams aren't suitable. ## What is PlantUML ASCII Art? PlantUML can generate diagrams as plain text (ASCII art) instead of images. This is useful for: - Terminal-based workflows - Git commits/PRs without image support - Documentation that needs to be version-controlled - Environments where graphical tools aren't available ## Installation ```bash # macOS brew install plantuml # Linux (varies by distro) sudo apt-get install plantuml # Ubuntu/Debian sudo yum install plantuml # RHEL/CentOS # Or download JAR directly wget https://github.com/plantuml/plantuml/releases/download/v1.2024.0/plantuml-1.2024.0.jar ``` ## Output Formats | Flag | Format | Description | | ------- | ------------- | ------------------------------------ | | `-txt` | ASCII | Pure ASCII characters | | `-utxt` | Unicode ASCII | Enhanced with box-drawing characters | ## Basic Workflow ### 1. Create PlantUML Diagram File ```plantuml @startuml participant Bob actor Alice Bob -> Alice : hello Alice -> Bob : Is it ok? @enduml ``` ### 2. Generate ASCII Art ```bash # Standard ASCII output plantuml -txt diagram.puml # Unicode-enhanced output (better looking) plantuml -utxt diagram.puml # Using JAR directly java -jar plantuml.jar -txt diagram.puml java -jar plantuml.jar -utxt diagram.puml ``` ### 3. View Output Output is saved as `diagram.atxt` (ASCII) or `diagram.utxt` (Unicode). ## Diagram Types Supported ### Sequence Diagram ```plantuml @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 ``` ### Class Diagram ```plantuml @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 ``` ### Activity Diagram ```plantuml @startuml start :Initialize; if (Is Valid?) then (yes) :Process Data; :Save Result; else (no) :Log Error; stop endif :Complete; stop @enduml ``` ### State Diagram ```plantuml @startuml [*] --> Idle Idle --> Processing : start Processing --> Success : complete Processing --> Error : fail Success --> [*] Error --> Idle : retry @enduml ``` ### Component Diagram ```plantuml @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 ``` ### Use Case Diagram ```plantuml @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 ``` ### Deployment Diagram ```plantuml @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 ``` ## Command-Line Options ```bash # Specify output directory plantuml -txt -o ./output diagram.puml # Process all files in directory plantuml -txt ./diagrams/ # Include dot files