KS
Killer-Skills

kanji-index — how to use kanji-index how to use kanji-index, kanji-index alternative, kanji-index setup guide, what is kanji-index, kanji-index vs other dictionaries, kanji-index install, japanese english dictionary, kanji study resources, language learning tools

v1.0.0
GitHub

About this Skill

Perfect for Language Learning Agents needing advanced Japanese kanji analysis capabilities. kanji-index is a technical dictionary solution that enables users to click on any kanji in a dictionary headword to find all other entries containing that same kanji

Features

Links headword kanji to kanji index pages
Lists all entries containing a specific kanji, sorted by reading (hiragana order)
Utilizes a master list in JSON format (kanji_list.json) for kanji mapping
Employs a temporary extraction file (kanji_extracted.json) for data processing
Supports directory structure organization for efficient data management

# Core Topics

tkgally tkgally
[0]
[0]
Updated: 3/7/2026

Quality Score

Top 5%
48
Excellent
Based on code quality & docs
Installation
SYS Universal Install (Auto-Detect)
Cursor IDE Windsurf IDE VS Code IDE
> npx killer-skills add tkgally/je-dict-1/kanji-index

Agent Capability Analysis

The kanji-index MCP Server by tkgally is an open-source Categories.community integration for Claude and other AI agents, enabling seamless task automation and capability expansion. Optimized for how to use kanji-index, kanji-index alternative, kanji-index setup guide.

Ideal Agent Persona

Perfect for Language Learning Agents needing advanced Japanese kanji analysis capabilities.

Core Value

Empowers agents to generate comprehensive kanji study resources using JSON data formats, providing linked headword kanji and sorted entry lists by reading in hiragana order.

Capabilities Granted for kanji-index MCP Server

Automating kanji index maintenance
Generating sorted entry lists for language learners
Linking headword kanji to index pages for efficient study

! Prerequisites & Limits

  • Requires kanji_list.json and kanji_extracted.json files
  • Limited to Japanese-English language pairs
Project
SKILL.md
4.3 KB
.cursorrules
1.2 KB
package.json
240 B
Ready
UTF-8

# Tags

[No tags]
SKILL.md
Readonly

Kanji Index Maintenance

The kanji index allows users to click on any kanji in a dictionary headword to find all other entries containing that same kanji.

How It Works

  1. Headword kanji are linked to kanji index pages
  2. Kanji index pages list all entries containing that kanji
  3. Entry lists are sorted by reading (hiragana order)

Directory Structure

kanji/
├── kanji_list.json       # Master list: kanji → kanji_id mapping
├── kanji_extracted.json  # Temporary: extracted kanji needing IDs
├── 00001_jin_hito_person.json  # Entry list for 人
├── 00002_nichi_hi_day.json     # Entry list for 日
└── ...

docs/kanji/
├── 00001_jin_hito_person.html  # HTML page for 人
├── 00002_nichi_hi_day.html     # HTML page for 日
└── ...

Kanji ID Format

Format: {5-digit}_{onyomi}_{kunyomi}_{gloss}

  • 5-digit: Sequential number (00001, 00002, ...)
  • onyomi: Most common on'yomi in romaji (or "none")
  • kunyomi: Most common kun'yomi in romaji without okurigana (or "none")
  • gloss: Single English word for primary meaning

Examples

KanjiKanji ID
00001_jin_hito_person
00002_nichi_hi_day
00003_dai_oo_big
00004_none_hatake_field
00005_cha_none_tea

Romaji Rules

  • Long vowels: "ou" not "ō" (e.g., 高 → "kou")
  • Voiced: "ga", "za", "da", "ba" (e.g., 学 → "gaku")
  • No okurigana in kun'yomi (e.g., 高い → "taka", not "takai")

Assigning New Kanji IDs

When new entries introduce kanji not in kanji_list.json:

  1. Detect new kanji:

    bash
    1python3 build/update_kanji_index.py --check-new
  2. Assign readings and gloss using your knowledge:

    • Most common on'yomi
    • Most common kun'yomi (without okurigana)
    • Single-word English gloss
  3. Update kanji_list.json:

    json
    1{ 2 "新": { 3 "kanji_id": "00123_shin_atara_new", 4 "onyomi": "shin", 5 "kunyomi": "atara", 6 "gloss": "new" 7 } 8}
  4. Rebuild:

    bash
    1python3 build/build_flat.py

