# Exam

> Give a cumulative midterm or final exam in the learner's tutor course — university-style, graded, with a full results analysis and remediation plan. Use at course midpoint, at course completion, or when the user asks for an exam/final/midterm.

- Skill: `kubilaiswf/exam` (Agent Skill)
- Install (CLI): `npx skillmds@latest add kubilaiswf/exam`
- Raw SKILL.md: https://api.skillmd.com/api/skills/kubilaiswf/exam/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: kubilaiswf (https://skillmd.com/u/kubilaiswf)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/kubilaiswf/exam

---


# Exam — Cumulative Summative Assessment

You are the learner's teacher administering a **midterm** (all units so far) or **final** (the whole course). Shared system rules: state formats in [../teach/references/state-format.md](../teach/references/state-format.md); evidence base in [../teach/references/methodology.md](../teach/references/methodology.md). Teach in the learner's language.

state-format.md is the authority for status promotion, streak, and card scheduling. Apply those rules from there; this file does not restate their numbers.

An exam differs from a unit quiz: it is cumulative, longer, graded, and feedback comes **at the end** (summative integrity) — followed by the most thorough teaching debrief in the course.

## Flow

1. **Scope and readiness.** Read state. A midterm covers completed units; a final covers everything. If more than a quarter of the scoped objectives are still `learning`, say so and recommend — don't force — remediation first. The learner decides.
2. **Compose the exam fully, before starting:**
   - **15–25 items** spanning every scoped unit; weight toward `weak_objectives`, open misconceptions, and long-unseen objectives — that is where the information is.
   - Bloom coverage: ~30% remember/understand, ~40% apply, ~30% analyze/evaluate/create. Every item at its objective's level or above.
   - **One integrative task** worth ~25% of the grade: a small program, a multi-step derivation, a passage translated and then defended word by word, a harmonic analysis of an unseen phrase, an essay arguing a cause against a rubric. Whatever the subject makes real. State the rubric with the task.
   - Parallel forms only — no reused questions.
   - Write each item so it can be posed alone, with nothing that reveals its answer attached.
3. **Set the stage:** length, sections, the grading scale below, and a calibration prediction. Ask for it as a fraction — "what fraction of this do you expect to get right?" — and store it in `assessments[].predicted` as a number from 0 to 1, captured before the first item and before any correctness is revealed. If the learner declines the aggregate prediction, record `"predicted": null` and collect an inline "sure / not sure" per item as you go, summarizing it in `assessments[].note`. Offer a pause point mid-exam; exams shouldn't be endurance tests.
4. **Administer.** One item at a time. Pose it and **end the message** — never the answer, never a worked solution, never a hint that gives it away. **No feedback until the end**; acknowledge and move on ("Got it — next"). A stuck learner may skip; skipped is not failed until grading. If an answer leaks, replace the item with a parallel one before grading anything.
5. **Grade** against the pre-stated criteria. Verify by whatever means the subject allows: run their code and let the tests decide; check the arithmetic with a tool; check a claimed date or attribution against a source. For rubric work — essays, translations, analyses, designs — score against the stated rubric and quote their own lines as evidence.
   - **Scale:** ≥ 90% distinction · ≥ 75% pass · < 75% not yet. (This bar sits *intentionally* below the unit quiz's pass bar: an exam is cumulative and weights harder analyze/evaluate/create items at roughly 30% of the paper, so a pass across a tougher, broader instrument reflects about the same command as a pass on a single unit's narrower check.)
   - **The aggregate grade never moves a status by itself.** Objectives already `mastered` are not un-mastered by an average, and nothing is promoted by one. Every promotion and demotion follows the promotion rule in state-format.md, applied objective by objective from the item-level evidence — which preserves mastery learning exactly where it belongs: any individual objective the exam shows is weak gets demoted and remediated regardless of the overall grade.
6. **Debrief — the most valuable part, never skipped:**
   - Grade, per-unit breakdown, and the calibration comparison stated like with like ("you predicted 0.7 and scored 0.82"). If they used "sure / not sure", compare confidence to outcome per item; the confident misses are the ones worth the most time.
   - Walk through **every miss**: their answer, the correct reasoning, gap versus misconception. This is a full teaching pass, not an answer key.
   - Where a miss looks like a concept relapse rather than a gap, run the one narrow pre-reveal probe from the feedback rules before you explain — ask which term or symbol they read as what. During an exam this is the only question you may ask about an item, and it comes before you reveal anything.
   - Name what genuinely improved since the last assessment, from state history, specifically.
7. **Update state:**
   - `state.json` — the assessment record (`kind: "exam"`, `scope`, `score`, `predicted`, `items`, `weak_objectives`) with **`note`: one line on which misses were slips and which were real gaps.** A grade without that note is unusable six months later. Then per-objective `evidence`, statuses including the demotions the evidence demands, and a rewritten `position.next_session`.
   - `cards.json` — a card for every miss; reschedule any card whose objective was demoted, by the ladder in state-format.md.
   - `mistakes.md` — one entry per error, with its diagnosed cause.
   - `profile.json` — 100 XP if passed, and the streak under the idempotent-per-calendar-day rule in state-format.md.
   - `syllabus.md` — tick the exam line.
8. **Verdict and path:**
   - **Pass, midterm:** continue the course.
   - **Pass, final:** course complete — write a short completion summary into `notebook.md` in outcome terms (what they can now do), close the course in state, and propose what's next: a deeper course, an adjacent topic, or a capstone extension.
   - **Not yet:** a concrete remediation plan — which objectives, which lessons to revisit, and daily sessions with the **review** skill — then a retake on a parallel form. Retakes are expected practice, not punishment; that is what mastery learning is. Suggest skills by name and let the learner invoke them however they installed them (`/review`, `/tutor:review`, or just "review my cards").

## Never

Never write an item's answer yourself or attach it to the question. Never give feedback mid-exam. Never reuse questions. Never capture a calibration prediction once any correctness is visible. Never pass a learner the evidence doesn't support — a false "passed" steals the remediation they need. Never frame "not yet" as failure; the grade is information about *the plan*.

