一键导入
resolve-duplicates
Guidelines for identifying duplicate dictionary entries, selecting which to keep, and safely removing unneeded ones.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Guidelines for identifying duplicate dictionary entries, selecting which to keep, and safely removing unneeded ones.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
General quality standards for all je-dict-1 dictionary entries. Use when creating or revising any entry type.
Requirements for creating or revising adjective entries in je-dict-1. Covers forms, conjugations, predicate vs modifier usage, and similar word distinctions.
Requirements for creating and revising example sentences in je-dict-1. Covers minimum counts, progressive length, vocabulary restrictions by tier, and quality standards.
Requirements for creating nouns, counters, adverbs, and expressions in je-dict-1. Covers collocations, counting patterns, register, and cultural notes.
Requirements for creating or revising verb entries in je-dict-1. Covers transitivity, aspect/ている behavior, particle patterns, and collocations.
Requirements for formatting and structuring the notes field in je-dict-1 entries. Covers formatting, content organization, and readability standards.
| name | resolve-duplicates |
| description | Guidelines for identifying duplicate dictionary entries, selecting which to keep, and safely removing unneeded ones. |
Use this skill when duplicate entries are detected during validation, or when you suspect multiple entries exist for the same word.
Duplicates are entries with the same reading AND same headword. The validation script (build/validate.py) checks for this:
key = (reading, headword) # Duplicates share both values
NOT duplicates (these are valid separate entries):
Run validation to find duplicates:
python3 build/validate.py 2>&1 | grep -i "duplicate"
Or search manually:
# Find entries with the same reading
grep -r '"reading": "たべる"' entries/
# Find entries with similar headwords
grep -r '食べる' entries/
Read both (or all) entries carefully. Check:
Are they truly the same lexical item?
If they're NOT the same (rare):
Choose the entry with better quality. Evaluate:
| Criterion | Higher Priority |
|---|---|
| Definition depth | More complete explanations |
| Example quality | Natural, varied, useful examples |
| Notes richness | Covers usage, collocations, learner traps |
| Cross-references | Links to related entries |
| Vocabulary tier | Has appropriate tier assigned (if any) |
| Furigana | All kanji properly annotated |
Tie-breaker: Keep the entry with the lower ID number (older entry).
Before deleting, check if the inferior entry has unique content worth preserving:
If so, edit the keeper entry first to incorporate the valuable content:
# Read both entries
cat entries/00000/00123_taberu.json
cat entries/04500/04567_taberu.json
# Edit the keeper to add any missing valuable content
# Then delete the duplicate
Use the delete-entry skill for safe deletion. The process:
Delete the entry file:
rm entries/path/to/duplicate_entry.json
Update indexes:
python3 build/update_indexes.py
Rebuild the flat file:
python3 build/build_flat.py
Verify deletion:
python3 build/validate.py
# 1. Find duplicates
python3 build/validate.py 2>&1 | grep "Duplicate"
# 2. Read both entries (example)
cat entries/00000/00123_taberu.json
cat entries/04500/04567_taberu.json
# 3. Decide: Keep 00123_taberu (better examples), delete 04567_taberu
# 4. Check if 04567_taberu has content worth merging
# (If yes, edit 00123_taberu first to add the content)
# 5. Delete the duplicate
rm entries/04500/04567_taberu.json
# 6. Update indexes and rebuild
python3 build/update_indexes.py
python3 build/build_flat.py
# 7. Validate
python3 build/validate.py
If other entries reference the deleted duplicate:
Search for references:
grep -r '"reading": "たべる"' entries/ --include="*.json" | grep cross_references
Update references to point to the kept entry's details (or remove if no longer relevant)
The delete-entry skill provides detailed guidance on this.
To avoid creating duplicates in the future:
Always search before creating:
grep -r '"reading": "newword"' entries/
grep -r 'headword_kanji' entries/
Check candidate_words.json - words there may already have entries
Run validation frequently during entry creation sessions
update_indexes.pybuild_flat.py