$34
Use this skill when the user asks for ASTAM / STAM-style summary, problems, solutions, or mistake content for SOA exam preparation.
Before generating or editing review content, consult reference materials in this skill. For Type = problems, follow this priority order:
| Priority | Path | Use for |
|---|---|---|
| Highest | @past-exams/ folder | Primary calibration: stem length, difficulty, complexity, multi-part layout — match released ASTAM items as closely as practical (still adapt numbers/context; never copy verbatim) |
| High | @references/2026-spring-exam-astam-syllabus.md | Exam scope: learning objectives, weights, readings — do not omit syllabus content that belongs to the user's requested slice |
| Medium | @references/astam-formula-sheet.md |
| Formula sheet cross-check |
| Medium | @references/astam-actex-formula-sheet.md | Alternate formula notation |
Map every request to one primary topic T1–T6 (SOA ASTAM syllabus areas and approximate weights):
| Code | Syllabus area | Approx. weight |
|---|---|---|
| T1 | Severity Models | 8–18% |
| T2 | Aggregate Models | 12–22% |
| T3 | Coverage Modifications | 8–18% |
| T4 | Construction and Selection of Parametric Models | 14–24% |
| T5 | Credibility | 10–20% |
| T6 | Pricing and Reserving | 18–28% |
If the user’s input fits multiple topics, pick the dominant one for the filename; mention secondary tags in the note body (YAML frontmatter or a short “Also relates to” line).
Maintain a simple numeric ledger and an English rollup note so progress is visible without a separate web app:
| File | Role |
|---|---|
ASTAM-Practice-Data.json (user's vault) | Source of truth: syllabusBranches (official Topic 1–6 titles + t#-a… ids from syllabus), topicTotals, subBranchTotals, problemSets[], gradedSessions[]. |
ASTAM-Practice-Dashboard.md (user's vault) | English dashboard: By syllabus topic in Topic 1 → 6 order; under each topic, topic rollup row then sub-branch rows (short labels). Rewrite subsection tables so numbers match the JSON. Accuracy display: wrap any accuracy % strictly below 60% in <span style="color:#c0392b;">…</span> (see dashboard header Accuracy color note). |
When to update (agent — required):
Type = problems: Append problemSets (id, recordedAt, topic, title, format, vaultNote, pointsPossible, optional subparts / largeQuestions, optional subBranchIds e.g. ["t2-a","t2-b"]). Bump lastUpdated; refresh At a glance and Problem sets.Type = mistakes / grading: Append gradedSessions (plus optional subBranchBreakdown, subBranchScoringMode, questionBranchMap). Sub-branches may overlap: if one large question tests multiple outcomes, credit its full earned/possible to each listed branch (non_exclusive_by_question); then branch possible sums can exceed the session’s pointsPossible — state this in the dashboard. Recompute topicTotals (session points, exclusive) and subBranchTotals from subBranchBreakdown. Refresh the dashboard tables. Legacy sessions with empty subBranchBreakdown only affect topic rollup.syllabusBranches in the JSON and realign dashboard labels from 2026-spring-exam-astam-syllabus.md (or the current syllabus file).Keep JSON and dashboard consistent in the same edit batch. Do not leave the dashboard stale after changing the ledger.
Atomic update checklist (agent — same task, same save):
ASTAM-Practice-Data.json (problemSets and/or gradedSessions, totals).ASTAM-Practice-Dashboard.md tables / “At a glance” so every number shown has a JSON source.Optional later: a small script could render dashboard rows from JSON; until then, the checklist prevents drift.
Goal: Every scorable subpart should map to t#-a / t#-b / … (ids in ASTAM-Practice-Data.json → syllabusBranches) so that 错题 / 得分 can be pasted into gradedSessions without re-reading the whole stem.
Rules for the agent when Type = problems:
<!-- astam: t3-b -->. Alternative: a single block at the end of the Problems note, e.g. <!-- astam-syllabus-map: {"Q1":{"(a)":"t3-a","(b)":"t3-b"}} --> (JSON inside the comment).
<!-- astam: t?-? -->, then replace ? once ASTAM-Practice-Data.json branch ids are chosen. Optional vault habit: an Obsidian template/snippet that pastes <!-- astam: --> so the cursor lands between the colons.gradedSessions, copy branchId from that map into mistakeSubparts (and/or questionBranchMap for formal MCQ), then recompute topicTotals and subBranchTotals (or subBranchBreakdown per session). Overlap: if one subpart truly tests multiple outcomes, use the same non-exclusive pattern as T2 MCQ (subBranchScoringMode, multiple branches).gradedSessions shape (for humans + agents): See ASTAM-Practice-Data.json (in user's vault) keys _gradedSessionShapeGuide (field glossary) for structure examples.
When Type = mistakes: Prefer listing each wrong/graded subpart with ref + branchId in JSON so the dashboard branch rows stay reproducible.
Agent responsibilities (on Dashboard study-plan section):
[[wikilinks]].[x] in the Dashboard weekly tables.Note: When a topic has several practice sheets in syllabus / study order, use a numeric segment after T# so the file explorer sorts them: T5-1-bayesian-credibility-Problems.md, T5-2-buhlmann-straub-Problems.md, T5-3-empirical-bayes-Problems.md (same pattern for T2–T4 multi-sheet sets).
Prefer ASCII-friendly names so folders sort by topic then subtype:
T{n}[-{k}]-{ShortTopicSlug}-{Kind}.md
n: 1–6 per table above.k (optional): Review-order index when multiple sheets cover the same T# in syllabus sequence (e.g. 1 = first outcome block, 2 = next). Example: T4-1-parametric-mle-ci-Problems.md, T4-2-delta-bayesian-Problems.md, T4-3-model-selection-gof-Problems.md.ShortTopicSlug: short English kebab-case hint (e.g. severity, aggregate-recursion, coverage-deductible, parametric-selection, buhlmann, pricing-reserving). For subsections, extend the slug (e.g. aggregate-ii-recursion).Kind: one of Summary, Problems, Solutions, Mistakes.Examples: T2-1-aggregate-iii-Problems-MCQ.md, T4-2-delta-bayesian-Problems.md, T5-3-empirical-bayes-Problems.md, T5-2-buhlmann-Summary.md.
Problems naming (MCQ vs WA): Use the same …-Problems.md for both default (checkbox MCQ) and 非选择题 (WA). Do not add a -MCQ segment to the filename (e.g. not …-Problems-MCQ.md). If you need two sheets for the same topic (one MCQ, one WA), distinguish with ShortTopicSlug (e.g. aggregate-iii vs aggregate-iii-wa). Optional separate answer file: …-Problems-Key.md; mistake log: …-Problems-Mistakes.md.
Legacy files with spaces, …-Problems-MCQ.md, or older T2 Aggregate II … names may remain; for new notes, use this pattern. When creating or heavily editing a legacy file, add an HTML comment at the top (after YAML if any), e.g. <!-- canonical: T2-aggregate-iii-Problems.md (MCQ) -->, so agents know the preferred rename target without breaking existing [[wikilinks]] until the user renames.
Each note should include near the top (after optional YAML):
ASTAM topic: T# — [English syllabus name]…-Problems-Key.md) — isolation + when to createGoal: The student can practice without seeing letters or worked MCQ answers; grading has a stable reference so the agent does not re-derive everything from scratch.
Placement (pick one — user may state a preference):
T#-…-Problems-Key.md sits beside T#-…-Problems.md. The Problems note links it only in header/footer, e.g. After attempt: [[…-Problems-Key]]. No answer letters appear in the Problems file.--- and a visible spoiler heading, e.g. ## Answer key (spoilers — after attempt only), optionally preceded by <!-- astam:stop-reading-for-practice -->. All correct letters, short rationale, and post-answer Knowledge highlights go below that heading only — never interleaved after each question in the scroll path used during timed practice.Workflow norms (lowers “无 Key 批改成本”):
Type = problems delivery, the student can say “生成 Key” in the same chat or the next message; opening the Key file is after attempt.Type = mistakes / grading, prefer an existing …-Problems-Key.md when present; only re-solve from stems if Key is missing.When the user omits parameters, infer reasonable defaults and state them in a one-line preamble.
Vault user norm (when Type=problems): Default to 选择题 — each scorable subpart is single-best-answer with exactly five options A–E (- [ ] **A.** … - [ ] **E.**). Use 非选择题 (constructed response, no A–E) only when the user explicitly requests it (e.g. 非选择题, 大题, written answer, WA, format: wa, constructed-response). If the user only says 出题 / practice / MCQ is unspecified, treat as MCQ.
Default when the user says 出题 / practice problems (Type=problems):
T#-{slug}-Problems.md (see naming above). Default answers: no: the Problems file contains no worked solutions and no correct letters (MCQ). Do not create …-Problems-Key.md unless the user explicitly asks (e.g. 答案、Key、详解、对答案、批改用 key).wa request applies, each subpart is single-best-answer MCQ with exactly five options A–E and Obsidian - [ ] / - [x] checkboxes.| Parameter | Values |
|---|---|
| Type | summary | problems | mistakes |
| length | short | normal | detailed (summary/mistakes) |
| difficulty | Easy | Medium | Hard | Mixed (problems only). Operational definitions — all levels must also satisfy the complexity calibration rules below: <br>Easy: single-step formula plugs allowed per subpart; scenario unity preferred but cross-subpart dependency not mandatory; comparison/judgment subparts optional. Use only when user explicitly asks for 速刷 / drill / difficulty: easy. <br>Medium (default floor for non-Hard items): each large question satisfies all complexity calibration rules — ≥2 non-formulaic subparts, cross-subpart dependency, scenario unity. <br>Hard: Medium criteria plus every [Hard] large question must satisfy ≥1 additional condition: (a) ≥3 non-formulaic subparts, (b) ≥2 candidate models/hypotheses directly compared and one selected with justification, or (c) multi-step inequality, derivation, or proof-of-formula subpart. <br>[Hard] quota: label about 1/5–1/4 of large questions (e.g. 2 of 8, 3 of 12); spread across set — not only the final question unless the user asks. |
| count | integer, typically 5–8 large questions when Type=problems (MCQ or WA) unless the user specifies |
| answers | Default no for both MCQ and WA: Problems file = stems (+ study-guide highlights) only. yes: user explicitly wants solutions in-file or a Key (see Answer key section). When the user says "做完了" / "对答案" / "批改" / pastes a file with - [x] marks, treat as (generate ). |
Math (Obsidian-friendly — default for all new/edited ASTAM notes):
$...$ for every short formula or symbol. Never use $$ inside running text, bullets, or cells.$$...$$ only as a standalone paragraph (blank lines before and after).$$\begin{aligned}...\end{aligned}$$ (or gathered / cases as needed); use & at the start of each line or &= so lines align like printed notes — do not rely on raw \\ alone.astam-math-display-left.css in your Obsidian vault CSS snippets.Type = summary: mainly Chinese; key terms 中文 + English.
Type = problems — references & scope: Ground stems in ASM ASTAM + Past Exams (especially Past Exams for difficulty and complexity). Cross-check ASTAM/Syllabus/ so the set covers the syllabus objectives for the requested topic slice — no gaps in exam scope for that slice. Attribution: for each large question (or clearly per set if one theme), add a short line such as Adapted from: ASM Lesson n §… and/or ASTAM Season Year Problem k style (chapter / lesson / exam sitting as applicable). If purely synthetic, state Original practice item (syllabus: T# …).
Type = problems — ASTAM exam structure: Mirror released ASTAM layout: typically one major question with (a)(b)(c)… subparts; subparts may include nested (i)(ii) given items. Adjust part count to match density when possible; keep wording and every numeric and formula before shipping.
| Signal from user | Path | Action |
|---|---|---|
Attaches / pastes …-Problems.md with - [x] marks (MCQ) | MCQ grading | Follow MCQ mistake log template below |
Attaches / pastes …-Problems.md with partial scores or free text (WA / 非选择题) | WA grading | Follow WA mistake log template below |
| Describes wrong problems in text, pastes screenshot or notes — no Problems file | Free-form mistake log | Use Type = mistakes a–e protocol in reference-astam-generation.md |
| Says "批改" / "对答案" but no Key exists and the topic is calculation-heavy | Key-first prompt | Ask: "是否先生成 Key 再批改,还是我直接推导答案?" — do not proceed silently without Key on a calculation-heavy set |
After determining path, proceed. Update your Dashboard study-plan section (if maintaining one) when adding new Mistakes files.
Every wrong or blank subpart in any Mistakes file must be labelled with exactly one of the following tags in §1 错题速查表 and §2/§2b 解析 header:
| Tag | Chinese | When to use |
|---|---|---|
concept | 概念混淆 | Wrong understanding of a definition, theorem, or which formula applies (e.g. per-loss vs per-payment) |
formula | 公式错误 | Right concept, wrong formula — misremembered or mis-applied (e.g. wrong Panjer recursion index) |
setup | 建模错误 | Wrong model structure or equation setup (e.g. treated a sum as a mixture) |
calc | 计算失误 | Correct logic and formula, arithmetic/algebra error only |
misread | 读题失误 | Ignored a given condition, misread a number, missed a constraint |
§3 定向补强 auto-trigger: only fire for concept, formula, or setup errors (≥2 subparts with the same branchId AND one of these three tags). Do not trigger for calc or misread — those require practice discipline, not concept review.
…-Problems-Mistakes.md) — required when grading MCQUse English ## headings only for the main sections. Four top-level sections (in order):
## 1. Score and summary — 满分、得分、得分率、按题/按小问表、错题速查、🚩收藏速查(表内文字可中英混合)。
concept / formula / setup / calc / misread) | 对应 branchId. The 错因 tag is the agent's best judgment based on the solution; the user may correct it.- [x] 🚩) subpart — columns: Subpart | 是否也错 | 简短备注 (user fills later).## 2. Wrong / blank — questions, options, and solutions — For each large question that has ≥1 wrong or blank subpart:
#### Solutions — Question n (x) in 中英双语 (bilingual). Language rule for Mistakes §2 / §2b: body text uses Chinese for narrative flow, but every key concept, theorem name, formula label, and technical term must appear in both Chinese and English — e.g. "极大似然估计 (Maximum Likelihood Estimation)", "后验均值 (posterior mean)". English phrasing should be substantive, not just parenthetical glosses — include the English reasoning step or definition when it aids exam recall. All subparts in a displayed question get a solution note (not just the wrong ones): wrong / blank subparts need 【详析】 + 错因 tag; correct subparts get a brief 解题思路 + knowledge recap. 🚩-flagged subparts in this question also get 【🚩见§2b】 cross-reference — their full solution appears in §2b, not here.Knowledge highlights blockquote (same format as Problems file but with answers now visible).Self-contained principle: The Mistakes file should be readable on its own — the reader should not need to open …-Problems.md to see what a question asked. Every displayed question includes its full original stem (large-question givens + subpart prompts + options).
ASTAM-Practice-Data.json + ASTAM-Practice-Dashboard.md per Practice analytics above.…-Problems-Mistakes.md) — required when grading WA (非选择题)WA subparts are partial-credit (no single correct letter). Use the same four-section structure as MCQ but adapted for written-answer grading.
Scoring format (§1 scoring table):
| 题号 | 小问 | 满分 | 得分 | 错因 tag | branchId |
|---|---|---|---|---|---|
| Q1 | (a) | 4 | 2 | setup | t3-b |
| Q1 | (b) | 3 | 3 | — (全对) | t3-b |
| … | … | … | … | … | … |
Section rules:
## 1. Score and summary — 满分、得分、得分率、上表(按大题汇总)、错题速查(含错因标签)。🚩 收藏速查表 (subpart | 是否也错 | 备注)。## 2. Wrong / blank — steps, marking, and solutions — For each large question with ≥1 wrong/partial subpart:
**Marking guide** — list expected steps and their point values (derive from Key if available; otherwise construct from first principles).**你的作答 vs 标准** — annotate where the approach diverged; assign partial credit per step if applicable.**错因 tag:** concept / formula / setup / calc / misread.**【详析】** — full bilingual explanation (same depth as MCQ §2 wrong subparts).Knowledge highlights blockquote.## 2b. Bookmarked — review notes — Same rule as MCQ: every 🚩-flagged subpart appears here with full stem + derivation + Knowledge highlights, regardless of correctness.## 3. Key takeaways and further reading — Same §3 rules as MCQ (知识点表, 定向补强 auto-trigger, same error-tag thresholds).Key differences from MCQ template: no A–E options; scoring is step-by-step; 错因 tagging is especially important for setup errors (student modeled the wrong quantity).
Type = problems)File division of responsibility:
This section (SKILL.md): format rules, placement, when to add, language norms.
reference-knowledge-highlights.md: mandatory block template, T1–T6 topic pitfall bank — read it before generating any T# problems to seed Core / 易错点 bullets.
reference-astam-generation.md: math alignment examples and extended grading detail.
Default (answers: no) — MCQ or WA: per large question on …-Problems.md — blockquote Knowledge highlights (study guide — no answers) (MCQ: no correct letters).
MCQ + Key (user requested …-Problems-Key.md): repeat or expand highlights in the Key after brief rationale.
WA + answers: yes: after each question’s solution in-file; when grading, highlights appear in Mistakes §2.
After every question (MCQ study guide, WA solution, or Key entry), the blockquote must include:
> **Knowledge highlights** — for default MCQ stems use > **Knowledge highlights (study guide — no answers)** so spoilers are avoided.Core: 1–3 bullets — formulas / steps directly tied to that question易错点 / Common pitfalls: 1–2 bullets — typical exam confusions for that setupIf the user chooses answers: no answers, still add a short Knowledge highlights (study guide) blockquote under the question stem (no full solution). When grading (Type = mistakes), include full highlights in the Mistakes file §2 solutions.
Templates + pitfall bank by T1–T6: reference-knowledge-highlights.md — read it when generating problems so output stays consistent.
Optional: end multi-question files with a small Quick reference card table (see reference file).
Full detail and source list: reference-astam-generation.md.
T# chosen and reflected in filename (for new files).Type = problems: each question has Knowledge highlights per reference-knowledge-highlights.md (MCQ default = spoiler-free block on stem file).…-Problems.md stems only, answers: no (no solutions / no letters); Key only if requested. Filename uses Problems, not -MCQ.[Hard] on ~1/5–1/4 of large questions (unless user overrides); remaining items Medium+.ASTAM-Practice-Data.json + ASTAM-Practice-Dashboard.md updated in the same task.Type = problems: hidden <!-- astam: t#-x --> (or footer astam-syllabus-map) so Mistakes/ledger can attach branchId quickly.Type = mistakes…-Problems-Mistakes.mdafter-attempt is retired — all post-attempt work now flows through the Mistakes pipeline.| format | Default: MCQ, five options per subpart. 非选择题 / wa: WA, no A–E. |
Type = problems — complexity calibration (mandatory):
Type = problems (default — MCQ): English; 5–8 large questions unless count is set; each large question usually 3–5 subparts (flexible if mirroring a specific past-exam shape); each subpart = one MCQ with five options A–E (- [ ] **A.** … - [ ] **E.**). Stems: “You are given …”, Calculate / Determine / Which of the following. Difficulty: most items Medium+; include [Hard] on ~20–25% of large questions (see difficulty row). Never copy released exams verbatim — adapt with citation. Output: …-Problems.md only unless user requests Key. Do not emit …-Problems-Key.md unless asked.
**A.** … **E.**).- [ ] **A.** option — never after option E and never before the question sentence. Exact sequence:
(a) <!-- astam: t#-x --> *(2.5 pts)* [question text]
- [ ] 🚩
- [ ] **A.** …
For WA (no A–E): place - [ ] 🚩 immediately after the prompt line, before any sub-items. No alternatives are permitted — always use this position so grading scripts can locate the flag unambiguously. The user checks - [x] 🚩 to bookmark for review even when answered correctly. When grading (Type = mistakes), flagged subparts are treated like wrong/blank for full inclusion; flagged-but-correct subparts appear in ## 2b and are not counted as errors in score tables.Type = problems (非选择题 / format: wa): English; no A–E. Same major-question + subpart (and optional nested (i)(ii)) structure; ~10 points per large question unless mirroring a past exam. Use the same [Hard] ~20–25% mix on large questions. Default answers: no: study-guide highlights under each stem block only. answers: yes: append solutions after each question in-file (or user may ask for a separate Solutions note).
Grading / mistakes — entry-point routing (read first): Before starting any grading, determine which path applies:
§2 includes correct subparts too: every subpart of a displayed question gets its solution/思路. Subparts that were both correct and un-flagged still appear (brief note is fine).
§2 density — default vs 精简 (minimal): Default = full stem + all options + all subpart solutions for every large question that has ≥1 wrong/blank subpart. If the user asks for 精简, 轻量, or minimal Mistakes, use compact §2:
## 1, ## 2b, and ## 3 stay full quality.## 2b. Bookmarked — review notes — Always list every 🚩-flagged subpart here, regardless of whether the parent question appeared in §2 or not. This makes §2b the single authoritative review section for flagged items.
## 3. Key takeaways and further reading — 知识点表(可中英对照列)+ 库内 ASM lesson 链接。Include 🚩-flagged topics in the takeaway table even if they were answered correctly.
§3 定向补强(auto-trigger): 触发条件:同一个 branchId(t#-a / t#-b / …)在本套 Mistakes 中出现 ≥ 2 个错因标签为 concept / formula / setup 的错误(calc 和 misread 不计入触发,只统计)。每个达到阈值的 branchId 各写一段 ### 定向补强:【branchId — 主题名】,内容:
[[T2-1-aggregate-iii-Problems-MCQ]] 附录 A)。若没有任何 branchId 达到阈值,§3 只保留常规知识点表 + 链接(不强制补强段)。若有 calc / misread 错误,在知识点表末尾加一行:「本套有 X 处计算/读题失误,建议下次做题时提高细心度。」(不展开为独立补强段)。
Type = problems- [ ] 🚩- [ ] A.…-Problems-Key.md, or terminal ## Answer key (spoilers…) block only at file end (no answers interleaved after each question on the practice scroll path).Type = mistakes: Mistakes file is self-contained — every displayed question includes full original stem (large-question givens + subpart prompts + options); all subparts get solution notes; 🚩-flagged correct subparts appear in §2 or §2b with full 解题思路.[[wikilinks]] if new/renamed notes should appear in the T1–T6 index or weekly rows (or if the user asked to record progress checkboxes).$...$ inline; $$...$$ only as standalone paragraphs; multi-line display uses aligned (or equivalent); no bare \\ stacks without an environment.answers: no: no solutions, no correct letters in the Problems file. Knowledge highlights after each large question: Knowledge highlights (study guide — no answers) — do not reveal letters. If user later requests …-Problems-Key.md, add letters + brief rationale + highlights per reference-knowledge-highlights.md.reference-knowledge-highlights.md); (b) at least 1 distractor should be "correct in a different but related context" (e.g. the right formula for per-payment vs per-loss, or the right criterion for a different test); (c) avoid distractors that are eliminated purely by grammar or obvious illogic. After writing all 5 options, confirm each wrong option has a specific rationale for why a student might choose it.