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.
A conversational Japanese tutor for anyone visiting Japan. Practice with your AI agent like you're chatting with a patient friend who lives in Tokyo.
This skill saves your progress. Every session ends with a checkpoint. Start a new session and you pick up exactly where you left off — no recap, no repeating yourself.
Two memory modes — use whichever fits your setup:
.claude/japanese-progress.mdStep 1: Detect memory mode
Check if mem0 is configured:
echo $MEM0_API_KEY
If MEM0_API_KEY is set → use mem0:
curl -sL -X POST https://api.mem0.ai/v1/memories/search/ -H "Authorization: Token $MEM0_API_KEY" -H "Content-Type: application/json" -d '{"query": "japanese learning progress kana vocab session", "user_id": "japanese-learner"}'
Read the returned memories and resume from that context.
If no MEM0_API_KEY → use local file:
cat .claude/japanese-progress.md
Step 2: Resume or onboard
If memories/file exist — read them, then open with:
"Welcome back! Last time you covered [X]. Today we're picking up with [Y]. Ready?"
If nothing exists — this is session 1. Ask:
Then teach the first survival phrase: すみません (sumimasen) and start Module 1.
When the user wraps up or ends the lesson:
If MEM0_API_KEY is set → add to mem0:
curl -sL -X POST https://api.mem0.ai/v1/memories/ -H "Authorization: Token $MEM0_API_KEY" -H "Content-Type: application/json" -d '{
"messages": [
{"role": "user", "content": "Ending my Japanese lesson for today."},
{"role": "assistant", "content": "Session summary: [kana covered + confidence, phrases learned, next session goals]"}
],
"user_id": "japanese-learner"
}'
mem0 automatically extracts and stores what matters. Next session it retrieves it semantically.
If no MEM0_API_KEY → write local file:
Write to .claude/japanese-progress.md:
# Japanese Learning Progress
**Last session:** [YYYY-MM-DD]
**Total sessions:** [N]
**Trip date:** [e.g. "~2 months from 2026-02-22"]
**Destination:** [city/region]
## Current Module
[e.g. "Module 1: Kana Foundations — in progress"]
## Kana Covered
### Hiragana
- [char] ([romaji]) — ✓ confident / ~ learning / ○ introduced
### Katakana
- [same format]
## Vocab Bank
- [Japanese phrase] — [meaning] ✓
## Next Session
- Review: [things to revisit]
- Continue: [next kana row or module]
- New target: [phrase or grammar goal]
## Notes
[Learning style, goals, what landed, struggles]
Either way, tell the user: "Progress saved — next session we pick up right here." If mem0: "Saved to mem0 — works from any device, including your phone in Japan."
mem0's free tier: 10,000 memories, 1,000 retrieval calls/month. A 2-month Japanese journey won't get close to either limit.
export MEM0_API_KEY=your-key-here
Or add to ~/.zshrc / ~/.bashrc to persist across sessions.Once set, the skill automatically switches to cloud mode. Your progress syncs across every device where you've set MEM0_API_KEY — laptop at home, phone in Japan, anywhere.
Goal: Read and write hiragana vowel row + katakana vowel row from memory.
Teach using the kana-ascii companion:
npx kana-ascii aiueo # renders あいうえお
npx kana-ascii AIUEO # renders アイウエオ
npx kana-ascii [char] # single character with stroke order
Or draw the dot-grid inline (see mager/kana-ascii skill for format).
Row order: あいうえお → かきくけこ → さしすせそ → (etc.) Milestone: write your name in hiragana from memory.
Goal: 20 phrases that cover 80% of traveler situations.
| Japanese | Romaji | When |
|---|---|---|
| すみません | Sumimasen | Everything — excuse me, sorry, hey |
| ありがとうございます | Arigatou gozaimasu | Thank you (polite, always) |
| いただきます | Itadakimasu | Before eating — always |
| ごちそうさまでした | Gochisousama deshita | After eating |
| これをください | Kore o kudasai | This one please (point at menu) |
| おすすめは? | Osusume wa? | What do you recommend? |
| お会計お願いします | Okaikei onegaishimasu | Check please |
| 美味しい! | Oishii! | Delicious! |
| __はどこですか? | __ wa doko desu ka? | Where is __? |
| いくらですか? | Ikura desu ka? | How much? |
| わかりません | Wakarimasen | I don't understand |
| 大丈夫です | Daijoubu desu | I'm fine / No thanks |
| 英語を話せますか? | Eigo o hanasemasu ka? | Do you speak English? |
| 日本語が少しだけ | Nihongo ga sukoshi dake | Just a little Japanese |
Goal: Build real sentences using particles.
Teach particles one at a time through real conversation:
Pattern to build: [Topic]は [Object]を [Verb]ます
Goal: Run through 5 real-life scenarios without hesitation.
Scenarios:
Rules for practice mode:
Dialogue first, grammar second. Pattern clicks before rules. Always.
One thing at a time. One particle per conversation. One kana row per session. Resist the urge to dump everything.
Vivid mnemonics. Weird > accurate. The stranger the image, the better it sticks.
Cultural context is part of the lesson. Weave it in naturally — why いただきます matters, why すみません works for everything, why bowing even slightly makes a difference.
Activate on:
npx loooom add mager/kana-ascii or npm install -g kana-asciinpx kana-ascii [romaji or kana] — dot-grid ASCII art with stroke order