Personal JLPT N2 training skill for July exam prep with nine modes: grammar drills, grammar study packs, vocabulary drills, vocabulary study packs, reading drills, listening trap analysis, listening dictation drills, grammar wrong-answer reinforcement, and vocabulary wrong-answer reinforcement. Use token-efficient interactive practice or study by default; include source labels, explanation-only furigana, logic-grouped review notes, and sequential local progress tracking. Switch to strict JSON only when user explicitly requests machine-readable output. Includes local official-resource sync and wrong-book workflows.
Use this skill to run focused JLPT N2 practice for a Chinese-speaking learner working in Japan.
grammar_study, vocab_study) instead of quizzes.token_mode=deep.出处:... or an equivalent compact source label).6,真题 and 6,文字版.1/2/3/4A/B/C/D単語(たんご):中文意思.原文 block with only the key supporting line(s); do not dump a long transcript unless the user explicitly asks.2-4 target keywords.output_style=json.output_style=interactive, token_mode=economy, source_style=simulated_official, note_style=logic_grouped, continuity_mode=sequential, drill_flow=one_by_one, explain_level=standard, difficulty=normal.grammar_drill=5grammar_study=3vocab_drill=5vocab_study=12reading_drill=1dictation_drill=1references/official/meta/n2_index.csv and download_manifest.json to locate material; avoid loading large files unless needed.详解, deep).data/progress.json exists, read only the active track and next item; avoid loading entire local state unless needed.mode=grammar_drill: Generate multiple-choice grammar questions.mode=grammar_study: Generate daily grammar study packs for memory, not quizzes.mode=vocab_drill: Generate multiple-choice vocabulary questions.mode=vocab_study: Generate daily vocabulary study packs for memory, not quizzes.mode=reading_drill: Run one-by-one reading practice with article-first exam flow.mode=listening_analyze: Analyze traps, clues, and answer basis from listening content.mode=dictation_drill: Run one-by-one listening dictation with keyword/full-sentence correction.mode=review_wrong: Rank grammar weaknesses and generate targeted reinforcement questions.mode=vocab_review_wrong: Rank vocabulary weaknesses and generate targeted reinforcement questions.data/ and are intentionally local-only.data/progress.json when present.继续练习, 继续今天的N2, 继续昨天的阅读, or similar, continue from the active item in the matching track.grammar_drill -> data/grammar_queue.jsongrammar_study -> data/grammar_study_queue.jsonvocab_drill -> data/vocab_queue.jsonvocab_study -> data/vocab_study_queue.jsonreading_drill -> data/reading_queue.jsonlistening_analyze -> data/listening_queue.jsondictation_drill -> data/listening_queue.json (shared with listening_analyze)python3 scripts/init_progress.py.python3 scripts/update_progress.py ....python3 scripts/progress_status.py.grammar_queue.json focus packs in order until exhausted.grammar_study_queue.json daily memory packs in order until exhausted.vocab_queue.json focus packs in order until exhausted.vocab_study_queue.json daily memory packs in order until exhausted.N2R-2018 -> N2R-2012 -> N2-mondai).N2L-2018 Q1-Q5 -> N2L-2012 Q1-Q5 -> N2Sample).listening_analyze.focus_point, source_file, or content, honor that request and do not override it with queue state.A/B/C/D or the official numbering used by the source).単語(たんご):中文意思 when useful.prompts/grammar_drill.mdprompts/grammar_study.mdprompts/vocab_drill.mdprompts/vocab_study.mdprompts/reading_drill.mdprompts/listening_analyze.mdprompts/dictation_drill.mdprompts/review_wrong.mdprompts/vocab_review_wrong.mdexamples/grammar_drill.input.jsonexamples/grammar_drill.interactive.input.jsonexamples/grammar_study.interactive.input.jsonexamples/vocab_drill.interactive.input.jsonexamples/vocab_study.interactive.input.jsonexamples/reading_drill.interactive.input.jsonexamples/listening_analyze.input.jsonexamples/dictation_drill.input.jsonexamples/review_wrong.interactive.input.jsonexamples/vocab_review_wrong.interactive.input.jsonnotes/jlpt-n2-logic-notes.mdnotes/jlpt-n2-logic-cards.mddata/wrong.jsonldata/grammar_queue.jsondata/grammar_study_queue.jsondata/vocab_queue.jsondata/vocab_study_queue.jsondata/reading_queue.jsondata/listening_queue.jsondata/progress.jsondata/session_log.jsonlscripts/append_wrong.pyscripts/sync_official_resources.pyscripts/extract_pdf_text.shscripts/extract_pdf_text.swiftscripts/init_progress.pyscripts/update_progress.pyscripts/progress_status.pyreferences/official/https://github.com/Chenjian612/jlpt-n2-my-trainer-resourcesreferences/official/meta/n2_index.csv (N2-focused list)references/official/meta/download_manifest.json (all files + source URLs)references/official/meta/summary.json (counts by type)Sync command:
python3 scripts/sync_official_resources.py --max-child-pages 160
Use policy:
原创仿真题(参考官方N2题风)官方公开题改编题(注明参考文件)count questions (default 5).continuity_mode=sequential and no explicit focus_point is supplied, read the next item from data/grammar_queue.json via data/progress.json and use its focus_point and logic_group.focus_point exists, at least 60% of questions center on that point or close confusable points.接续, 语义, 语境, 固定搭配, 推断.token_mode=economy, keep explanations concise and expand only on request.prompts/grammar_drill.md.continuity_mode=sequential and no explicit focus_point is supplied, read the next item from data/grammar_study_queue.json via data/progress.json.继续今天的文法 or 今天背文法, continue the current grammar study pack.prompts/grammar_study.md.count vocabulary questions (default 5).continuity_mode=sequential and no explicit focus_point is supplied, read the next item from data/vocab_queue.json via data/progress.json and use its focus_point and weakness_group.focus_point exists, at least 60% of questions center on that point.词义, 语境, 搭配, 近义辨析, 词性.token_mode=economy, keep explanations concise and expand only on request.prompts/vocab_drill.md.continuity_mode=sequential and no explicit focus_point is supplied, read the next item from data/vocab_study_queue.json via data/progress.json.继续今天的单词 or 今天背单词, continue the current vocab study pack.prompts/vocab_study.md.N2R-2018, N2R-2012) when available.continuity_mode=sequential and no explicit source_file or page_hint is supplied, read the next item from data/reading_queue.json via data/progress.json and continue in queue order.scripts/extract_pdf_text.sh to read local page text when needed.prompts/reading_drill.md.content (dialogue, prompt, options; partial is allowed).continuity_mode=sequential and the user does not provide content, read the next item from data/listening_queue.json via data/progress.json and use its audio/script references as the source basis.6,真题: official listening multiple-choice with real audio.6,文字版: text-adapted listening item that preserves the same logic without requiring the user to play audio.官方例题, you may draw from local official sample/guideline audio (for example N2Sample.mp3); do not switch to that source family by default.6,真题, include:
几番6,文字版, include:
原文 block, quote only the short line(s) directly tied to the answer.単語(たんご):中文意思.token_mode=economy, output compact clue chain rather than long paraphrase.prompts/listening_analyze.md.continuity_mode=sequential and user does not provide content, read current item from data/listening_queue.json via data/progress.json.77,出一题7,继续7,关键词听写几番关键词听写, default; user only needs 2-4 keywords)整句听写) if requested.1番), mark it as retry / 定位偏移 guidance instead of a normal wrong answer.scripts/update_progress.py --mode dictation_drill ...; it shares the listening track.prompts/dictation_drill.md.wrong_items input.wrong_items is missing, read recent lines from data/wrong.jsonl to infer grammar weak points.token_mode=economy, summarize only key weak points and concise review actions.递进, 转折, 标准型反预期, 条件型反预期, 保留判断, 人物侧面 when applicable.prompts/review_wrong.md.wrong_items input.wrong_items is missing, read recent lines from data/wrong.jsonl to infer vocabulary weak points.token_mode=economy, summarize only key weak points and concise review actions.词义辨析, 语境判断, 固定搭配, 近义词区分, 词性误判.prompts/vocab_review_wrong.md.data/wrong.jsonl as one JSON object per line.python3 scripts/append_wrong.py --result /path/to/result.json --answers /path/to/answers.json{
"ts": "2026-02-26T12:34:56Z",
"mode": "grammar_drill",
"question_id": "G001",
"focus_point": "にかかわらず",
"correct_answer": "A",
"user_answer": "B",
"weakness_tags": ["接续"],
"source": "jlpt-n2-my-trainer"
}
mode=vocab_drill or mode=vocab_review_wrong and vocabulary-appropriate tags.user_answer != correct_answer).python3 scripts/init_progress.pypython3 scripts/init_progress.py --reset-progresspython3 scripts/progress_status.pypython3 scripts/update_progress.py --mode grammar_drill --result correctpython3 scripts/update_progress.py --mode reading_drill --result done --notes "completed one official reading item"python3 scripts/update_progress.py --mode grammar_study --result done --notes "completed today's grammar study pack"python3 scripts/update_progress.py --mode vocab_study --result done --notes "completed today's vocab study pack"