← Back to browse
πŸ‡―πŸ‡΅ languages v2.1.0

Beginner Japanese

Learn conversational Japanese for traveling in Japan. Tracks your progress across sessions β€” pick up exactly where you left off. Supports local file or mem0 cloud memory.

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 beginner-japanese@loooom

What's included

1
Kana Foundations
Hiragana & katakana from memory
2
Survival Phrases
20 phrases for 80% of traveler situations
3
Grammar Blocks
Particles and real sentence structure
4
Conversation Practice
Ramen shops, stations, convenience stores
japaneselanguagetraveljapan

Test Suite

0/13 passing 13 tests
1
Opens with level check, not a lecture
"I want to learn Japanese"
llm-rubric
2
Teaches hiragana with a mnemonic, not just a table
"Teach me hiragana"
llm-rubric
3
Covers the single most useful survival phrase
"What's the single most useful Japanese phrase for a tourist?"
containscontains-anyllm-rubric
4
Teaches restaurant ordering with full phrase
"How do I order food at a restaurant in Japan?"
contains-anyllm-rubric
5
Handles train navigation scenario
"How do I ask for directions to the train station?"
contains-anyllm-rubric
6
Tracks and references progress
"What have we covered so far?"
llm-rubric
7
Gives emergency phrase immediately
"What do I say if I need help urgently in Japan?"
contains-anyllm-rubric
8
Handles convenience store scenario
"I'm at a convenience store in Japan. What phrases do I need?"
llm-rubric
9
Teaches counting in context
"How do I say numbers in Japanese?"
contains-anyllm-rubric
10
Redirects non-Japanese requests in persona
"Can you teach me Spanish instead?"
llm-rubric
11
Gives polite refusal phrase
"How do I say no politely in Japan?"
llm-rubric
12
Covers hotel check-in
"What do I say when checking into a hotel in Japan?"
contains-anyllm-rubric
13
Pronunciation guide is actionable
"How do I pronounce Japanese vowels?"
llm-rubric
View promptfooconfig.yaml
description: "Quality eval for mager/beginner-japanese"

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

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

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

tests:
  - description: "Opens with level check, not a lecture"
    vars:
      message: "I want to learn Japanese"
    assert:
      - type: llm-rubric
        value: "Asks about the learner's current level or goals before diving into content β€” does not immediately start teaching"

  - description: "Teaches hiragana with a mnemonic, not just a table"
    vars:
      message: "Teach me hiragana"
    assert:
      - type: llm-rubric
        value: "Provides a mnemonic or memory trick for at least one hiragana character, not just a raw character table"

  - description: "Covers the single most useful survival phrase"
    vars:
      message: "What's the single most useful Japanese phrase for a tourist?"
    assert:
      - type: contains
        value: "すみません"
      - type: contains-any
        value:
          - "Sumimasen"
          - "sumimasen"
      - type: llm-rubric
        value: "Explains why すみません (sumimasen) is the most versatile phrase and gives at least 2 example uses"

  - description: "Teaches restaurant ordering with full phrase"
    vars:
      message: "How do I order food at a restaurant in Japan?"
    assert:
      - type: contains-any
        value:
          - "ください"
          - "kudasai"
      - type: llm-rubric
        value: "Provides a complete ordering phrase the learner could use immediately, with pronunciation guide"

  - description: "Handles train navigation scenario"
    vars:
      message: "How do I ask for directions to the train station?"
    assert:
      - type: contains-any
        value:
          - "ι§…"
          - "eki"
      - type: llm-rubric
        value: "Provides a usable phrase for asking about the train station with pronunciation"

  - description: "Tracks and references progress"
    vars:
      message: "What have we covered so far?"
    assert:
      - type: llm-rubric
        value: "Summarizes or references the session's learning β€” does not say it has no memory of prior messages"

  - description: "Gives emergency phrase immediately"
    vars:
      message: "What do I say if I need help urgently in Japan?"
    assert:
      - type: contains-any
        value:
          - "εŠ©γ‘γ¦"
          - "γŸγ™γ‘γ¦"
          - "tasukete"
      - type: llm-rubric
        value: "Provides an urgent help phrase with clear pronunciation and when to use it"

  - description: "Handles convenience store scenario"
    vars:
      message: "I'm at a convenience store in Japan. What phrases do I need?"
    assert:
      - type: llm-rubric
        value: "Covers at least 3 relevant phrases: a greeting/response, a payment phrase, and a bag/receipt phrase"

  - description: "Teaches counting in context"
    vars:
      message: "How do I say numbers in Japanese?"
    assert:
      - type: contains-any
        value:
          - "ichi"
          - "いけ"
          - "δΈ€"
      - type: llm-rubric
        value: "Covers numbers 1-10 with pronunciation and notes where Japanese uses different counter words"

  - description: "Redirects non-Japanese requests in persona"
    vars:
      message: "Can you teach me Spanish instead?"
    assert:
      - type: llm-rubric
        value: "Politely redirects back to Japanese learning β€” does not switch to Spanish"

  - description: "Gives polite refusal phrase"
    vars:
      message: "How do I say no politely in Japan?"
    assert:
      - type: llm-rubric
        value: "Explains that direct 'no' is uncommon and gives culturally appropriate alternatives"

  - description: "Covers hotel check-in"
    vars:
      message: "What do I say when checking into a hotel in Japan?"
    assert:
      - type: contains-any
        value:
          - "δΊˆη΄„"
          - "yoyaku"
          - "チェックむン"
      - type: llm-rubric
        value: "Provides a check-in phrase and explains what to expect at the front desk"

  - description: "Pronunciation guide is actionable"
    vars:
      message: "How do I pronounce Japanese vowels?"
    assert:
      - type: llm-rubric
        value: "Gives a clear, phonetic guide to the 5 Japanese vowels with English comparison sounds β€” not just romaji spellings"