Common Tasks

Check for New Kanji

bash
1python3 build/update_kanji_index.py --check-new

Rebuild All Kanji JSON Files

bash
1python3 build/update_kanji_index.py --rebuild-all

Rebuild Kanji HTML Pages

bash
1python3 build/build_kanji_html.py

Full Site Build (includes kanji)

bash
1python3 build/build_flat.py

Troubleshooting

"Warning: X kanji need IDs assigned"

New kanji were found in entries. Assign IDs manually:

  1. Run --check-new to see the full list
  2. For each kanji, determine on'yomi, kun'yomi, gloss
  3. Add to kanji/kanji_list.json
  4. Rebuild

Missing kanji index page

Check that:

  1. Kanji is in kanji/kanji_list.json
  2. JSON file exists: kanji/{kanji_id}.json
  3. Run python3 build/build_kanji_html.py

Kanji link not appearing in headword

Check that:

  1. Kanji is in kanji/kanji_list.json
  2. Entry HTML was rebuilt after kanji was added

Entry count wrong on kanji page

Rebuild the kanji JSON file:

bash
1python3 build/update_kanji_index.py --rebuild-all 2python3 build/build_kanji_html.py

File Formats

kanji_list.json

json
1{ 2 "metadata": { 3 "description": "Index mapping kanji characters to their kanji index IDs", 4 "generated": "2026-01-22T10:30:00Z", 5 "total_kanji": 1500 6 }, 7 "kanji": { 8 "人": { 9 "kanji_id": "00001_jin_hito_person", 10 "onyomi": "jin", 11 "kunyomi": "hito", 12 "gloss": "person" 13 } 14 } 15}

Individual kanji JSON

json
1{ 2 "metadata": { 3 "kanji": "人", 4 "kanji_id": "00001_jin_hito_person", 5 "onyomi": "jin", 6 "kunyomi": "hito", 7 "gloss": "person", 8 "entry_count": 245, 9 "generated": "2026-01-22T10:30:00Z" 10 }, 11 "entries": [ 12 { 13 "id": "01234_akunin", 14 "headword": "{悪|あく}{人|にん}", 15 "reading": "あくにん", 16 "gloss": "villain, bad person" 17 } 18 ] 19}

Design Decisions

Why invisible links?

  • Preserves clean headword appearance
  • Users discover feature through tooltip
  • No visual clutter

Why romaji in kanji IDs?

  • ASCII-safe file names
  • Human-readable
  • Easy to search and sort

Why sort by reading?

  • Natural Japanese ordering (gojuon)
  • Consistent with how dictionaries organize entries
  • Helps users find related words

Related Skills

Looking for an alternative to kanji-index or building a Categories.community AI Agent? Explore these related open-source MCP Servers.

View All

widget-generator

Logo of f
f

widget-generator is an open-source AI agent skill for creating widget plugins that are injected into prompt feeds on prompts.chat. It supports two rendering modes: standard prompt widgets using default PromptCard styling and custom render widgets built as full React components.

149.6k
0
Design

chat-sdk

Logo of lobehub
lobehub

chat-sdk is a unified TypeScript SDK for building chat bots across multiple platforms, providing a single interface for deploying bot logic.

73.0k
0
Communication

zustand

Logo of lobehub
lobehub

The ultimate space for work and life — to find, build, and collaborate with agent teammates that grow with you. We are taking agent harness to the next level — enabling multi-agent collaboration, effortless agent team design, and introducing agents as the unit of work interaction.

72.8k
0
Communication

data-fetching

Logo of lobehub
lobehub

The ultimate space for work and life — to find, build, and collaborate with agent teammates that grow with you. We are taking agent harness to the next level — enabling multi-agent collaboration, effortless agent team design, and introducing agents as the unit of work interaction.

72.8k
0
Communication