npx skills add https://github.com/github/awesome-copilot --skill plantuml-asciiHow 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.
Pre-configured AI company — 18 agents, 18 skills, one-time purchase.
SKILL.md305 linesExpandCollapse
---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 accessAdd Educational Comments
Takes any code file and transforms it into a teaching resource by adding educational comments that explain syntax, design choices, and language concepts. Automa
Agent Governance
When your AI agents start calling APIs, touching databases, or executing shell commands, you need guardrails before something goes sideways. This gives you comp
Agentic Eval
Implements self-critique loops where Claude generates output, evaluates it against your criteria, then refines based on its own feedback. Includes evaluator-opt