[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M78GS3XM2PRMZ5WMH9G7CSYD":3,"skill-same:01M78GS3XM2PRMZ5WMH9G7CSYD":65},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":15,"categories":16,"keywords":17,"publishedAt":18,"linkOnly":19,"markdownContent":20,"markdownBody":21,"frontMatter":22,"refName":45,"commitSha":46,"skillDirectory":47,"forksCount":13,"repositoryHtmlUrl":48,"repositoryHomepageUrl":6,"ownerHtmlUrl":49,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":50,"install":51,"resources":64},"01M78GS3XM2PRMZ5WMH9G7CSYD","ascii-art",null,"ASCII art: pyfiglet, cowsay, boxes, image-to-ascii.","RESousa01\u002Fbmad-runtime-dev","RESousa01","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F299151629?v=4","01M78G6P63PC4EAYPFT191W6C9","01M78G6P6QE3EY5S0SZRGWYBCS",0,"MIT","https:\u002F\u002Fgithub.com\u002FRESousa01\u002Fbmad-runtime-dev\u002Fblob\u002Fmain\u002Fbmad-runtime-lib\u002F_source_review\u002Fhermes-agent-main\u002Fhermes-agent-main\u002Fskills\u002Fcreative\u002Fascii-art\u002FSKILL.md",[],[],"2026-11-15 14:19:17",false,"---\nname: ascii-art\ndescription: \"ASCII art: pyfiglet, cowsay, boxes, image-to-ascii.\"\nversion: 4.0.0\nauthor: 0xbyt4, Hermes Agent\nlicense: MIT\ndependencies: []\nplatforms: [linux, macos, windows]\nmetadata:\n  hermes:\n    tags: [ASCII, Art, Banners, Creative, Unicode, Text-Art, pyfiglet, figlet, cowsay, boxes]\n    related_skills: [excalidraw]\n\n---\n\n# ASCII Art Skill\n\nMultiple tools for different ASCII art needs. All tools are local CLI programs or free REST APIs — no API keys required.\n\n## Tool 1: Text Banners (pyfiglet — local)\n\nRender text as large ASCII art banners. 571 built-in fonts.\n\n### Setup\n\n```bash\npip install pyfiglet --break-system-packages -q\n```\n\n### Usage\n\n```bash\npython3 -m pyfiglet \"YOUR TEXT\" -f slant\npython3 -m pyfiglet \"TEXT\" -f doom -w 80    # Set width\npython3 -m pyfiglet --list_fonts             # List all 571 fonts\n```\n\n### Recommended fonts\n\n| Style | Font | Best for |\n|-------|------|----------|\n| Clean & modern | `slant` | Project names, headers |\n| Bold & blocky | `doom` | Titles, logos |\n| Big & readable | `big` | Banners |\n| Classic banner | `banner3` | Wide displays |\n| Compact | `small` | Subtitles |\n| Cyberpunk | `cyberlarge` | Tech themes |\n| 3D effect | `3-d` | Splash screens |\n| Gothic | `gothic` | Dramatic text |\n\n### Tips\n\n- Preview 2-3 fonts and let the user pick their favorite\n- Short text (1-8 chars) works best with detailed fonts like `doom` or `block`\n- Long text works better with compact fonts like `small` or `mini`\n\n## Tool 2: Text Banners (asciified API — remote, no install)\n\nFree REST API that converts text to ASCII art. 250+ FIGlet fonts. Returns plain text directly — no parsing needed. Use this when pyfiglet is not installed or as a quick alternative.\n\n### Usage (via terminal curl)\n\n```bash\n# Basic text banner (default font)\ncurl -s \"https:\u002F\u002Fasciified.thelicato.io\u002Fapi\u002Fv2\u002Fascii?text=Hello+World\"\n\n# With a specific font\ncurl -s \"https:\u002F\u002Fasciified.thelicato.io\u002Fapi\u002Fv2\u002Fascii?text=Hello&font=Slant\"\ncurl -s \"https:\u002F\u002Fasciified.thelicato.io\u002Fapi\u002Fv2\u002Fascii?text=Hello&font=Doom\"\ncurl -s \"https:\u002F\u002Fasciified.thelicato.io\u002Fapi\u002Fv2\u002Fascii?text=Hello&font=Star+Wars\"\ncurl -s \"https:\u002F\u002Fasciified.thelicato.io\u002Fapi\u002Fv2\u002Fascii?text=Hello&font=3-D\"\ncurl -s \"https:\u002F\u002Fasciified.thelicato.io\u002Fapi\u002Fv2\u002Fascii?text=Hello&font=Banner3\"\n\n# List all available fonts (returns JSON array)\ncurl -s \"https:\u002F\u002Fasciified.thelicato.io\u002Fapi\u002Fv2\u002Ffonts\"\n```\n\n### Tips\n\n- URL-encode spaces as `+` in the text parameter\n- The response is plain text ASCII art — no JSON wrapping, ready to display\n- Font names are case-sensitive; use the fonts endpoint to get exact names\n- Works from any terminal with curl — no Python or pip needed\n\n## Tool 3: Cowsay (Message Art)\n\nClassic tool that wraps text in a speech bubble with an ASCII character.\n\n### Setup\n\n```bash\nsudo apt install cowsay -y    # Debian\u002FUbuntu\n# brew install cowsay         # macOS\n```\n\n### Usage\n\n```bash\ncowsay \"Hello World\"\ncowsay -f tux \"Linux rules\"       # Tux the penguin\ncowsay -f dragon \"Rawr!\"          # Dragon\ncowsay -f stegosaurus \"Roar!\"     # Stegosaurus\ncowthink \"Hmm...\"                  # Thought bubble\ncowsay -l                          # List all characters\n```\n\n### Available characters (50+)\n\n`beavis.zen`, `bong`, `bunny`, `cheese`, `daemon`, `default`, `dragon`,\n`dragon-and-cow`, `elephant`, `eyes`, `flaming-skull`, `ghostbusters`,\n`hellokitty`, `kiss`, `kitty`, `koala`, `luke-koala`, `mech-and-cow`,\n`meow`, `moofasa`, `moose`, `ren`, `sheep`, `skeleton`, `small`,\n`stegosaurus`, `stimpy`, `supermilker`, `surgery`, `three-eyes`,\n`turkey`, `turtle`, `tux`, `udder`, `vader`, `vader-koala`, `www`\n\n### Eye\u002Ftongue modifiers\n\n```bash\ncowsay -b \"Borg\"       # =_= eyes\ncowsay -d \"Dead\"       # x_x eyes\ncowsay -g \"Greedy\"     # $_$ eyes\ncowsay -p \"Paranoid\"   # @_@ eyes\ncowsay -s \"Stoned\"     # *_* eyes\ncowsay -w \"Wired\"      # O_O eyes\ncowsay -e \"OO\" \"Msg\"   # Custom eyes\ncowsay -T \"U \" \"Msg\"   # Custom tongue\n```\n\n## Tool 4: Boxes (Decorative Borders)\n\nDraw decorative ASCII art borders\u002Fframes around any text. 70+ built-in designs.\n\n### Setup\n\n```bash\nsudo apt install boxes -y    # Debian\u002FUbuntu\n# brew install boxes         # macOS\n```\n\n### Usage\n\n```bash\necho \"Hello World\" | boxes                    # Default box\necho \"Hello World\" | boxes -d stone           # Stone border\necho \"Hello World\" | boxes -d parchment       # Parchment scroll\necho \"Hello World\" | boxes -d cat             # Cat border\necho \"Hello World\" | boxes -d dog             # Dog border\necho \"Hello World\" | boxes -d unicornsay      # Unicorn\necho \"Hello World\" | boxes -d diamonds        # Diamond pattern\necho \"Hello World\" | boxes -d c-cmt           # C-style comment\necho \"Hello World\" | boxes -d html-cmt        # HTML comment\necho \"Hello World\" | boxes -a c               # Center text\nboxes -l                                       # List all 70+ designs\n```\n\n### Combine with pyfiglet or asciified\n\n```bash\npython3 -m pyfiglet \"HERMES\" -f slant | boxes -d stone\n# Or without pyfiglet installed:\ncurl -s \"https:\u002F\u002Fasciified.thelicato.io\u002Fapi\u002Fv2\u002Fascii?text=HERMES&font=Slant\" | boxes -d stone\n```\n\n## Tool 5: TOIlet (Colored Text Art)\n\nLike pyfiglet but with ANSI color effects and visual filters. Great for terminal eye candy.\n\n### Setup\n\n```bash\nsudo apt install toilet toilet-fonts -y    # Debian\u002FUbuntu\n# brew install toilet                      # macOS\n```\n\n### Usage\n\n```bash\ntoilet \"Hello World\"                    # Basic text art\ntoilet -f bigmono12 \"Hello\"            # Specific font\ntoilet --gay \"Rainbow!\"                 # Rainbow coloring\ntoilet --metal \"Metal!\"                 # Metallic effect\ntoilet -F border \"Bordered\"             # Add border\ntoilet -F border --gay \"Fancy!\"         # Combined effects\ntoilet -f pagga \"Block\"                 # Block-style font (unique to toilet)\ntoilet -F list                          # List available filters\n```\n\n### Filters\n\n`crop`, `gay` (rainbow), `metal`, `flip`, `flop`, `180`, `left`, `right`, `border`\n\n**Note**: toilet outputs ANSI escape codes for colors — works in terminals but may not render in all contexts (e.g., plain text files, some chat platforms).\n\n## Tool 6: Image to ASCII Art\n\nConvert images (PNG, JPEG, GIF, WEBP) to ASCII art.\n\n### Option A: ascii-image-converter (recommended, modern)\n\n```bash\n# Install\nsudo snap install ascii-image-converter\n# OR: go install github.com\u002FTheZoraiz\u002Fascii-image-converter@latest\n```\n\n```bash\nascii-image-converter image.png                  # Basic\nascii-image-converter image.png -C               # Color output\nascii-image-converter image.png -d 60,30         # Set dimensions\nascii-image-converter image.png -b               # Braille characters\nascii-image-converter image.png -n               # Negative\u002Finverted\nascii-image-converter https:\u002F\u002Furl\u002Fimage.jpg      # Direct URL\nascii-image-converter image.png --save-txt out   # Save as text\n```\n\n### Option B: jp2a (lightweight, JPEG only)\n\n```bash\nsudo apt install jp2a -y\njp2a --width=80 image.jpg\njp2a --colors image.jpg              # Colorized\n```\n\n## Tool 7: Search Pre-Made ASCII Art\n\nSearch curated ASCII art from the web. Use `terminal` with `curl`.\n\n### Source A: ascii.co.uk (recommended for pre-made art)\n\nLarge collection of classic ASCII art organized by subject. Art is inside HTML `\u003Cpre>` tags. Fetch the page with curl, then extract art with a small Python snippet.\n\n**URL pattern:** `https:\u002F\u002Fascii.co.uk\u002Fart\u002F{subject}`\n\n**Step 1 — Fetch the page:**\n\n```bash\ncurl -s 'https:\u002F\u002Fascii.co.uk\u002Fart\u002Fcat' -o \u002Ftmp\u002Fascii_art.html\n```\n\n**Step 2 — Extract art from pre tags:**\n\n```python\nimport re, html\nwith open('\u002Ftmp\u002Fascii_art.html') as f:\n    text = f.read()\narts = re.findall(r'\u003Cpre[^>]*>(.*?)\u003C\u002Fpre>', text, re.DOTALL)\nfor art in arts:\n    clean = re.sub(r'\u003C[^>]+>', '', art)\n    clean = html.unescape(clean).strip()\n    if len(clean) > 30:\n        print(clean)\n        print('\\n---\\n')\n```\n\n**Available subjects** (use as URL path):\n- Animals: `cat`, `dog`, `horse`, `bird`, `fish`, `dragon`, `snake`, `rabbit`, `elephant`, `dolphin`, `butterfly`, `owl`, `wolf`, `bear`, `penguin`, `turtle`\n- Objects: `car`, `ship`, `airplane`, `rocket`, `guitar`, `computer`, `coffee`, `beer`, `cake`, `house`, `castle`, `sword`, `crown`, `key`\n- Nature: `tree`, `flower`, `sun`, `moon`, `star`, `mountain`, `ocean`, `rainbow`\n- Characters: `skull`, `robot`, `angel`, `wizard`, `pirate`, `ninja`, `alien`\n- Holidays: `christmas`, `halloween`, `valentine`\n\n**Tips:**\n- Preserve artist signatures\u002Finitials — important etiquette\n- Multiple art pieces per page — pick the best one for the user\n- Works reliably via curl, no JavaScript needed\n\n### Source B: GitHub Octocat API (fun easter egg)\n\nReturns a random GitHub Octocat with a wise quote. No auth needed.\n\n```bash\ncurl -s https:\u002F\u002Fapi.github.com\u002Foctocat\n```\n\n## Tool 8: Fun ASCII Utilities (via curl)\n\nThese free services return ASCII art directly — great for fun extras.\n\n### QR Codes as ASCII Art\n\n```bash\ncurl -s \"qrenco.de\u002FHello+World\"\ncurl -s \"qrenco.de\u002Fhttps:\u002F\u002Fexample.com\"\n```\n\n### Weather as ASCII Art\n\n```bash\ncurl -s \"wttr.in\u002FLondon\"          # Full weather report with ASCII graphics\ncurl -s \"wttr.in\u002FMoon\"            # Moon phase in ASCII art\ncurl -s \"v2.wttr.in\u002FLondon\"       # Detailed version\n```\n\n## Tool 9: LLM-Generated Custom Art (Fallback)\n\nWhen tools above don't have what's needed, generate ASCII art directly using these Unicode characters:\n\n### Character Palette\n\n**Box Drawing:** `╔ ╗ ╚ ╝ ║ ═ ╠ ╣ ╦ ╩ ╬ ┌ ┐ └ ┘ │ ─ ├ ┤ ┬ ┴ ┼ ╭ ╮ ╰ ╯`\n\n**Block Elements:** `░ ▒ ▓ █ ▄ ▀ ▌ ▐ ▖ ▗ ▘ ▝ ▚ ▞`\n\n**Geometric & Symbols:** `◆ ◇ ◈ ● ○ ◉ ■ □ ▲ △ ▼ ▽ ★ ☆ ✦ ✧ ◀ ▶ ◁ ▷ ⬡ ⬢ ⌂`\n\n### Rules\n\n- Max width: 60 characters per line (terminal-safe)\n- Max height: 15 lines for banners, 25 for scenes\n- Monospace only: output must render correctly in fixed-width fonts\n\n## Decision Flow\n\n1. **Text as a banner** → pyfiglet if installed, otherwise asciified API via curl\n2. **Wrap a message in fun character art** → cowsay\n3. **Add decorative border\u002Fframe** → boxes (can combine with pyfiglet\u002Fasciified)\n4. **Art of a specific thing** (cat, rocket, dragon) → ascii.co.uk via curl + parsing\n5. **Convert an image to ASCII** → ascii-image-converter or jp2a\n6. **QR code** → qrenco.de via curl\n7. **Weather\u002Fmoon art** → wttr.in via curl\n8. **Something custom\u002Fcreative** → LLM generation with Unicode palette\n9. **Any tool not installed** → install it, or fall back to next option\n","# ASCII Art Skill\n\nMultiple tools for different ASCII art needs. All tools are local CLI programs or free REST APIs — no API keys required.\n\n## Tool 1: Text Banners (pyfiglet — local)\n\nRender text as large ASCII art banners. 571 built-in fonts.\n\n### Setup\n\n```bash\npip install pyfiglet --break-system-packages -q\n```\n\n### Usage\n\n```bash\npython3 -m pyfiglet \"YOUR TEXT\" -f slant\npython3 -m pyfiglet \"TEXT\" -f doom -w 80    # Set width\npython3 -m pyfiglet --list_fonts             # List all 571 fonts\n```\n\n### Recommended fonts\n\n| Style | Font | Best for |\n|-------|------|----------|\n| Clean & modern | `slant` | Project names, headers |\n| Bold & blocky | `doom` | Titles, logos |\n| Big & readable | `big` | Banners |\n| Classic banner | `banner3` | Wide displays |\n| Compact | `small` | Subtitles |\n| Cyberpunk | `cyberlarge` | Tech themes |\n| 3D effect | `3-d` | Splash screens |\n| Gothic | `gothic` | Dramatic text |\n\n### Tips\n\n- Preview 2-3 fonts and let the user pick their favorite\n- Short text (1-8 chars) works best with detailed fonts like `doom` or `block`\n- Long text works better with compact fonts like `small` or `mini`\n\n## Tool 2: Text Banners (asciified API — remote, no install)\n\nFree REST API that converts text to ASCII art. 250+ FIGlet fonts. Returns plain text directly — no parsing needed. Use this when pyfiglet is not installed or as a quick alternative.\n\n### Usage (via terminal curl)\n\n```bash\n# Basic text banner (default font)\ncurl -s \"https:\u002F\u002Fasciified.thelicato.io\u002Fapi\u002Fv2\u002Fascii?text=Hello+World\"\n\n# With a specific font\ncurl -s \"https:\u002F\u002Fasciified.thelicato.io\u002Fapi\u002Fv2\u002Fascii?text=Hello&font=Slant\"\ncurl -s \"https:\u002F\u002Fasciified.thelicato.io\u002Fapi\u002Fv2\u002Fascii?text=Hello&font=Doom\"\ncurl -s \"https:\u002F\u002Fasciified.thelicato.io\u002Fapi\u002Fv2\u002Fascii?text=Hello&font=Star+Wars\"\ncurl -s \"https:\u002F\u002Fasciified.thelicato.io\u002Fapi\u002Fv2\u002Fascii?text=Hello&font=3-D\"\ncurl -s \"https:\u002F\u002Fasciified.thelicato.io\u002Fapi\u002Fv2\u002Fascii?text=Hello&font=Banner3\"\n\n# List all available fonts (returns JSON array)\ncurl -s \"https:\u002F\u002Fasciified.thelicato.io\u002Fapi\u002Fv2\u002Ffonts\"\n```\n\n### Tips\n\n- URL-encode spaces as `+` in the text parameter\n- The response is plain text ASCII art — no JSON wrapping, ready to display\n- Font names are case-sensitive; use the fonts endpoint to get exact names\n- Works from any terminal with curl — no Python or pip needed\n\n## Tool 3: Cowsay (Message Art)\n\nClassic tool that wraps text in a speech bubble with an ASCII character.\n\n### Setup\n\n```bash\nsudo apt install cowsay -y    # Debian\u002FUbuntu\n# brew install cowsay         # macOS\n```\n\n### Usage\n\n```bash\ncowsay \"Hello World\"\ncowsay -f tux \"Linux rules\"       # Tux the penguin\ncowsay -f dragon \"Rawr!\"          # Dragon\ncowsay -f stegosaurus \"Roar!\"     # Stegosaurus\ncowthink \"Hmm...\"                  # Thought bubble\ncowsay -l                          # List all characters\n```\n\n### Available characters (50+)\n\n`beavis.zen`, `bong`, `bunny`, `cheese`, `daemon`, `default`, `dragon`,\n`dragon-and-cow`, `elephant`, `eyes`, `flaming-skull`, `ghostbusters`,\n`hellokitty`, `kiss`, `kitty`, `koala`, `luke-koala`, `mech-and-cow`,\n`meow`, `moofasa`, `moose`, `ren`, `sheep`, `skeleton`, `small`,\n`stegosaurus`, `stimpy`, `supermilker`, `surgery`, `three-eyes`,\n`turkey`, `turtle`, `tux`, `udder`, `vader`, `vader-koala`, `www`\n\n### Eye\u002Ftongue modifiers\n\n```bash\ncowsay -b \"Borg\"       # =_= eyes\ncowsay -d \"Dead\"       # x_x eyes\ncowsay -g \"Greedy\"     # $_$ eyes\ncowsay -p \"Paranoid\"   # @_@ eyes\ncowsay -s \"Stoned\"     # *_* eyes\ncowsay -w \"Wired\"      # O_O eyes\ncowsay -e \"OO\" \"Msg\"   # Custom eyes\ncowsay -T \"U \" \"Msg\"   # Custom tongue\n```\n\n## Tool 4: Boxes (Decorative Borders)\n\nDraw decorative ASCII art borders\u002Fframes around any text. 70+ built-in designs.\n\n### Setup\n\n```bash\nsudo apt install boxes -y    # Debian\u002FUbuntu\n# brew install boxes         # macOS\n```\n\n### Usage\n\n```bash\necho \"Hello World\" | boxes                    # Default box\necho \"Hello World\" | boxes -d stone           # Stone border\necho \"Hello World\" | boxes -d parchment       # Parchment scroll\necho \"Hello World\" | boxes -d cat             # Cat border\necho \"Hello World\" | boxes -d dog             # Dog border\necho \"Hello World\" | boxes -d unicornsay      # Unicorn\necho \"Hello World\" | boxes -d diamonds        # Diamond pattern\necho \"Hello World\" | boxes -d c-cmt           # C-style comment\necho \"Hello World\" | boxes -d html-cmt        # HTML comment\necho \"Hello World\" | boxes -a c               # Center text\nboxes -l                                       # List all 70+ designs\n```\n\n### Combine with pyfiglet or asciified\n\n```bash\npython3 -m pyfiglet \"HERMES\" -f slant | boxes -d stone\n# Or without pyfiglet installed:\ncurl -s \"https:\u002F\u002Fasciified.thelicato.io\u002Fapi\u002Fv2\u002Fascii?text=HERMES&font=Slant\" | boxes -d stone\n```\n\n## Tool 5: TOIlet (Colored Text Art)\n\nLike pyfiglet but with ANSI color effects and visual filters. Great for terminal eye candy.\n\n### Setup\n\n```bash\nsudo apt install toilet toilet-fonts -y    # Debian\u002FUbuntu\n# brew install toilet                      # macOS\n```\n\n### Usage\n\n```bash\ntoilet \"Hello World\"                    # Basic text art\ntoilet -f bigmono12 \"Hello\"            # Specific font\ntoilet --gay \"Rainbow!\"                 # Rainbow coloring\ntoilet --metal \"Metal!\"                 # Metallic effect\ntoilet -F border \"Bordered\"             # Add border\ntoilet -F border --gay \"Fancy!\"         # Combined effects\ntoilet -f pagga \"Block\"                 # Block-style font (unique to toilet)\ntoilet -F list                          # List available filters\n```\n\n### Filters\n\n`crop`, `gay` (rainbow), `metal`, `flip`, `flop`, `180`, `left`, `right`, `border`\n\n**Note**: toilet outputs ANSI escape codes for colors — works in terminals but may not render in all contexts (e.g., plain text files, some chat platforms).\n\n## Tool 6: Image to ASCII Art\n\nConvert images (PNG, JPEG, GIF, WEBP) to ASCII art.\n\n### Option A: ascii-image-converter (recommended, modern)\n\n```bash\n# Install\nsudo snap install ascii-image-converter\n# OR: go install github.com\u002FTheZoraiz\u002Fascii-image-converter@latest\n```\n\n```bash\nascii-image-converter image.png                  # Basic\nascii-image-converter image.png -C               # Color output\nascii-image-converter image.png -d 60,30         # Set dimensions\nascii-image-converter image.png -b               # Braille characters\nascii-image-converter image.png -n               # Negative\u002Finverted\nascii-image-converter https:\u002F\u002Furl\u002Fimage.jpg      # Direct URL\nascii-image-converter image.png --save-txt out   # Save as text\n```\n\n### Option B: jp2a (lightweight, JPEG only)\n\n```bash\nsudo apt install jp2a -y\njp2a --width=80 image.jpg\njp2a --colors image.jpg              # Colorized\n```\n\n## Tool 7: Search Pre-Made ASCII Art\n\nSearch curated ASCII art from the web. Use `terminal` with `curl`.\n\n### Source A: ascii.co.uk (recommended for pre-made art)\n\nLarge collection of classic ASCII art organized by subject. Art is inside HTML `\u003Cpre>` tags. Fetch the page with curl, then extract art with a small Python snippet.\n\n**URL pattern:** `https:\u002F\u002Fascii.co.uk\u002Fart\u002F{subject}`\n\n**Step 1 — Fetch the page:**\n\n```bash\ncurl -s 'https:\u002F\u002Fascii.co.uk\u002Fart\u002Fcat' -o \u002Ftmp\u002Fascii_art.html\n```\n\n**Step 2 — Extract art from pre tags:**\n\n```python\nimport re, html\nwith open('\u002Ftmp\u002Fascii_art.html') as f:\n    text = f.read()\narts = re.findall(r'\u003Cpre[^>]*>(.*?)\u003C\u002Fpre>', text, re.DOTALL)\nfor art in arts:\n    clean = re.sub(r'\u003C[^>]+>', '', art)\n    clean = html.unescape(clean).strip()\n    if len(clean) > 30:\n        print(clean)\n        print('\\n---\\n')\n```\n\n**Available subjects** (use as URL path):\n- Animals: `cat`, `dog`, `horse`, `bird`, `fish`, `dragon`, `snake`, `rabbit`, `elephant`, `dolphin`, `butterfly`, `owl`, `wolf`, `bear`, `penguin`, `turtle`\n- Objects: `car`, `ship`, `airplane`, `rocket`, `guitar`, `computer`, `coffee`, `beer`, `cake`, `house`, `castle`, `sword`, `crown`, `key`\n- Nature: `tree`, `flower`, `sun`, `moon`, `star`, `mountain`, `ocean`, `rainbow`\n- Characters: `skull`, `robot`, `angel`, `wizard`, `pirate`, `ninja`, `alien`\n- Holidays: `christmas`, `halloween`, `valentine`\n\n**Tips:**\n- Preserve artist signatures\u002Finitials — important etiquette\n- Multiple art pieces per page — pick the best one for the user\n- Works reliably via curl, no JavaScript needed\n\n### Source B: GitHub Octocat API (fun easter egg)\n\nReturns a random GitHub Octocat with a wise quote. No auth needed.\n\n```bash\ncurl -s https:\u002F\u002Fapi.github.com\u002Foctocat\n```\n\n## Tool 8: Fun ASCII Utilities (via curl)\n\nThese free services return ASCII art directly — great for fun extras.\n\n### QR Codes as ASCII Art\n\n```bash\ncurl -s \"qrenco.de\u002FHello+World\"\ncurl -s \"qrenco.de\u002Fhttps:\u002F\u002Fexample.com\"\n```\n\n### Weather as ASCII Art\n\n```bash\ncurl -s \"wttr.in\u002FLondon\"          # Full weather report with ASCII graphics\ncurl -s \"wttr.in\u002FMoon\"            # Moon phase in ASCII art\ncurl -s \"v2.wttr.in\u002FLondon\"       # Detailed version\n```\n\n## Tool 9: LLM-Generated Custom Art (Fallback)\n\nWhen tools above don't have what's needed, generate ASCII art directly using these Unicode characters:\n\n### Character Palette\n\n**Box Drawing:** `╔ ╗ ╚ ╝ ║ ═ ╠ ╣ ╦ ╩ ╬ ┌ ┐ └ ┘ │ ─ ├ ┤ ┬ ┴ ┼ ╭ ╮ ╰ ╯`\n\n**Block Elements:** `░ ▒ ▓ █ ▄ ▀ ▌ ▐ ▖ ▗ ▘ ▝ ▚ ▞`\n\n**Geometric & Symbols:** `◆ ◇ ◈ ● ○ ◉ ■ □ ▲ △ ▼ ▽ ★ ☆ ✦ ✧ ◀ ▶ ◁ ▷ ⬡ ⬢ ⌂`\n\n### Rules\n\n- Max width: 60 characters per line (terminal-safe)\n- Max height: 15 lines for banners, 25 for scenes\n- Monospace only: output must render correctly in fixed-width fonts\n\n## Decision Flow\n\n1. **Text as a banner** → pyfiglet if installed, otherwise asciified API via curl\n2. **Wrap a message in fun character art** → cowsay\n3. **Add decorative border\u002Fframe** → boxes (can combine with pyfiglet\u002Fasciified)\n4. **Art of a specific thing** (cat, rocket, dragon) → ascii.co.uk via curl + parsing\n5. **Convert an image to ASCII** → ascii-image-converter or jp2a\n6. **QR code** → qrenco.de via curl\n7. **Weather\u002Fmoon art** → wttr.in via curl\n8. **Something custom\u002Fcreative** → LLM generation with Unicode palette\n9. **Any tool not installed** → install it, or fall back to next option\n",{"name":5,"author":23,"license":14,"version":24,"metadata":25,"platforms":40,"description":7,"dependencies":44},"0xbyt4, Hermes Agent","4.0.0",{"hermes":26},{"tags":27,"related_skills":38},[28,29,30,31,32,33,34,35,36,37],"ASCII","Art","Banners","Creative","Unicode","Text-Art","pyfiglet","figlet","cowsay","boxes",[39],"excalidraw",[41,42,43],"linux","macos","windows",[],"main","f6a8453b945427ad778127c99f3da279c47a2220","bmad-runtime-lib\u002F_source_review\u002Fhermes-agent-main\u002Fhermes-agent-main\u002Fskills\u002Fcreative\u002Fascii-art","https:\u002F\u002Fgithub.com\u002FRESousa01\u002Fbmad-runtime-dev","https:\u002F\u002Fgithub.com\u002FRESousa01","2026-10-19 13:01:14",{"source":8,"skillName":5,"commands":52,"prompt":62,"zipAvailable":63},[53,56,59],{"tool":54,"command":55},"npx","npx skills add RESousa01\u002Fbmad-runtime-dev --skill ascii-art",{"tool":57,"command":58},"bunx","bunx skills add RESousa01\u002Fbmad-runtime-dev --skill ascii-art",{"tool":60,"command":61},"pnpm","pnpm dlx skills add RESousa01\u002Fbmad-runtime-dev --skill ascii-art","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FRESousa01\u002Fbmad-runtime-dev\u002Fblob\u002Fmain\u002Fbmad-runtime-lib\u002F_source_review\u002Fhermes-agent-main\u002Fhermes-agent-main\u002Fskills\u002Fcreative\u002Fascii-art\u002FSKILL.md",true,[],[66,75,83,90,97,104],{"skillNo":67,"name":68,"nameZh":6,"description":69,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":70,"licenseFileUrl":71,"sourceHtmlUrl":72,"categories":73,"keywords":74,"publishedAt":18},"01M78H3BBP6055J6C6Y0H85EFP","skill-creator","Create, edit, audit, tidy, validate, or restructure AgentSkills and SKILL.md files.","Apache-2.0","https:\u002F\u002Fgithub.com\u002FRESousa01\u002Fbmad-runtime-dev\u002Fblob\u002Fmain\u002Fbmad-runtime-lib\u002F_source_review\u002Fopenclaw-main\u002Fopenclaw-main\u002Fskills\u002Fskill-creator\u002Flicense.txt","https:\u002F\u002Fgithub.com\u002FRESousa01\u002Fbmad-runtime-dev\u002Fblob\u002Fmain\u002Fbmad-runtime-lib\u002F_source_review\u002Fopenclaw-main\u002Fopenclaw-main\u002Fskills\u002Fskill-creator\u002FSKILL.md",[],[],{"skillNo":76,"name":77,"nameZh":6,"description":78,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":79,"sourceHtmlUrl":80,"categories":81,"keywords":82,"publishedAt":18},"01M78H0B17WY9EQRPAV9G55Y2D","prose","OpenProse VM skill pack. Activate on any `prose` command, .prose files, or OpenProse mentions; orchestrates multi-agent workflows.","https:\u002F\u002Fgithub.com\u002FRESousa01\u002Fbmad-runtime-dev\u002Fblob\u002Fmain\u002Fbmad-runtime-lib\u002F_source_review\u002Fopenclaw-main\u002Fopenclaw-main\u002Fextensions\u002Fopen-prose\u002Fskills\u002Fprose\u002FLICENSE","https:\u002F\u002Fgithub.com\u002FRESousa01\u002Fbmad-runtime-dev\u002Fblob\u002Fmain\u002Fbmad-runtime-lib\u002F_source_review\u002Fopenclaw-main\u002Fopenclaw-main\u002Fextensions\u002Fopen-prose\u002Fskills\u002Fprose\u002FSKILL.md",[],[],{"skillNo":84,"name":85,"nameZh":6,"description":86,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":87,"categories":88,"keywords":89,"publishedAt":18},"01M78GYV3AEHB5ZQ8XH131F9HE","test-driven-development","TDD: enforce RED-GREEN-REFACTOR, tests before code.","https:\u002F\u002Fgithub.com\u002FRESousa01\u002Fbmad-runtime-dev\u002Fblob\u002Fmain\u002Fbmad-runtime-lib\u002F_source_review\u002Fhermes-agent-main\u002Fhermes-agent-main\u002Fskills\u002Fsoftware-development\u002Ftest-driven-development\u002FSKILL.md",[],[],{"skillNo":91,"name":92,"nameZh":6,"description":93,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":94,"categories":95,"keywords":96,"publishedAt":18},"01M78GYQ03NRD6F6KVBDX8STSJ","systematic-debugging","4-phase root cause debugging: understand bugs before fixing.","https:\u002F\u002Fgithub.com\u002FRESousa01\u002Fbmad-runtime-dev\u002Fblob\u002Fmain\u002Fbmad-runtime-lib\u002F_source_review\u002Fhermes-agent-main\u002Fhermes-agent-main\u002Fskills\u002Fsoftware-development\u002Fsystematic-debugging\u002FSKILL.md",[],[],{"skillNo":98,"name":99,"nameZh":6,"description":100,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":101,"categories":102,"keywords":103,"publishedAt":18},"01M78GYMHFYT1W2W0RN48E49BQ","spike","Throwaway experiments to validate an idea before build.","https:\u002F\u002Fgithub.com\u002FRESousa01\u002Fbmad-runtime-dev\u002Fblob\u002Fmain\u002Fbmad-runtime-lib\u002F_source_review\u002Fhermes-agent-main\u002Fhermes-agent-main\u002Fskills\u002Fsoftware-development\u002Fspike\u002FSKILL.md",[],[],{"skillNo":105,"name":106,"nameZh":6,"description":107,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":108,"categories":109,"keywords":110,"publishedAt":18},"01M78GYF9P7VZ8YJCVJPYS6KER","simplify-code","Parallel 3-agent cleanup of recent code changes.","https:\u002F\u002Fgithub.com\u002FRESousa01\u002Fbmad-runtime-dev\u002Fblob\u002Fmain\u002Fbmad-runtime-lib\u002F_source_review\u002Fhermes-agent-main\u002Fhermes-agent-main\u002Fskills\u002Fsoftware-development\u002Fsimplify-code\u002FSKILL.md",[],[]]