Ascii Art — ASCII art: pyfiglet, cowsay, boxes, image-to-ascii
Ascii Art
Section titled “Ascii Art”ASCII art: pyfiglet, cowsay, boxes, image-to-ascii.
Skill metadata
Section titled “Skill metadata”| Source | Bundled (installed by default) |
| Path | skills/creative/ascii-art |
| Version | 4.0.0 |
| Author | 0xbyt4, Hermes Agent |
| License | MIT |
| Tags | ASCII, Art, Banners, Creative, Unicode, Text-Art, pyfiglet, figlet, cowsay, boxes |
| Related skills | excalidraw |
Reference: full SKILL.md
Section titled “Reference: full SKILL.md”The following is the complete skill definition that Hermes loads when this skill is triggered. This is what the agent sees as instructions when the skill is active.
ASCII Art Skill
Section titled “ASCII Art Skill”Multiple tools for different ASCII art needs. All tools are local CLI programs or free REST APIs — no API keys required.
Tool 1: Text Banners (pyfiglet — local)
Section titled “Tool 1: Text Banners (pyfiglet — local)”Render text as large ASCII art banners. 571 built-in fonts.
pip install pyfiglet --break-system-packages -qpython3 -m pyfiglet "YOUR TEXT" -f slantpython3 -m pyfiglet "TEXT" -f doom -w 80 # Set widthpython3 -m pyfiglet --list_fonts # List all 571 fontsRecommended fonts
Section titled “Recommended fonts”| Style | Font | Best for |
|---|---|---|
| Clean & modern | slant | Project names, headers |
| Bold & blocky | doom | Titles, logos |
| Big & readable | big | Banners |
| Classic banner | banner3 | Wide displays |
| Compact | small | Subtitles |
| Cyberpunk | cyberlarge | Tech themes |
| 3D effect | 3-d | Splash screens |
| Gothic | gothic | Dramatic text |
- Preview 2-3 fonts and let the user pick their favorite
- Short text (1-8 chars) works best with detailed fonts like
doomorblock - Long text works better with compact fonts like
smallormini
Tool 2: Text Banners (asciified API — remote, no install)
Section titled “Tool 2: Text Banners (asciified API — remote, no install)”Free 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.
Usage (via terminal curl)
Section titled “Usage (via terminal curl)”# Basic text banner (default font)curl -s "https://asciified.thelicato.io/api/v2/ascii?text=Hello+World"
# With a specific fontcurl -s "https://asciified.thelicato.io/api/v2/ascii?text=Hello&font=Slant"curl -s "https://asciified.thelicato.io/api/v2/ascii?text=Hello&font=Doom"curl -s "https://asciified.thelicato.io/api/v2/ascii?text=Hello&font=Star+Wars"curl -s "https://asciified.thelicato.io/api/v2/ascii?text=Hello&font=3-D"curl -s "https://asciified.thelicato.io/api/v2/ascii?text=Hello&font=Banner3"
# List all available fonts (returns JSON array)curl -s "https://asciified.thelicato.io/api/v2/fonts"- URL-encode spaces as
+in the text parameter - The response is plain text ASCII art — no JSON wrapping, ready to display
- Font names are case-sensitive; use the fonts endpoint to get exact names
- Works from any terminal with curl — no Python or pip needed
Tool 3: Cowsay (Message Art)
Section titled “Tool 3: Cowsay (Message Art)”Classic tool that wraps text in a speech bubble with an ASCII character.
sudo apt install cowsay -y # Debian/Ubuntu# brew install cowsay # macOScowsay "Hello World"cowsay -f tux "Linux rules" # Tux the penguincowsay -f dragon "Rawr!" # Dragoncowsay -f stegosaurus "Roar!" # Stegosauruscowthink "Hmm..." # Thought bubblecowsay -l # List all charactersAvailable characters (50+)
Section titled “Available characters (50+)”beavis.zen, bong, bunny, cheese, daemon, default, dragon,
dragon-and-cow, elephant, eyes, flaming-skull, ghostbusters,
hellokitty, kiss, kitty, koala, luke-koala, mech-and-cow,
meow, moofasa, moose, ren, sheep, skeleton, small,
stegosaurus, stimpy, supermilker, surgery, three-eyes,
turkey, turtle, tux, udder, vader, vader-koala, www
Eye/tongue modifiers
Section titled “Eye/tongue modifiers”cowsay -b "Borg" # =_= eyescowsay -d "Dead" # x_x eyescowsay -g "Greedy" # $_$ eyescowsay -p "Paranoid" # @_@ eyescowsay -s "Stoned" # *_* eyescowsay -w "Wired" # O_O eyescowsay -e "OO" "Msg" # Custom eyescowsay -T "U " "Msg" # Custom tongueTool 4: Boxes (Decorative Borders)
Section titled “Tool 4: Boxes (Decorative Borders)”Draw decorative ASCII art borders/frames around any text. 70+ built-in designs.
sudo apt install boxes -y # Debian/Ubuntu# brew install boxes # macOSecho "Hello World" | boxes # Default boxecho "Hello World" | boxes -d stone # Stone borderecho "Hello World" | boxes -d parchment # Parchment scrollecho "Hello World" | boxes -d cat # Cat borderecho "Hello World" | boxes -d dog # Dog borderecho "Hello World" | boxes -d unicornsay # Unicornecho "Hello World" | boxes -d diamonds # Diamond patternecho "Hello World" | boxes -d c-cmt # C-style commentecho "Hello World" | boxes -d html-cmt # HTML commentecho "Hello World" | boxes -a c # Center textboxes -l # List all 70+ designsCombine with pyfiglet or asciified
Section titled “Combine with pyfiglet or asciified”python3 -m pyfiglet "HERMES" -f slant | boxes -d stone# Or without pyfiglet installed:curl -s "https://asciified.thelicato.io/api/v2/ascii?text=HERMES&font=Slant" | boxes -d stoneTool 5: TOIlet (Colored Text Art)
Section titled “Tool 5: TOIlet (Colored Text Art)”Like pyfiglet but with ANSI color effects and visual filters. Great for terminal eye candy.
sudo apt install toilet toilet-fonts -y # Debian/Ubuntu# brew install toilet # macOStoilet "Hello World" # Basic text arttoilet -f bigmono12 "Hello" # Specific fonttoilet --gay "Rainbow!" # Rainbow coloringtoilet --metal "Metal!" # Metallic effecttoilet -F border "Bordered" # Add bordertoilet -F border --gay "Fancy!" # Combined effectstoilet -f pagga "Block" # Block-style font (unique to toilet)toilet -F list # List available filtersFilters
Section titled “Filters”crop, gay (rainbow), metal, flip, flop, 180, left, right, border
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).
Tool 6: Image to ASCII Art
Section titled “Tool 6: Image to ASCII Art”Convert images (PNG, JPEG, GIF, WEBP) to ASCII art.
Option A: ascii-image-converter (recommended, modern)
Section titled “Option A: ascii-image-converter (recommended, modern)”# Installsudo snap install ascii-image-converter# OR: go install github.com/TheZoraiz/ascii-image-converter@latestascii-image-converter image.png # Basicascii-image-converter image.png -C # Color outputascii-image-converter image.png -d 60,30 # Set dimensionsascii-image-converter image.png -b # Braille charactersascii-image-converter image.png -n # Negative/invertedascii-image-converter https://url/image.jpg # Direct URLascii-image-converter image.png --save-txt out # Save as textOption B: jp2a (lightweight, JPEG only)
Section titled “Option B: jp2a (lightweight, JPEG only)”sudo apt install jp2a -yjp2a --width=80 image.jpgjp2a --colors image.jpg # ColorizedTool 7: Search Pre-Made ASCII Art
Section titled “Tool 7: Search Pre-Made ASCII Art”Search curated ASCII art from the web. Use terminal with curl.
Source A: ascii.co.uk (recommended for pre-made art)
Section titled “Source A: ascii.co.uk (recommended for pre-made art)”Large collection of classic ASCII art organized by subject. Art is inside HTML <pre> tags. Fetch the page with curl, then extract art with a small Python snippet.
URL pattern: https://ascii.co.uk/art/{subject}
Step 1 — Fetch the page:
curl -s 'https://ascii.co.uk/art/cat' -o /tmp/ascii_art.htmlStep 2 — Extract art from pre tags:
import re, htmlwith open('/tmp/ascii_art.html') as f: text = f.read()arts = re.findall(r'<pre[^>]*>(.*?)</pre>', text, re.DOTALL)for art in arts: clean = re.sub(r'<[^>]+>', '', art) clean = html.unescape(clean).strip() if len(clean) > 30: print(clean) print('\n---\n')Available subjects (use as URL path):
- Animals:
cat,dog,horse,bird,fish,dragon,snake,rabbit,elephant,dolphin,butterfly,owl,wolf,bear,penguin,turtle - Objects:
car,ship,airplane,rocket,guitar,computer,coffee,beer,cake,house,castle,sword,crown,key - Nature:
tree,flower,sun,moon,star,mountain,ocean,rainbow - Characters:
skull,robot,angel,wizard,pirate,ninja,alien - Holidays:
christmas,halloween,valentine
Tips:
- Preserve artist signatures/initials — important etiquette
- Multiple art pieces per page — pick the best one for the user
- Works reliably via curl, no JavaScript needed
Source B: GitHub Octocat API (fun easter egg)
Section titled “Source B: GitHub Octocat API (fun easter egg)”Returns a random GitHub Octocat with a wise quote. No auth needed.
curl -s https://api.github.com/octocatTool 8: Fun ASCII Utilities (via curl)
Section titled “Tool 8: Fun ASCII Utilities (via curl)”These free services return ASCII art directly — great for fun extras.
QR Codes as ASCII Art
Section titled “QR Codes as ASCII Art”curl -s "qrenco.de/Hello+World"curl -s "qrenco.de/https://example.com"Weather as ASCII Art
Section titled “Weather as ASCII Art”curl -s "wttr.in/London" # Full weather report with ASCII graphicscurl -s "wttr.in/Moon" # Moon phase in ASCII artcurl -s "v2.wttr.in/London" # Detailed versionTool 9: LLM-Generated Custom Art (Fallback)
Section titled “Tool 9: LLM-Generated Custom Art (Fallback)”When tools above don’t have what’s needed, generate ASCII art directly using these Unicode characters:
Character Palette
Section titled “Character Palette”Box Drawing: ╔ ╗ ╚ ╝ ║ ═ ╠ ╣ ╦ ╩ ╬ ┌ ┐ └ ┘ │ ─ ├ ┤ ┬ ┴ ┼ ╭ ╮ ╰ ╯
Block Elements: ░ ▒ ▓ █ ▄ ▀ ▌ ▐ ▖ ▗ ▘ ▝ ▚ ▞
Geometric & Symbols: ◆ ◇ ◈ ● ○ ◉ ■ □ ▲ △ ▼ ▽ ★ ☆ ✦ ✧ ◀ ▶ ◁ ▷ ⬡ ⬢ ⌂
- Max width: 60 characters per line (terminal-safe)
- Max height: 15 lines for banners, 25 for scenes
- Monospace only: output must render correctly in fixed-width fonts
Decision Flow
Section titled “Decision Flow”- Text as a banner → pyfiglet if installed, otherwise asciified API via curl
- Wrap a message in fun character art → cowsay
- Add decorative border/frame → boxes (can combine with pyfiglet/asciified)
- Art of a specific thing (cat, rocket, dragon) → ascii.co.uk via curl + parsing
- Convert an image to ASCII → ascii-image-converter or jp2a
- QR code → qrenco.de via curl
- Weather/moon art → wttr.in via curl
- Something custom/creative → LLM generation with Unicode palette
- Any tool not installed → install it, or fall back to next option