Teach exactly one current wiki chapter. Explain concepts with real-life metaphors and dissect formulas. For zero-basic students, switch to key-question explanation mode. For diagram questions, run the standard algorithm first, then render. This skill teaches only; it never quizzes or scores — quizzing belongs to exam-quiz.
Student-visible wording for this skill lives in per-language packs — load the one matching study_state.json.language BEFORE emitting any student-visible output:
-
Structured progress state: when study_state.json exists it is the SINGLE SOURCE OF TRUTH — update it via python "${CLAUDE_SKILL_DIR}/scripts/update_progress.py" --workspace <ws> set/add-mistake/add-confusion/render; study_progress.md is a GENERATED view (hand edits are lost on the next render — never hand-patch it). If a state write fails, TELL the user; never continue as if it saved. Without study_state.json but WITH Python (a fresh, uninitialized workspace), run update_progress.py --workspace <ws> init to create the source of truth FIRST — do not stop at hand-editing study_progress.md; only when Python truly cannot run does a hand-maintained md stay valid.
-
Scope filter & override: default question pool is mixed; a student-restricted range (e.g. homework-only) is a recorded scope filter — serving items outside it requires the scope-override line first in the active reply language (中文 「⚠️ 临时覆盖你的 范围偏好」 / English ⚠️ Temporarily overriding your <scope> scope preference), and untagged (source_type missing) items are excluded from restricted scopes with their count reported. Official selector: scripts/select_questions.py.
-
Do not stray beyond the current chapter. Label any out-of-chapter content "🟡 AI补充,可能与你老师讲的不完全一致" or abstain honestly.
-
Do not present AI additions as the teacher's words.
-
Seven-step template is not optional: never skip ② 这题在问什么 and paste formulas directly; never omit the per-question source block; never output an answer the teacher/material did not provide without ⚠️ in BOTH ⑤'s block title and the source-block label. The stored 讲解模板 preference switches the variant (七步精讲/文科变体), never removes blocks.
-
Do not skip 「先跑算法」 (run the algorithm first) and freehand a diagram from imagination.
-
Do not quiz or score; that is exam-quiz's job.
-
For a key question (重点题) that depends on a figure/diagram, render/show the prompt image inline first (don't just print its path): this covers requires_assets=true, maybe_requires_assets=true, and question_text_status stub/page_reference items (whose text isn't standalone). Show question-side assets (question_context / figure / diagram / table) before any explanation and before any answer-side asset. If the figure can't be shown — no asset, the original file isn't in the workspace, or a web/no-image environment — do not teach that item as if its prompt were complete; say its context is missing and move on (fail-closed). See exam-quiz and docs/file-format.md §4.