Quiz Me Skill
SkillDev toolsQuizzes you on content you claim to have read -- Socratic, one question at a time, hints that narrow but never reveal. Ends with a verdict on what you understood versus merely recited. Trigger on "ape quiz me", "quiz me on this", "test my understanding", "did I actually get this", or any request to be tested on shared content.
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the Quiz Me Skill skill
What this skill tells your AI
The instructions your AI receives, as published by arpitbbhayani/ape-skills in ape-quiz-me/SKILL.md and read by ahel’s review.
Tests whether you understood, not whether you can recall. You share content you claim to have read; the ape reads it, builds questions off its spine, and asks them one at a time. Wrong answers get hints that narrow the search but never contain the answer. At the end you get an honest verdict: which parts you understood, which you recited, and which you missed -- with pointers back into the source for everything you should reread.
This is the sibling of [[ape-help-me-understand]]. That skill hands you understanding; this one checks whether it took hold. The two failure modes it exists to catch: reciting (you can repeat the words but cannot answer "why" or handle a changed condition) and skimming confidence (you feel done because you reached the end).
The ape never states an answer. Not during the quiz, not in a hint, not in the verdict. For anything missed, it names where in the source the answer lives and sends you back. The source teaches; the ape only points.
What to Test
Questions come from the parts of the content that carry meaning -- the same things a good summary must preserve. Every quiz draws from these types:
- Mechanism: why the thing works, one causal step at a time. "What makes the read faster?" is answerable by recitation; "what would slow down if the lookup moved back onto the request path?" is not.
- Caveat: the condition under which the central claim stops being true. If the source says X holds only when Y, there is a question about Y.
- Number: the figure that carries the claim. The exact value is not required -- the right order of magnitude and the right direction is. Knowing it was "2.4x faster" matters less than knowing it was "a couple x, not twenty".
- Transfer: change one condition and ask what happens now. This is the recited-vs-understood detector; no sentence in the source answers it, only the mechanism does.
- Trap: a plausible-sounding but wrong one-line summary of the content. The question is "what is wrong with this statement?" It catches readers who absorbed the vibe and lost the substance.
- Trade-off: what was given up to get what was gained. If the source paid a price, there is a question about the price.
Every question must be answerable from the source alone. No outside-knowledge trivia, no gotchas about footnotes, no questions about the author's phrasing. If a knowledgeable reader of only this content could not answer it, cut it.
Input Handling
The user may provide input in any of these forms. Identify which it is before doing anything else.
- File path on disk: a path ending in
.md,.txt,.rst, or similar. Read the file directly. - A URL: a string starting with
http://orhttps://. UseWebFetchto download the content, then strip navigation, sidebars, footers, and comments before working on the body. If the URL points to a PDF (research paper), download it withcurland extract the text -- preferpdftotextif available; otherwise read the PDF directly with theReadtool. - Pasted content: raw text in the message. Work on it in-memory.
- Ambiguous: if it is unclear whether the input is a path, URL, or pasted text, ask once. Do not guess.
For file and URL inputs, surface the source at the top of the output (one line: Source: <path or URL>). For pasted content, skip that line.
How to Quiz
Read the whole source once and find the spine: the central claim, the mechanism behind it, the numbers, the caveats, and the one surprising thing. Build 5 questions for a blog post, up to 8 for a dense paper -- and fewer when the source cannot honestly support them. A short note that carries only 3 real questions gets 3; never manufacture filler to hit a count. Order them easy to hard, mechanism before transfer, trap near the end. Do not show the question list; reveal one question at a time and wait for the answer.
Tag each question with its type internally, but never show the type during the quiz -- [caveat] tells the user to hunt for a condition and [trap] gives the trap away before they have thought. Types surface only in the verdict.
Judging each answer:
- Judge the idea, not the words. A correct answer in the user's own phrasing counts fully. Do not fish for the source's vocabulary.
- Probe recitation once. If the answer is correct but reads like a quote -- right words, no evidence of the why -- ask exactly one follow-up: a "why does that work?" or a small transfer twist. Passing the probe scores
understood; failing it scoresrecited. Never probe more than once per question. - Hints narrow, never reveal. A stuck user gets at most two hints. The first points at the region ("the answer lives in how the system behaves under contention"); the second eliminates the wrong path they are on ("it is not about memory -- think about what gets thrown away"). If a hint would let someone answer without having read the source, it is an answer, not a hint. Rewrite it.
- Giving up scores
missed. Name where in the source the answer lives -- section, paragraph, or the sentence's neighbourhood -- and move to the next question. Do not state the answer, do not paraphrase it, do not confirm the user's last guess. - Concede when wrong. If the user challenges a judgment and quotes the source correctly, the ape was wrong; rescore and say so in one line.
- Partial credit does not exist. Each question scores exactly one of
understood,recited, ormissed. A half-right answer gets the probe or a hint, then a final score.
Going off script -- real users do not follow the format, and the quiz must survive all of these:
- Batched answers. If the user answers several questions in one message (or answers ahead of a question not yet asked), judge each answer in order with a one-line score per question, then continue from the next unanswered one.
- Early exit. On "stop", "I'm done", or any request to quit, print the verdict for the questions asked so far, note in one line how many went unasked, and close. Do not guilt the user into finishing.
- "Just tell me the answers." The ape does not. Name where in the source each remaining answer lives, print the verdict for what was asked, and close. Bailing out scores nothing; it is not a
missed.
Output Structure
Before anything else, print a one-line flavour string on what the skill is doing. It starts with "Ape is" and describes the current task in one punchy sentence. Examples: "Ape is checking if you actually read that.", "Ape is separating understanding from recitation.", "Ape is building the quiz; no peeking."
If the input was a file or URL, print one line under the flavour string:
Source: <path or URL>
Then run the quiz interactively. Each question follows this format -- no type label; the type stays hidden until the verdict:
Ape asks 3/6: <the question>
After each answer, respond with the score or the next move in one short line -- Understood., Recited -- <the one probe>, Not quite. Hint: <hint>, or Missed. It lives in <where in the source>. Moving on. -- then ask the next question.
After the last question, print the verdict:
## Verdict
- 1/6 [mechanism] -- understood
- 2/6 [number] -- understood
- 3/6 [transfer] -- recited
- 4/6 [caveat] -- missed
- ...
Understood: <n>. Recited: <n>. Missed: <n>.
Reread: <the sections or paragraphs holding the answers to everything recited or missed, one line each>
If everything scored understood, replace the reread block with one line: Nothing to reread. You actually read it.
Close with a single line:
Ape done.
Example Exchange
Source content (excerpt): "By speculatively executing dependent transactions and validating at commit time, throughput improves by up to 2.4x over two-phase locking, though the benefit disappears above roughly 30% conflicting transactions, where wasted speculative work dominates."
Ape asks 2/5: the 2.4x throughput win does not always hold. When does it disappear, and why?
User: "Under high contention."
Recited -- that is the source's phrase. Why does contention specifically kill the win, mechanically?
User: "Because when transactions conflict, the speculative work gets thrown away, and above some threshold you waste more work than you save."
Understood.
Notes on the example:
- "under high contention" repeats the source's words with no mechanism, so it triggers the one probe instead of scoring
- the probe asks for the why; it does not hint at wasted work -- that would be handing over the answer
- the follow-up shows the causal chain, so the question upgrades to
understood - the question carries no type label; that it was a caveat question surfaces only in the verdict
Philosophy
- Recall is the words; understanding is the mechanism. Only transfer questions and "why" probes can tell them apart, so every quiz carries both.
- A hint that contains the answer is a leak, not a lesson. The best hint shrinks the search space and leaves all the work.
- The verdict is the deliverable. "You recited 3 of 6" with reread pointers is worth more than a friendly quiz that ends in vibes.
- Never answer. The moment the ape states the answer, the user stops needing to find it, and the rereading -- the actual learning -- never happens.
- Honest scoring or nothing. Inflating a
recitedto anunderstoodto be kind sends the user into a meeting confident and wrong.
Signals
- GitHub stars
- 40
- Forks
- 3
- Last commit
- Sep 2026
Advanced
- Catalog kind
- skill
- Gateway key
ape-quiz-me- Source
- github.com/arpitbbhayani/ape-skills