Claude Agent Skill · by Github

Plantuml Ascii

The plantuml-ascii skill generates text-based ASCII and Unicode diagrams from PlantUML notation, enabling developers and technical writers to create sequence di

Install
Terminal · npx
$npx skills add https://github.com/github/awesome-copilot --skill plantuml-ascii
Works with Paperclip

How Plantuml Ascii fits into a Paperclip company.

Plantuml Ascii drops into any Paperclip agent that handles this kind of work. Assign it to a specialist inside a pre-configured PaperclipOrg company and the skill becomes available on every heartbeat — no prompt engineering, no tool wiring.

S
SaaS FactoryPaired

Pre-configured AI company — 18 agents, 18 skills, one-time purchase.

$27$59
Explore pack
Source file
SKILL.md305 lines
Expand
---name: plantuml-asciidescription: "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"license: MITallowed-tools: Bash, Write, Read--- # 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# macOSbrew install plantuml # Linux (varies by distro)sudo apt-get install plantuml  # Ubuntu/Debiansudo yum install plantuml      # RHEL/CentOS # Or download JAR directlywget 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@startumlparticipant Bobactor Alice Bob -> Alice : helloAlice -> Bob : Is it ok?@enduml``` ### 2. Generate ASCII Art ```bash# Standard ASCII outputplantuml -txt diagram.puml # Unicode-enhanced output (better looking)plantuml -utxt diagram.puml # Using JAR directlyjava -jar plantuml.jar -txt diagram.pumljava -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@startumlactor Userparticipant "Web App" as Appdatabase "Database" as DB User -> App : Login RequestApp -> DB : Validate CredentialsDB --> App : User DataApp --> User : Auth Token@enduml``` ### Class Diagram ```plantuml@startumlclass 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@startumlstart:Initialize;if (Is Valid?) then (yes)  :Process Data;  :Save Result;else (no)  :Log Error;  stopendif:Complete;stop@enduml``` ### State Diagram ```plantuml@startuml[*] --> IdleIdle --> Processing : startProcessing --> Success : completeProcessing --> Error : failSuccess --> [*]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 --> gatewaygateway --> svcAgateway --> svcBsvcA --> dbsvcB --> db@enduml``` ### Use Case Diagram ```plantuml@startumlactor "User" as useractor "Admin" as admin rectangle "System" {  user -- (Login)  user -- (View Profile)  user -- (Update Settings)  admin -- (Manage Users)  admin -- (Configure System)}@enduml``` ### Deployment Diagram ```plantuml@startumlactor "User" as usernode "Load Balancer" as lbnode "Web Server 1" as ws1node "Web Server 2" as ws2database "Primary DB" as db1database "Replica DB" as db2 user --> lblb --> ws1lb --> ws2ws1 --> db1ws2 --> db1db1 --> db2 : replicate@enduml``` ## Command-Line Options ```bash# Specify output directoryplantuml -txt -o ./output diagram.puml # Process all files in directoryplantuml -txt ./diagrams/ # Include dot files (hidden files)plantuml -txt -includeDot diagrams/ # Verbose outputplantuml -txt -v diagram.puml # Specify charsetplantuml -txt -charset UTF-8 diagram.puml``` ## Ant Task Integration ```xml<target name="generate-ascii">  <plantuml dir="./src" format="txt" /></target> <target name="generate-unicode-ascii">  <plantuml dir="./src" format="utxt" /></target>``` ## Tips for Better ASCII Diagrams 1. **Keep it simple**: Complex diagrams don't render well in ASCII2. **Short labels**: Long text breaks ASCII alignment3. **Use Unicode (`-utxt`)**: Better visual quality with box-drawing chars4. **Test before sharing**: Verify in terminal with fixed-width font5. **Consider alternatives**: For complex diagrams, use Mermaid.js or graphviz ## Example Output Comparison **Standard ASCII (`-txt`)**: ```     ,---.          ,---.     |Bob|          |Alice|     `---'          `---'      |   hello      |      |------------->|      |              |      |  Is it ok?   |      |<-------------|      |              |``` **Unicode ASCII (`-utxt`)**: ```┌─────┐        ┌─────┐│ Bob │        │Alice│└─────┘        └─────┘  │   hello      │  │─────────────>│  │              │  │  Is it ok?   │  │<─────────────│  │              │``` ## Quick Reference ```bash# Create sequence diagram in ASCIIcat > seq.puml << 'EOF'@startumlAlice -> Bob: RequestBob --> Alice: Response@endumlEOF plantuml -txt seq.pumlcat seq.atxt # Create with Unicodeplantuml -utxt seq.pumlcat seq.utxt``` ## Troubleshooting **Problem**: Garbled Unicode characters - **Solution**: Ensure terminal supports UTF-8 and has proper font **Problem**: Diagram looks misaligned - **Solution**: Use fixed-width font (Courier, Monaco, Consolas) **Problem**: Command not found - **Solution**: Install PlantUML or use Java JAR directly **Problem**: Output file not created - **Solution**: Check file permissions, ensure PlantUML has write access