Hermes Agent Wiki 非公式・日本語wiki
この skill をそのまま使う: GitHub で原文を見る

英語原文・frontmatter 込みで、Hermes が読み込む実体そのままです(このページの本文は日本語版)。

Ascii Art

目次

アスキーアート: pyfiglet、cowsay、boxes、画像からの変換。

skill の情報

提供元 最初から入っています
パス skills/creative/ascii-art
バージョン 4.0.0
作者 0xbyt4, Hermes Agent
ライセンス MIT
対応プラットフォーム linux, macos, windows
タグ ASCII, Art, Banners, Creative, Unicode, Text-Art, pyfiglet, figlet, cowsay, boxes
関連 skill excalidraw

参考: SKILL.md 全文

ASCII Art の skill

用途ごとに複数の道具を使い分けます。どれもローカルの CLI か無料の REST API なので、API キーは要りません。

道具 1: 文字のバナー(pyfiglet — ローカル)

文字を大きなアスキーアートのバナーとして描きます。フォントは 571 種類が最初から入っています。

準備

pip install pyfiglet --break-system-packages -q

使い方

python3 -m pyfiglet "YOUR TEXT" -f slant
python3 -m pyfiglet "TEXT" -f doom -w 80    # Set width
python3 -m pyfiglet --list_fonts             # List all 571 fonts
雰囲気 フォント 向いている用途
すっきり現代的 slant プロジェクト名、見出し
太くて塊感がある doom タイトル、ロゴ
大きくて読みやすい big バナー
昔ながらのバナー banner3 横幅の広い画面
小さくまとまる small 副題
サイバーパンク cyberlarge 技術系の題材
立体的に見える 3-d 起動画面
ゴシック gothic 劇的な文字

こつ

  • 2〜3 種類のフォントを見せて、利用者に好きなものを選んでもらいます
  • 短い文字(1〜8 文字)は doomblock のような描き込みの多いフォントが映えます
  • 長い文字は smallmini のような小さくまとまるフォントのほうが読めます

道具 2: 文字のバナー(asciified API — 通信、導入不要)

文字をアスキーアートに変換する無料の REST API です。FIGlet のフォントが 250 種類以上あります。ただの文字列がそのまま返るので、解析の手間もありません。pyfiglet が入っていないときや、手軽に済ませたいときに使ってください。

使い方(terminal から curl で)

# Basic text banner (default font)
curl -s "https://asciified.thelicato.io/api/v2/ascii?text=Hello+World"

# With a specific font
curl -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"

こつ

  • text の値では、空白を + に置き換えます
  • 応答は JSON に包まれていない、そのまま表示できるアスキーアートです
  • フォント名は大文字と小文字を区別します。正確な名前はフォント一覧のエンドポイントで確かめてください
  • curl があればどの端末からでも使えます。Python も pip も要りません

道具 3: cowsay(吹き出しのアート)

文字を吹き出しに入れて、アスキーアートのキャラクターに喋らせる昔ながらの道具です。

準備

sudo apt install cowsay -y    # Debian/Ubuntu
# brew install cowsay         # macOS

使い方

cowsay "Hello World"
cowsay -f tux "Linux rules"       # Tux the penguin
cowsay -f dragon "Rawr!"          # Dragon
cowsay -f stegosaurus "Roar!"     # Stegosaurus
cowthink "Hmm..."                  # Thought bubble
cowsay -l                          # List all 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

目と舌を変える

cowsay -b "Borg"       # =_= eyes
cowsay -d "Dead"       # x_x eyes
cowsay -g "Greedy"     # $_$ eyes
cowsay -p "Paranoid"   # @_@ eyes
cowsay -s "Stoned"     # *_* eyes
cowsay -w "Wired"      # O_O eyes
cowsay -e "OO" "Msg"   # Custom eyes
cowsay -T "U " "Msg"   # Custom tongue

道具 4: boxes(飾り枠)

どんな文字でも、アスキーアートの飾り枠で囲みます。デザインは 70 種類以上が最初から入っています。

準備

sudo apt install boxes -y    # Debian/Ubuntu
# brew install boxes         # macOS

使い方

echo "Hello World" | boxes                    # Default box
echo "Hello World" | boxes -d stone           # Stone border
echo "Hello World" | boxes -d parchment       # Parchment scroll
echo "Hello World" | boxes -d cat             # Cat border
echo "Hello World" | boxes -d dog             # Dog border
echo "Hello World" | boxes -d unicornsay      # Unicorn
echo "Hello World" | boxes -d diamonds        # Diamond pattern
echo "Hello World" | boxes -d c-cmt           # C-style comment
echo "Hello World" | boxes -d html-cmt        # HTML comment
echo "Hello World" | boxes -a c               # Center text
boxes -l                                       # List all 70+ designs

pyfiglet や 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 stone

道具 5: TOIlet(色付きの文字アート)

pyfiglet に似ていますが、ANSI の色や見た目のフィルタを付けられます。端末を彩るのに向いています。

準備

sudo apt install toilet toilet-fonts -y    # Debian/Ubuntu
# brew install toilet                      # macOS

使い方

