$npx -y skills add ZeKaiNie/universal-examprep-skill --skill exam-study-guide将已经讲完但尚未完成阶段门禁的一个章节整理成强类型教材清单,并在视觉模式下编译为公式可读、图片可见、知识点与全部对应例题逐项精讲的自包含 HTML/PDF。结构化工作区准备阶段完成证据、用户说 Markdown 公式仍是 raw LaTeX、图片缺失、要含课件/作业/Quiz/模拟考试题及答案的零基础讲义,或要求打印版时使用。
| 1 | # Exam Study Guide |
| 2 | |
| 3 | ## Purpose |
| 4 | |
| 5 | After teaching the current chapter, build its validated typed Study Guide manifest; in visual mode, compile that manifest into a readable, self-contained HTML Study Guide and printable PDF before phase completion. A Study Guide is a teaching artifact, not a dump of the wiki and bank: it groups knowledge points with every mapped lecture, homework, Quiz, mock-exam, past-exam, or textbook example and explains each one through formula selection, variable mapping, substitution, solution, a beginner-first explanation of why the answer follows, and source trace. Keep Markdown/JSON as auditable sources and never overwrite them with a derived artifact. |
| 6 | |
| 7 | ## Activation |
| 8 | |
| 9 | Require explicit `study_state.json.processing_mode=full`. Lightweight mode never |
| 10 | invokes this module, even for a one-shot handout request; explain that Study Guide |
| 11 | generation requires switching to full processing and reconfirming the start gate. |
| 12 | |
| 13 | Use this module after the exam workspace/current chapter are confirmed and its substantive teaching is persisted, but before `complete-phase` in a structured workspace. Restore the current phase and effective `artifact_mode` from `study_state.json` before selecting `<N>`. `chat` still builds and imports the mandatory typed `profile=full` manifest, then stops without HTML/PDF; a recognized standing `visual` preference continues through rendering, receipt binding, and all-page QA. A direct one-shot handout request follows its explicit output scope without rewriting the stored preference. Never inspect or infer the student's subscription. Preserve the parent exam-coach language and provenance contracts in all chat summaries. |
| 14 | |
| 15 | ## Inputs |
| 16 | |
| 17 | - Exactly one current-chapter `references/wiki/chNN*.md` file, used as source evidence rather than pasted wholesale. |
| 18 | - Optional `study_state.json`; its canonical language-neutral `language` code (`zh` / `en` / `bilingual`; legacy/display aliases `中文` / `English` / `双语` migrate on read) controls all agent-generated headings, notices, explanations, labels, and summaries. Missing state follows the session default (English unless the student opened in Chinese); the script's Chinese empty-value fallback exists only for legacy workspaces and is not a new-session language decision. |
| 19 | - The current-chapter slice of `references/teaching_examples.json`, every current-chapter entry in `references/quiz_bank.json`, and every typed current-chapter question unit, de-duplicated by item ID. A legacy `gradable=false` record remains a teaching example in the guide but is never served or graded as a quiz. |
| 20 | - A substantive `notebook/chNN.md` plus the validated typed teaching manifest `notebook/chNN.guide.json`. |
| 21 | - Workspace-local images under `references/assets/` referenced by the typed manifest. |
| 22 | - For ingestion-v2 workspaces, current validated `.ingest/canonical_groups.jsonl` and `.ingest/source_conflicts.jsonl` facts. These are revision-bound derived facts, not replacements for source occurrences or item/unit IDs. Do not preload unrelated chapters or hand-fold near matches. |
| 23 | - For ingestion-v2, `.ingest/claim_records.jsonl` and the matching `.ingest/claim_verification_receipts/chNN.json` are mandatory typed-guide inputs. The validator recomputes them against the current manifest and live source/content/group/conflict facts. The receipt's `fact_snapshot_sha256` also binds current build/parser/page-quality/review facts into its ID, so a parser identity revision requires re-verification even when content units are unchanged. Legacy/v1 compatibility is read-only for an existing canonical manifest and must not be described as having this v2 evidence. The receipt scope is `location_only`, never semantic proof. |
| 24 | |
| 25 | Use only `$...$` and `$$...$$` as formula delimiters in source Markdown. Forms such as `(A\cup B)`, `[P=\frac{...}]`, `\(...\)`, and `\[...\]` are not valid framework input. Confirm and migrate the source explicitly; never guess-rewrite a formula. |
| 26 | |
| 27 | ## Workflow |
| 28 | |
| 29 | 1. Restore `study_state.json`, resolve output intent, and run `validate_workspace.py <ws> --json`. Read the explicit `.ingest/build_manifest.json.pipeline_version`; never infer or delete it. Only `ingestion-v2` follows the author/compiler/claim path in steps 2-6. An explicit `ingestion-v1` workspace may only read its existing canonical manifest through the legacy compatibility path below; it cannot import, relocalize, or render a new Study Guide and must never claim the v2 claim/receipt gate. A failed v2 command does not authorize downgrading to v1. `chat` stops after the canonical `profile=full` manifest import; `visual` continues through rendering and all-page QA. Persist a standing choice only through `update_progress.py set --artifact-mode chat|visual`. Separately resolve `answer_explanation_ |