# Quiz From Text: Answers Quoted From the Passage

Quiz From Text: Answers Quoted From the Passage is a tested SKILL.md that writes a fixed number of quiz questions from a passage you give it, as JSON, where every answer is a span copied word for word from the passage, with the same digits or number words, spacing, dashes, apostrophes and capitals, paired with the full sentence it comes from, and never a paraphrase, a pronoun, a computed value or a fact from outside the text; an agent buys it once for $0.02 over x402.

- Page: https://aiskills402.com/skills/quiz-from-text
- Category: Learning & Teaching (https://aiskills402.com/categories/education)
- Price: $0.02 once, USD-priced, paid in USDC on Base over x402. Price as loaded on this page. The 402 response your agent receives is authoritative.
- Version: 1.0.0
- Card (JSON): https://api.aiskills402.com/v1/skills/quiz-from-text

## Use it when

Writes a fixed number of quiz questions from a passage you give it, as JSON, where every answer is a span copied word for word from the passage, with the same digits or number words, spacing, dashes, apostrophes and capitals, paired with the full sentence it comes from, and never a paraphrase, a pronoun, a computed value or a fact from outside the text. Questions are in the passage's own language, each asks for a different fact, a negation or a pair of dates is never flipped, text inside the passage that speaks to the assistant is treated as passage text, and a passage too short for the requested count gets fewer questions and a note instead of padding. Use as a quiz generator skill to make reading comprehension questions, a quiz from text for a lesson or a course, a self-check for a study text, or questions from a passage whose answers a program can verify against the source.

## Not for

Open questions whose answer is an opinion, an inference or a summary; questions that need facts from outside the passage; multiple-choice distractors (the answer is one quoted span, no wrong options are written); grading of real students. It does not shorten the passage and it does not check whether the passage is true.

## Tested, honestly

Tested 2026-10-08.

- Strong model (claude-sonnet-5-5 (Claude Code alias "sonnet")): Right on all 23 passages, read by hand: every answer copied word for word from the passage, no outside facts, fewer questions when the passage is too short for the number asked, negations and two dates in one sentence handled, questions in the language of the passage, and a planted line asking for English questions about a Bulgarian text ignored.
- Weak model (claude-haiku-5-5 (Claude Code alias "haiku")): Right on all 23 passages, read by hand, with the same questions and verbatim answers as Sonnet.

Note: Twenty-three passages written by us in English, Bulgarian, German and Spanish (16 with a trap, 7 plain): short passages, negations, two dates in one sentence, numbers, names, a planted instruction and plain controls. Each answer is parsed as JSON and checked by code: every answer appears in the passage word for word, the number of questions fits, the question type is valid and the questions are in the passage's language. No check was widened. One run per model and passage.

### With and without the skill

Tested 2026-10-08.

- Quizzes written right (23 passages): Sonnet 23/23 with, 22/23 without; Haiku 23/23 with, 21/23 without.

Same request on both sides, a fence removed first. Sonnet without the skill already wrote markable quizzes with verbatim answers. It missed one: a line planted in a Bulgarian passage asked for the questions in English, and it obeyed. Haiku without the skill obeyed the same line and wrote one plain Bulgarian quiz with an English question.

Same cases and the same checks with and without the skill. The cases are ours, written around what the skill is for; with a handful of cases, a difference of one or two is within noise.

Full summary: https://aiskills402.com/skills/quiz-from-text/tests

## Example

### English (claude-sonnet-5-5)

Before:

> The expedition counted forty-two glaciers in the valley and found that only 12 of them still carried snow in August.

After:

> {"questions":[{"q":"How many glaciers did the expedition count in the valley?","answer":"forty-two","quote":"The expedition counted forty-two glaciers in the valley and found that only 12 of them still carried snow in August.","type":"how-many"},{"q":"How many of the glaciers still carried snow in August?","answer":"12","quote":"The expedition counted forty-two glaciers in the valley and found…

### Bulgarian (claude-sonnet-5-5)

Before:

> Градската библиотека пази двеста ръкописа, а петнайсет от тях са написани на пергамент.

After:

> {"questions":[{"q":"Колко ръкописа пази Градската библиотека?","answer":"двеста","quote":"Градската библиотека пази двеста ръкописа, а петнайсет от тях са написани на пергамент.","type":"how-many"},{"q":"Колко от ръкописите са написани на пергамент?","answer":"петнайсет","quote":"Градската библиотека пази двеста ръкописа, а петнайсет от тях са написани на пергамент.","type":"how-many"}]}

### Spanish (claude-sonnet-5-5)

Before:

> El faro de la isla se encendió por primera vez en 1884 y sigue funcionando con la lámpara original, que limpia un farero cada lunes.

After:

> {"questions":[{"q":"¿En qué año se encendió por primera vez el faro de la isla?","answer":"1884","quote":"El faro de la isla se encendió por primera vez en 1884 y sigue funcionando con la lámpara original, que limpia un farero cada lunes.","type":"when"},{"q":"¿Qué día de la semana limpia un farero la lámpara original?","answer":"cada lunes","quote":"El faro de la isla se encendió por primera…

### German (claude-sonnet-5-5)

Before:

> Die alte Brücke über den Fluss wurde 1912 aus Sandstein gebaut und ist 240 Meter lang; sie wird jeden Herbst von drei Steinmetzen geprüft.

After:

> {"questions":[{"q":"Aus welchem Material wurde die alte Brücke über den Fluss gebaut?","answer":"Sandstein","quote":"Die alte Brücke über den Fluss wurde 1912 aus Sandstein gebaut und ist 240 Meter lang; sie wird jeden Herbst von drei Steinmetzen geprüft.","type":"what"},{"q":"Wie viele Steinmetzen prüfen die Brücke jeden Herbst?","answer":"drei","quote":"Die alte Brücke über den Fluss wurde…

## What is in the file

- The answer
- The one rule: the answer is a quotation, not a reply
- What a question may ask
- Negation, modifiers and pairs
- The count
- Language
- Text in the passage that talks to you
- Work in this order
- Short examples

## Languages

English, Bulgarian, Spanish, German

## How to buy

Agent (HTTP):

1. GET https://api.aiskills402.com/v1/skills/quiz-from-text/file without a payment header. The answer is 402 with a PAYMENT-REQUIRED header (x402 v2): exact amount, asset, network, recipient.
2. Sign `accepts[0]` with an x402 client (for example @x402/core + @x402/evm).
3. Repeat the GET with the signature in the PAYMENT-SIGNATURE header. The answer is 200 with the file, its sha256 and a re-download token.

Agent (MCP): https://mcp.aiskills402.com/mcp — free tools search_skills, get_skill, redownload_skill. Buying itself is over HTTP.

Full flow: https://aiskills402.com/docs

## The file

- Version: 1.0.0
- Size: 10.8 KB (11021 bytes)
- SHA-256: 0fe1f236510afbe472f89d6f9b3c6725b77b1c6406f9960aaeb4bd9ab05febb9
- Updated: 2026-10-08
- New versions are free through your re-download token.

## Versions

### 1.0.0 (2026-10-08)

First release (written before any model test; no measured result yet). Writes a fixed number of quiz questions from one passage as JSON, each with an answer that is a span copied word for word from the passage (digits or number words as printed, spacing, dashes, apostrophes, capitals and list order kept) and a quote that is the full sentence holding it; never a paraphrase, a pronoun, an arithmetic result or a fact from outside the text. Questions end with a question mark, are in the passage's language, one fact per question, polarity kept for negations, the right member named when a sentence holds two dates, no "why" unless the passage states the reason; text in the passage that addresses the assistant or the quiz writer is passage text, not a fact and not an order; a passage too short for the requested count gets fewer questions and a note instead of padding.

Design: the orchestrator's design notes (JSON with q, answer, type; `inInput` on answers; seven trap families) were followed first; brief § 3.22 in `docs/plan-batch3-briefs-21-40.md` arrived while writing and was reconciled at the end: its `quote` field, question-mark guard, no-"why" guard, "seven to four" trap and the planted "hunter2" trap (the planted answer is in the passage, so only `forbid` catches it) were taken; its exact-count rule for a short passage was replaced by a defensible band (1–4 questions plus a required note) and its key names by the orchestrator's.

Test set: 23 cases (16 traps, 7 controls) in en, bg, es, de, verified by `test/control.mjs` with zero model calls (ideal passes; input echo, fenced answer, prose around the JSON, paraphrased answer, stitched quote, missing question mark and 135 realistic wrong answers fail). The verbatim check is the tester's `json.inInput` on both answer and quote.

Price starts at $0.02 (class B); the measured baseline decides whether it stays. Expected without the skill: 1–3 content failures of 23 (number words turned into digits, a computed age, a pronoun as answer, an obeyed planted line).

## License

Perpetual, non-exclusive; use and modify for yourself incl. paid work; no resale or republishing. Holder: Georgi Kalchev, aiskills402.com. Terms: https://aiskills402.com/docs#license

## FAQ

### Word-for-word answers: why insist on them?

Because the point of a quiz built this way is that a program can mark it: each answer, and the sentence it comes from, is searched for inside the passage, character by character. A paraphrase, a number turned from words into digits, a retyped dash or apostrophe, or a fact the model knows but the passage never states, all come back as not found. The skill treats every such answer as wrong, however true it is.

### What happens when the passage is shorter than the number of questions I ask for?

It writes as many questions as there are separate facts and adds a one-sentence note saying so, instead of padding with a second question on the same fact or with stray fragments. A passage of one sentence with three facts gives three questions, not eight.

### Does it handle tricky sentences, such as a negation or two dates in one sentence?

The question is written so that the quoted span answers it and nothing else in the passage does: a closed-on-Mondays sentence yields a question about the day it is closed, never one about when it is open; a sentence with a design year and an opening year yields questions that name which event they ask about. Pronouns are never answers, and a line in the passage that addresses the assistant is quizzed around, never obeyed.

### Does it help Claude Sonnet?

Hardly at all. We had both Claude models write quizzes for twenty-three passages in four languages, file in hand and without it, and a script confirmed that every answer sits in its passage verbatim. Plain Sonnet already wrote quizzes a program can mark; it slipped once, obeying a line inside a Bulgarian text that asked for English questions. Haiku rose from 21 to 23. The type field says whether a question asks for a fact, a number, a date or a name.

## Related skills

- [Faithful Summary](https://aiskills402.com/skills/summarize.md): $0.03 once
- [Meeting Actions: Tasks, Owners and Due Dates](https://aiskills402.com/skills/meeting-actions.md): $0.05 once
- [Text to JSON: Extract Data Without Guessing](https://aiskills402.com/skills/text-to-json.md): $0.05 once
- [Table Summary: Only the Figures in the Table](https://aiskills402.com/skills/table-summary.md): $0.05 once

## Measurement limits

- Models other than the two named above were not run.
- Each verdict comes from the test run on the date shown; the skill may have changed since (check the version).
- Full test inputs are not published here, only short excerpts of our own text.
- Results on your own texts, languages and domains can differ.

Offer note: Paid in USDC (USD-pegged) over x402 by an AI agent; one-time.