toilet "Hello World"                    # Basic text art
toilet -f bigmono12 "Hello"            # Specific font
toilet --gay "Rainbow!"                 # Rainbow coloring
toilet --metal "Metal!"                 # Metallic effect
toilet -F border "Bordered"             # Add border
toilet -F border --gay "Fancy!"         # Combined effects
toilet -f pagga "Block"                 # Block-style font (unique to toilet)
toilet -F list                          # List available filters

フィルタ

crop, gay (rainbow), metal, flip, flop, 180, left, right, border

補足: toilet は色を ANSI のエスケープコードで出力します。端末では色が付きますが、そうでない場所(ただのテキストファイル、一部のチャットなど)ではうまく表示されないことがあります。

道具 6: 画像をアスキーアートに変換する

画像(PNG、JPEG、GIF、WEBP)をアスキーアートに変換します。

# Install
sudo snap install ascii-image-converter
# OR: go install github.com/TheZoraiz/ascii-image-converter@latest
ascii-image-converter image.png                  # Basic
ascii-image-converter image.png -C               # Color output
ascii-image-converter image.png -d 60,30         # Set dimensions
ascii-image-converter image.png -b               # Braille characters
ascii-image-converter image.png -n               # Negative/inverted
ascii-image-converter https://url/image.jpg      # Direct URL
ascii-image-converter image.png --save-txt out   # Save as text

方法 B: jp2a(軽量、JPEG のみ)

sudo apt install jp2a -y
jp2a --width=80 image.jpg
jp2a --colors image.jpg              # Colorized

道具 7: できあいのアスキーアートを探す

Web で集められたアスキーアートを探します。terminal から curl を使ってください。

昔ながらのアスキーアートを題材ごとにまとめた大きな作品集です。作品は HTML の <pre> タグの中にあります。curl でページを取ってきて、短い Python で作品を取り出します。

URL の形: https://ascii.co.uk/art/{subject}

手順 1 — ページを取ってくる:

curl -s 'https://ascii.co.uk/art/cat' -o /tmp/ascii_art.html

手順 2 — pre タグから作品を取り出す:


with 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')

用意されている題材(URL のパスに使います):

  • 動物: cat, dog, horse, bird, fish, dragon, snake, rabbit, elephant, dolphin, butterfly, owl, wolf, bear, penguin, turtle
  • もの: car, ship, airplane, rocket, guitar, computer, coffee, beer, cake, house, castle, sword, crown, key
  • 自然: tree, flower, sun, moon, star, mountain, ocean, rainbow
  • 登場人物: skull, robot, angel, wizard, pirate, ninja, alien
  • 行事: christmas, halloween, valentine

こつ:

  • 作者の署名や頭文字は消さないでください。作法として大事なところです
  • 1 ページに複数の作品があります。利用者に合うものを選んでください
  • curl で確実に取れます。JavaScript は要りません

提供元 B: GitHub の Octocat API(お遊びの隠し要素)

GitHub の Octocat と気の利いた一言をランダムに返します。認証は不要です。

curl -s https://api.github.com/octocat

道具 8: 楽しい小ネタ(curl から)

これらの無料サービスは、アスキーアートをそのまま返します。ちょっとした遊びに向いています。

QR コードをアスキーアートで

curl -s "qrenco.de/Hello+World"
curl -s "qrenco.de/https://example.com"

天気をアスキーアートで

curl -s "wttr.in/London"          # Full weather report with ASCII graphics
curl -s "wttr.in/Moon"            # Moon phase in ASCII art
curl -s "v2.wttr.in/London"       # Detailed version

道具 9: LLM が自分で描く(最後の手段)

上のどの道具にも欲しいものがないときは、次の Unicode の文字を使って自分でアスキーアートを描きます。

使える文字

罫線: ╔ ╗ ╚ ╝ ║ ═ ╠ ╣ ╦ ╩ ╬ ┌ ┐ └ ┘ │ ─ ├ ┤ ┬ ┴ ┼ ╭ ╮ ╰ ╯

ブロック: ░ ▒ ▓ █ ▄ ▀ ▌ ▐ ▖ ▗ ▘ ▝ ▚ ▞

図形と記号: ◆ ◇ ◈ ● ○ ◉ ■ □ ▲ △ ▼ ▽ ★ ☆ ✦ ✧ ◀ ▶ ◁ ▷ ⬡ ⬢ ⌂

決まりごと

  • 横幅は 1 行 60 文字まで(端末で崩れない範囲)
  • 高さはバナーで 15 行、場面を描くなら 25 行まで
  • 等幅であること。等幅フォントで正しく表示できる形にします

どれを使うか

  1. 文字をバナーにしたい → pyfiglet があればそれを、なければ curl から asciified API を使う
  2. メッセージをキャラクターのアートに入れたい → cowsay
  3. 飾り枠を付けたい → boxes(pyfiglet や asciified と組み合わせられます)
  4. 特定のもののアートが欲しい(猫、ロケット、竜など) → curl で ascii.co.uk から取って解析する
  5. 画像をアスキーアートにしたい → ascii-image-converter か jp2a
  6. QR コード → curl で qrenco.de
  7. 天気や月のアート → curl で wttr.in
  8. もっと自由に作りたい → Unicode の文字を使って LLM が描く
  9. 必要な道具が入っていない → 導入するか、次の選択肢に移る