Quiz me
Quiz-me (考考我) — after a large change, or any change the user didn't author themselves (AI-written code), generates a report explaining the context, intuition, and mechanics of what changed — then quizzes the user on it and grades the answers. Recommends merging only when the user passes completely. Use when the user says "quiz me", "考考我", "测测我", "我不放心这次改动", "do I actually understand this change", "explain what happened then test me", or after a long working session before merge.From its SKILL.md
npx -y skills add lusipad/zhizhi --skill quiz-meAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
4.8 KB, ~1.0k tokens by cl100k_base, as published. Nobody here has run it
Quiz Me
After a long session, more happened than the user realizes. Reading diffs gives only a light understanding, because much of the new behavior depends on existing code paths the diff never shows. This skill closes that gap: explain, then verify the explanation landed. The user merges only after passing.
Language: write the report, quiz questions, and verdicts in the language the user is speaking. The verdict keywords PASS / NOT YET stay in English in every language — they are the trust anchor. File names and code identifiers stay in English.
Step 1 — Scope what "the change" really is
Don't stop at the diff:
- The diff itself
- The existing code paths the new code calls into or is called from
- Behavior that changed without its code changing (a config default now taking effect, a caller now hitting a different branch)
- What the change relies on continuing to be true (invariants, ordering, formats)
Step 2 — Write the report
Sections, in order:
- Why — the problem this change solves, one paragraph
- Mental model — the intuition: how to think about the new behavior in one diagram or metaphor. If the user keeps one idea, it's this one.
- What changed — a guided walk through the diff, grouped by intent rather than by file
- What it stands on — the pre-existing code paths and invariants the change depends on; the part diffs never show
- Where it could break — the inputs, states, or future edits most likely to hurt it
For small changes, sections may be a sentence or two and Why / What changed may merge — but never thin out "What it stands on" or "Where it could break"; they are the point.
Default to Markdown. If the user asks for HTML (or the change is big enough that navigation helps), produce a single self-contained HTML file with the quiz at the bottom.
Write the report to a file, not only into chat — grading spans multiple turns, and the report is the answer key; it must survive context compaction. Put it in the project's working-docs home or a gitignored directory in the repo — not a session temp dir (grading may resume in a fresh session), and never loose in the source tree.
Step 3 — Quiz
3–8 questions at the bottom of the report, scaled to the change's conceptual surface. The no-trivia rule below outranks the count: write fewer questions rather than pad. For substantial changes include at least one of each; drop a category the change genuinely doesn't have rather than invent trivia:
- A question about behavior that depends on pre-existing code (not visible in diff)
- A failure mode: "what happens if <input/state X>?"
- A tracing question: "a request comes in with Y — walk me through what runs"
- A design question: "why was alternative Z not used?"
Format for low friction — a quiz nobody takes verifies nothing:
- Default to multiple choice (at least two-thirds of the questions), with distractors built from plausible misconceptions, not filler. A user who actually holds the misconception must find its distractor attractive.
- At most one short-answer question per three questions (the tracing question is usually the one), answerable in a handful of keywords or arrows — say so explicitly.
- Number questions and letter the options so the whole quiz can be answered in one line ("1B 2A 3C"). If the host provides a structured choice UI, use it.
- No trivia — every question's answer should matter for operating or reviewing this code.
Step 4 — Grade strictly
- Grade each answer; partial credit is a fail for that question. For short answers, judge the concept, not the prose — terse keyword answers are fine.
- For each miss: re-explain with a file/line reference, then ask a variant of the question (not the same one — the user can echo, that's not understanding).
- Repeat until everything passes — or the user stops. Stopping early is always allowed and always a NOT YET, never a reluctant PASS.
End with an explicit verdict:
- PASS — you understand this change; safe to merge from an understanding standpoint.
- NOT YET — misses on: <topics>. Re-quiz when ready.
Never soften the verdict. The whole value of the skill is that the user can trust a PASS. Everything after the dash is written in the user's language; the PASS / NOT YET keywords stay English.
What ships with it
Read from the repository
Just SKILL.md. No reference files, no scripts.
Gives 1 of the 12 instructions most study practice skills give in ~1.0k tokens
Counted across 85 of the 97 authors here whose files we hold, read 2026-09-06
- Ask one question at a timein 17 of 85
- Give immediate feedback after each answerin 7 of 85
- Write five to eight quiz questionshere, and in 6 of 85
- Ask one question per messagein 4 of 85
- Wait for each answer before continuingin 4 of 85
- Wait for the user's answer before feedbackin 4 of 85
- Present multiple-choice via AskUserQuestion with exactly four optionsin 4 of 85
- Treat pass as merge-readyin 2 of 85
- Present one word at a timein 2 of 85
- Verify a story project exists before startingin 2 of 85, across 1 file
- Clarify the revision pass type firstin 2 of 85, across 1 file
- Read chapter and continuity context before editingin 2 of 85, across 1 file
Said here and by no other author read
- Scope the change beyond the diff
- Cover pre-existing code paths the change relies on
- Write report and quiz in the user's language
- Keep PASS and NOT YET keywords in English
- Write the report to a file
- Default the report to Markdown
Grouped from the skills themselves: near-identical wordings counted once, and counted by distinct author, so one author publishing three of these counts once. Length counted with cl100k_base; the agent that loads this file may tokenize it differently.