{"id":"1da5ac39-750b-4838-88ad-c10d5a0451ee","shortId":"TyRSuM","kind":"skill","title":"Plantuml Ascii","tagline":"Awesome Copilot skill by Github","description":"# PlantUML ASCII Art Diagram Generator\n\n## Overview\n\nCreate 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.\n\n## What is PlantUML ASCII Art?\n\nPlantUML can generate diagrams as plain text (ASCII art) instead of images. This is useful for:\n\n- Terminal-based workflows\n- Git commits/PRs without image support\n- Documentation that needs to be version-controlled\n- Environments where graphical tools aren't available\n\n## Installation\n\n```bash\n# macOS\nbrew install plantuml\n\n# Linux (varies by distro)\nsudo apt-get install plantuml  # Ubuntu/Debian\nsudo yum install plantuml      # RHEL/CentOS\n\n# Or download JAR directly\nwget https://github.com/plantuml/plantuml/releases/download/v1.2024.0/plantuml-1.2024.0.jar\n```\n\n## Output Formats\n\n| Flag    | Format        | Description                          |\n| ------- | ------------- | ------------------------------------ |\n| `-txt`  | ASCII         | Pure ASCII characters                |\n| `-utxt` | Unicode ASCII | Enhanced with box-drawing characters |\n\n## Basic Workflow\n\n### 1. Create PlantUML Diagram File\n\n```plantuml\n@startuml\nparticipant Bob\nactor Alice\n\nBob -> Alice : hello\nAlice -> Bob : Is it ok?\n@enduml\n```\n\n### 2. Generate ASCII Art\n\n```bash\n# Standard ASCII output\nplantuml -txt diagram.puml\n\n# Unicode-enhanced output (better looking)\nplantuml -utxt diagram.puml\n\n# Using JAR directly\njava -jar plantuml.jar -txt diagram.puml\njava -jar plantuml.jar -utxt diagram.puml\n```\n\n### 3. View Output\n\nOutput is saved as `diagram.atxt` (ASCII) or `diagram.utxt` (Unicode).\n\n## Diagram Types Supported\n\n### Sequence Diagram\n\n```plantuml\n@startuml\nactor User\nparticipant \"Web App\" as App\ndatabase \"Database\" as DB\n\nUser -> App : Login Request\nApp -> DB : Validate Credentials\nDB --> App : User Data\nApp --> User : Auth Token\n@enduml\n```\n\n### Class Diagram\n\n```plantuml\n@startuml\nclass User {\n  +id: int\n  +name: string\n  +email: string\n  +login(): bool\n}\n\nclass Order {\n  +id: int\n  +total: float\n  +items: List\n  +calculateTotal(): float\n}\n\nUser \"1\" -- \"*\" Order : places\n@enduml\n```\n\n### Activity Diagram\n\n```plantuml\n@startuml\nstart\n:Initialize;\nif (Is Valid?) then (yes)\n  :Process Data;\n  :Save Result;\nelse (no)\n  :Log Error;\n  stop\nendif\n:Complete;\nstop\n@enduml\n```\n\n### State Diagram\n\n```plantuml\n@startuml\n[*] --> Idle\nIdle --> Processing : start\nProcessing --> Success : complete\nProcessing --> Error : fail\nSuccess --> [*]\nError --> Idle : retry\n@enduml\n```\n\n### Component Diagram\n\n```plantuml\n@startuml\n[Client] as client\n[API Gateway] as gateway\n[Service A] as svcA\n[Service B] as svcB\n[Database] as db\n\nclient --> gateway\ngateway --> svcA\ngateway --> svcB\nsvcA --> db\nsvcB --> db\n@enduml\n```\n\n### Use Case Diagram\n\n```plantuml\n@startuml\nactor \"User\" as user\nactor \"Admin\" as admin\n\nrectangle \"System\" {\n  user -- (Login)\n  user -- (View Profile)\n  user -- (Update Settings)\n  admin -- (Manage Users)\n  admin -- (Configure System)\n}\n@enduml\n```\n\n### Deployment Diagram\n\n```plantuml\n@startuml\nactor \"User\" as user\nnode \"Load Balancer\" as lb\nnode \"Web Server 1\" as ws1\nnode \"Web Server 2\" as ws2\ndatabase \"Primary DB\" as db1\ndatabase \"Replica DB\" as db2\n\nuser --> lb\nlb --> ws1\nlb --> ws2\nws1 --> db1\nws2 --> db1\ndb1 --> db2 : replicate\n@enduml\n```\n\n## Command-Line Options\n\n```bash\n# Specify output directory\nplantuml -txt -o ./output diagram.puml\n\n# Process all files in directory\nplantuml -txt ./diagrams/\n\n# Include dot files (hidden files)\nplantuml -txt -includeDot diagrams/\n\n# Verbose output\nplantuml -txt -v diagram.puml\n\n# Specify charset\nplantuml -txt -charset UTF-8 diagram.puml\n```\n\n## Ant Task Integration\n\n```xml\n<target name=\"generate-ascii\">\n  <plantuml dir=\"./src\" format=\"txt\" />\n</target>\n\n<target name=\"generate-unicode-ascii\">\n  <plantuml dir=\"./src\" format=\"utxt\" />\n</target>\n```\n\n## Tips for Better ASCII Diagrams\n\n1. **Keep it simple**: Complex diagrams don't render well in ASCII\n2. **Short labels**: Long text breaks ASCII alignment\n3. **Use Unicode (`-utxt`)**: Better visual quality with box-drawing chars\n4. **Test before sharing**: Verify in terminal with fixed-width font\n5. **Consider alternatives**: For complex diagrams, use Mermaid.js or graphviz\n\n## Example Output Comparison\n\n**Standard ASCII (`-txt`)**:\n\n```\n     ,---.          ,---.\n     |Bob|          |Alice|\n     `---'          `---'\n      |   hello      |\n      |------------->|\n      |              |\n      |  Is it ok?   |\n      |<-------------|\n      |              |\n```\n\n**Unicode ASCII (`-utxt`)**:\n\n```\n┌─────┐        ┌─────┐\n│ Bob │        │Alice│\n└─────┘        └─────┘\n  │   hello      │\n  │─────────────>│\n  │              │\n  │  Is it ok?   │\n  │<─────────────│\n  │              │\n```\n\n## Quick Reference\n\n```bash\n# Create sequence diagram in ASCII\ncat > seq.puml << 'EOF'\n@startuml\nAlice -> Bob: Request\nBob --> Alice: Response\n@enduml\nEOF\n\nplantuml -txt seq.puml\ncat seq.atxt\n\n# Create with Unicode\nplantuml -utxt seq.puml\ncat seq.utxt\n```\n\n## Troubleshooting\n\n**Problem**: Garbled Unicode characters\n\n- **Solution**: Ensure terminal supports UTF-8 and has proper font\n\n**Problem**: Diagram looks misaligned\n\n- **Solution**: Use fixed-width font (Courier, Monaco, Consolas)\n\n**Problem**: Command not found\n\n- **Solution**: Install PlantUML or use Java JAR directly\n\n**Problem**: Output file not created\n\n- **Solution**: Check file permissions, ensure PlantUML has write access","tags":["plantuml","ascii","awesome","copilot","github"],"capabilities":["skill","source-github","category-awesome-copilot"],"categories":["awesome-copilot"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/github/awesome-copilot/plantuml-ascii","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"install_from":"skills.sh"}},"qualityScore":"0.300","qualityRationale":"deterministic score 0.30 from registry signals: · indexed on skills.sh · published under github/awesome-copilot","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill:v1","enrichmentVersion":1,"enrichedAt":"2026-04-22T16:40:17.447Z","embedding":null,"createdAt":"2026-04-18T20:25:40.181Z","updatedAt":"2026-04-22T16:40:17.447Z","lastSeenAt":"2026-04-22T16:40:17.447Z","tsv":"'-8':463,592 '/diagrams':441 '/output':432 '/plantuml/plantuml/releases/download/v1.2024.0/plantuml-1.2024.0.jar':115 '1':137,262,388,474 '2':157,394,486 '3':190,494 '4':506 '5':518 'access':635 'activ':266 'actor':146,209,347,351,376 'admin':352,354,365,368 'alic':147,149,151,535,544,561,565 'align':493 'altern':520 'ant':465 'api':316 'app':213,215,221,224,229,232 'apt':98 'apt-get':97 'aren':38,83 'art':10,19,45,54,160 'ascii':2,9,18,44,53,122,124,128,159,163,198,472,485,492,532,541,556 'auth':234 'avail':85 'awesom':3 'b':325 'balanc':382 'base':17,64 'bash':87,161,425,551 'basic':135 'better':172,471,498 'bob':145,148,152,534,543,562,564 'bool':250 'box':132,503 'box-draw':131,502 'break':491 'brew':89 'calculatetot':259 'case':343 'cat':557,572,580 'category-awesome-copilot' 'char':505 'charact':125,134,586 'charset':458,461 'check':628 'class':237,241,251 'client':313,315,331 'command':422,611 'command-lin':421 'commits/prs':67 'comparison':530 'complet':287,300 'complex':478,522 'compon':309 'configur':369 'consid':519 'consola':609 'control':78 'copilot':4 'courier':607 'creat':14,138,552,574,626 'credenti':227 'data':231,278 'databas':216,217,328,397,402 'db':219,225,228,330,338,340,399,404 'db1':401,414,416,417 'db2':406,418 'deploy':372 'descript':120 'diagram':11,20,37,49,140,202,206,238,267,291,310,344,373,450,473,479,523,554,598 'diagram.atxt':197 'diagram.puml':167,176,184,189,433,456,464 'diagram.utxt':200 'direct':111,179,621 'directori':428,438 'distro':95 'document':25,71 'dot':443 'download':109 'draw':133,504 'els':281 'email':31,247 'endif':286 'enduml':156,236,265,289,308,341,371,420,567 'enhanc':129,170 'ensur':588,631 'environ':28,79 'eof':559,568 'error':284,302,305 'exampl':528 'fail':303 'file':30,141,436,444,446,624,629 'fix':515,604 'fixed-width':514,603 'flag':118 'float':256,260 'font':517,596,606 'format':117,119 'found':613 'garbl':584 'gateway':317,319,332,333,335 'generat':12,48,158 'get':99 'git':66 'github':7 'github.com':114 'github.com/plantuml/plantuml/releases/download/v1.2024.0/plantuml-1.2024.0.jar':113 'graphic':36,81 'graphviz':527 'hello':150,536,545 'hidden':445 'id':243,253 'idl':294,295,306 'imag':57,69 'includ':442 'includedot':449 'initi':271 'instal':86,90,100,105,615 'instead':55 'int':244,254 'integr':467 'item':257 'jar':110,178,181,186,620 'java':180,185,619 'keep':475 'label':488 'lb':384,408,409,411 'line':423 'linux':92 'list':258 'load':381 'log':283 'login':222,249,358 'long':489 'look':173,599 'maco':88 'manag':366 'mermaid.js':525 'misalign':600 'monaco':608 'name':245 'need':73 'node':380,385,391 'o':431 'ok':155,539,548 'option':424 'order':252,263 'output':116,164,171,192,193,427,452,529,623 'overview':13 'particip':144,211 'perfect':23 'permiss':630 'place':264 'plain':51 'plantuml':1,8,22,43,46,91,101,106,139,142,165,174,207,239,268,292,311,345,374,429,439,447,453,459,569,577,616,632 'plantuml.jar':182,187 'primari':398 'problem':583,597,610,622 'process':277,296,298,301,434 'profil':361 'proper':595 'pure':123 'qualiti':500 'quick':549 'readm':29 'rectangl':355 'refer':550 'render':482 'replic':419 'replica':403 'request':223,563 'respons':566 'result':280 'retri':307 'rhel/centos':107 'save':195,279 'scenario':34 'seq.atxt':573 'seq.puml':558,571,579 'seq.utxt':581 'sequenc':205,553 'server':387,393 'servic':320,324 'set':364 'share':509 'short':487 'simpl':477 'skill':5 'solut':587,601,614,627 'source-github' 'specifi':426,457 'standard':162,531 'start':270,297 'startuml':143,208,240,269,293,312,346,375,560 'state':290 'stop':285,288 'string':246,248 'success':299,304 'sudo':96,103 'suitabl':40 'support':70,204,590 'svca':323,334,337 'svcb':327,336,339 'system':356,370 'task':466 'termin':27,63,512,589 'terminal-bas':62 'test':507 'text':16,52,490 'text-bas':15 'tip':469 'token':235 'tool':82 'total':255 'troubleshoot':582 'txt':121,166,183,430,440,448,454,460,533,570 'type':203 'ubuntu/debian':102 'unicod':127,169,201,496,540,576,585 'unicode-enhanc':168 'updat':363 'use':21,60,177,342,495,524,602,618 'user':210,220,230,233,242,261,348,350,357,359,362,367,377,379,407 'utf':462,591 'utxt':126,175,188,497,542,578 'v':455 'valid':226,274 'vari':93 'verbos':451 'verifi':510 'version':77 'version-control':76 'view':191,360 'visual':499 'web':212,386,392 'well':483 'wget':112 'width':516,605 'without':68 'workflow':65,136 'write':634 'ws1':390,410,413 'ws2':396,412,415 'xml':468 'yes':276 'yum':104","prices":[{"id":"50ec20a8-7e1a-4dad-88e5-35940d4f444d","listingId":"1da5ac39-750b-4838-88ad-c10d5a0451ee","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"github","category":"awesome-copilot","install_from":"skills.sh"},"createdAt":"2026-04-18T20:25:40.181Z"}],"sources":[{"listingId":"1da5ac39-750b-4838-88ad-c10d5a0451ee","source":"github","sourceId":"github/awesome-copilot/plantuml-ascii","sourceUrl":"https://github.com/github/awesome-copilot/tree/main/skills/plantuml-ascii","isPrimary":false,"firstSeenAt":"2026-04-18T21:50:29.842Z","lastSeenAt":"2026-04-22T12:52:19.486Z"},{"listingId":"1da5ac39-750b-4838-88ad-c10d5a0451ee","source":"skills_sh","sourceId":"github/awesome-copilot/plantuml-ascii","sourceUrl":"https://skills.sh/github/awesome-copilot/plantuml-ascii","isPrimary":true,"firstSeenAt":"2026-04-18T20:25:40.181Z","lastSeenAt":"2026-04-22T16:40:17.447Z"}],"details":{"listingId":"1da5ac39-750b-4838-88ad-c10d5a0451ee","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"github","slug":"plantuml-ascii","source":"skills_sh","category":"awesome-copilot","skills_sh_url":"https://skills.sh/github/awesome-copilot/plantuml-ascii"},"updatedAt":"2026-04-22T16:40:17.447Z"}}