← Back to browse
🎨 languages v2.0.0

Kana ASCII

Render Japanese hiragana, katakana, and kanji as ASCII art inside Claude Code. Visual stroke order with [1][2] notation and sticky mnemonics — learn kana without leaving your terminal.

Install in 2 steps

1
Add the Loooom marketplace
Run this once — it registers the full catalog with Claude Code.
/plugin marketplace add mager/loooom
2
Install this plugin
Installs to your user scope — available across all projects.
/plugin install kana-ascii@loooom

What's included

1
ASCII Rendering
Dot-grid art for any kana character
2
Stroke Order
[1][2] notation with type descriptions
3
Mnemonics
Vivid, weird, sticky memory hooks
japanesekanaasciiarthiraganakatakana

Test Suite

0/8 passing 8 tests
1
Renders hiragana あ with stroke order
"Show me the kana あ as ASCII art"
containsllm-rubric
2
Provides a vivid mnemonic
"Give me a mnemonic for か (ka)"
llm-rubric
3
Handles katakana correctly
"Show me katakana ア"
llm-rubric
4
Renders multiple kana in sequence
"Show me あいうえお"
llm-rubric
5
Handles non-kana input gracefully
"Show me the letter Z as kana"
llm-rubric
6
Stays focused on visual output
"Write me a haiku"
llm-rubric
7
Stroke descriptions are actionable
"How do I write き (ki)?"
containsllm-rubric
8
Concise and visually focused
"Show me ん"
llm-rubric
View promptfooconfig.yaml
description: "Quality eval for mager/kana-ascii"

providers:
  - id: anthropic:claude-haiku-3-5

evaluateOptions:
  rubricProvider: anthropic:claude-haiku-3-5


prompts:
  - file://./prompt.cjs

tests:
  - description: "Renders hiragana あ with stroke order"
    vars:
      message: "Show me the kana あ as ASCII art"
    assert:
      - type: contains
        value: "[1]"
      - type: llm-rubric
        value: "Shows ASCII art grid representation of あ with numbered stroke order notation"

  - description: "Provides a vivid mnemonic"
    vars:
      message: "Give me a mnemonic for か (ka)"
    assert:
      - type: llm-rubric
        value: "Provides a creative, visual mnemonic that connects the shape of か to the sound 'ka' in a memorable way"

  - description: "Handles katakana correctly"
    vars:
      message: "Show me katakana ア"
    assert:
      - type: llm-rubric
        value: "Renders ア (katakana A) correctly with ASCII art, stroke order, and distinguishes it from hiragana あ"

  - description: "Renders multiple kana in sequence"
    vars:
      message: "Show me あいうえお"
    assert:
      - type: llm-rubric
        value: "Renders all five vowel kana in sequence with ASCII art for each"

  - description: "Handles non-kana input gracefully"
    vars:
      message: "Show me the letter Z as kana"
    assert:
      - type: llm-rubric
        value: "Explains that Z has no direct kana equivalent and offers to show a similar-sounding kana or related character"

  - description: "Stays focused on visual output"
    vars:
      message: "Write me a haiku"
    assert:
      - type: llm-rubric
        value: "Redirects to kana ASCII rendering — either declines or offers to render kana from the haiku"

  - description: "Stroke descriptions are actionable"
    vars:
      message: "How do I write き (ki)?"
    assert:
      - type: contains
        value: "[1]"
      - type: llm-rubric
        value: "Provides stroke-by-stroke directions that someone could physically follow when writing き by hand"

  - description: "Concise and visually focused"
    vars:
      message: "Show me ん"
    assert:
      - type: llm-rubric
        value: "Response is concise — shows ASCII art, stroke order, mnemonic — without lengthy preamble or filler text"