brainstorming
Structured design dialogue that validates ideas before implementation begins.
find-candidates
Guidelines for systematically finding new candidate words to add to candidate_words.json for later dictionary entry creation.
Full skill instructions
Use this skill when asked to find new words to add to candidate_words.json for later addition to the dictionary.
candidate_words.json using the manage_candidates scriptThe manage_candidates.py add command now AUTOMATICALLY checks for duplicates.
A word is a duplicate ONLY if BOTH the headword AND reading match exactly.
The script will show informational notes about homophones and homographs, but these do not block addition.
When you run:
python3 build/manage_candidates.py add "食べる" "たべる" "to eat"
The script will:
entries_index.json for exact match (both headword AND reading)candidate_words.json for exact match (both word AND reading)$ python3 build/manage_candidates.py add "食べる" "たべる" "to eat"
ERROR: Duplicate detected!
Exact match in dictionary: 00396_taberu (食べる / たべる)
This word already exists. NOT adding to candidates.
$ python3 build/manage_candidates.py add "線香" "せんこう" "incense stick"
OK: Added 線香 (せんこう) to candidates.
Note: Homophones exist: 先行 (03773_senkou), 専攻 (01587_senkou)
If you want to check a word before attempting to add it:
python3 build/manage_candidates.py check "漢字" "かんじ"
To check multiple words at once before adding:
python3 build/check_duplicate.py --batch "食べる:たべる" "飲む:のむ" "書く:かく"
The automatic check catches exact matches (same headword AND reading). These patterns require editorial judgment to decide if they should be separate entries or considered the same word:
Note: Homophones (same reading, different kanji like 線香/先行) are always separate words and should each have their own entry.
Check that the word is NOT already in entries_index.json (by reading AND headword).
Check that the word is NOT already in candidate_words.json (by reading AND word).
EXCLUDE the following categories:
Note: Proper nouns may be added systematically in a future phase.
A word qualifies for addition if it meets at least one of these criteria:
The word should have a usage frequency or centrality to contemporary Japanese similar to words already in entries_index.json.
How to assess:
The word is a common synonym, antonym, or related word to an entry already in the dictionary.
Types of semantic relations:
Words that have come into widespread, stable usage in contemporary Japanese. This includes vocabulary from technology, media, lifestyle, and other areas of modern life. Focus on terms with established, lasting usage rather than ephemeral trends.
Well-known informal or colloquial terms that:
Exclude: Highly ephemeral slang, vulgar terms, discriminatory language
The dictionary has ~9,000 entries as of late January 2026. This is a mature dictionary with strong coverage of basic and intermediate vocabulary. Use a variety of strategies to find remaining gaps while maintaining high quality standards.
The basic and core tiers are complete (as of January 2026).
All new candidate words will be assigned to the general tier. Focus on finding useful vocabulary for advanced learners, specialized topics, and vocabulary that complements existing entries.
IMPORTANT: An earlier attempt to harvest candidate words by extracting vocabulary from entry notes produced thousands of spurious or inappropriate candidates. Learn from this:
Use corpus frequency data to find common words still missing.
Method:
Why effective: Guarantees discovered words are genuinely common.
Find words that commonly appear with existing entries but aren't in the dictionary.
Method:
Why effective: Finds words learners need to use existing vocabulary naturally.
For existing entries, find their register variants (formal ↔ informal, written ↔ spoken).
Method:
Why effective: Learners need multiple registers; dictionaries often have gaps here.
Explore semantic domains to find gaps, but choose domains creatively based on what seems underrepresented rather than following a fixed list.
Method:
Why effective: Ensures balanced coverage across the vocabulary learners need.
Systematically complete morphological patterns already partially in the dictionary.
Method:
Why effective: These patterns are productive and predictable; gaps are easy to identify systematically.
Expand from existing entries by finding mentioned but unlisted words.
Method:
Why effective: Useful for incremental expansion from established content.
Ensure the dictionary covers both written and spoken Japanese.
Method:
Why effective: Dictionaries often skew toward one medium; this ensures balanced coverage.
Compare against established vocabulary lists to find gaps.
Method:
Why effective: These lists represent expert-curated vocabulary that learners demonstrably need; gaps here are high-priority.
Think about vocabulary needed for specific real-world situations.
Method:
Why effective: Ensures the dictionary is practically useful, not just academically complete.
Identify vocabulary commonly encountered in Japanese media and culture.
Method:
Why effective: Helps learners engage with authentic Japanese content.
Don't limit yourself to the strategies above. Each search session should involve creative thinking about what vocabulary learners need that might be missing. Consider:
The goal is comprehensive, balanced coverage—not deep exploration of any single category at the expense of others.
After identifying qualifying words, add them using:
python3 build/manage_candidates.py add "漢字表記" "ひらがな読み" "brief English note"
IMPORTANT: Readings must be in hiragana, not katakana.
Even for loanwords with katakana headwords, the reading must be hiragana:
# Correct:
python3 build/manage_candidates.py add "スキー" "すきー" "skiing"
# Wrong (katakana reading):
python3 build/manage_candidates.py add "スキー" "スキー" "skiing"
Notes field guidance:
Example:
python3 build/manage_candidates.py add "提案" "ていあん" "proposal, suggestion"
After adding candidates, report:
manage_candidates.py add command will refuse to add duplicatespython3 build/check_duplicate.py --batch "word1:reading1" ...Structured design dialogue that validates ideas before implementation begins.
Comprehensive design intelligence for web and mobile UI/UX across 10 technology stacks.
Comprehensive implementation plans for multi-step tasks, breaking down specs into bite-sized, testable steps.
Introduction to the obra skills system with mandatory skill invocation rules and best practices.
Execute a written implementation plan with critical review and task checkpoints.
Delegate independent tasks to specialized agents working concurrently with isolated context.
Isolated git worktrees with smart directory selection and safety verification.
Toolkit for interacting with and testing local web applications using Playwright. Supports verifying frontend functionality, debugging UI behavior, capturing browser screenshots, and viewing browser logs.
Plan searchable and shareable content that drives traffic, builds authority, and generates leads.
README-first repository scanner that extracts commands and classifies reproduction candidates without executing them.
Brainstorm and prioritize marketing strategies tailored to your SaaS stage, budget, and goals.
Plan and optimize your website's page hierarchy, navigation, URL structure, and internal linking.
The world's fastest calendar for remote work
Capture, organize, and utilize your knowledge effortlessly.
Instant Summaries of Audio & Video Interviews with AnySummary
Transform PDFs into engaging mind maps.
Chat with any PDF instantly
Create an optimal daily plan using your voice
A productivity platform to centralize organizational knowledge and workflows with contextual AI assistance.
AskYourPDF Pricing Plans: Tailored to Your Needs