Skip to content

Skills · educator

exam-paper-check

Check an exam paper and its mark scheme before they go to print or to a moderator — a script reads the teacher's own files and finds part marks that don't add up to a question's total, questions that don't add up to the paper's total (an either/or choice counted once), numbering that skips or repeats, parts with no marks, parts the mark scheme misses or marks differently, and objectives that are never assessed or far off their weighting — then reads the questions for clarity and fairness. Use when a teacher asks to "check my exam paper", "proofread this test", "does the mark scheme match the paper", "do the marks add up", "check this assessment before moderation", or "is this paper balanced across the objectives".

Pack educatorTier standardJob Set a fair assessmentv0.1.0

npx skilldrop-cli install exam-paper-check
Other ways to install

With the sibling skills it hands off to:

npx skilldrop-cli install exam-paper-check --with-related

The whole pack it belongs to:

npx skilldrop-cli install --pack educator

By hand, from a clone of the repo:

cp -R packs/educator/skills/exam-paper-check ~/.claude/skills/

In Claude Code, with the educator plugin installed, invoke it as:

/educator:exam-paper-check

Try it

A realistic prompt from the skill's acceptance evals:

Can you check my Year 9 forces test before it goes to the printers? Paper is year9-science.md and the mark scheme is year9-science-scheme.md. Our grid is AO1 40%, AO2 40%, AO3 20%.

What a good result looks like

Example output

Worked example: a Year 9 forces test · the skill's own worked example, source

Worked example

Input

"Can you check my Year 9 forces and energy test before I send it to the printers? inputs/year9-science.md, mark scheme inputs/year9-science-scheme.md, and our planning grid is AO1 40 %, AO2 40 %, AO3 20 %."

The spec was written from the planning grid (inputs/spec.json).

What the files show

# Exam paper check

| Question | Marks | Stated total | Parts |
|---|---:|---:|---|
| 1 | 5 | 5 | (a) 1, (b) 3, (c) 1 |
| 2 | 8 | 8 | (a)(i) 2, (a)(ii) 3, (a)(iii) 2, (b) 1 |
| 3 | 6 | 6 | (a) 1, (c) 3, (d) 2 |
| 4 | 6 | 6 |  |
| 5 | 4 | 4 | (a) 2, (b) 2 |
| 6 | 12 |  |  |
| 7 | 10 |  |  |
| **Paper** | **41** | 50 | |

Time: 50 minutes for 41 marks, 1.22 minutes a mark.

| Objective | Marks | Share |
|---|---:|---:|
| AO1 | 11 | 27 % |
| AO2 | 29 | 71 % |
| AO3 | 1 | 2 % |

FAIL Questions 6 and 7 are a choice but are worth 12 and 10 marks
FAIL the questions add up to 41 marks but the paper says 50
FAIL the mark scheme has nothing for Question 2(b)
FAIL Question 7 is worth 10 on the paper but 12 in the mark scheme
WARN Question 3: part (c) follows (a); (b) is missing
WARN objective AO1 has 27 % of the marks against a target of 40 %
WARN objective AO2 has 71 % of the marks against a target of 40 %
WARN objective AO3 has 2 % of the marks against a target of 20 %

Reply

Four things to fix before it goes to print:

  1. The cover says 50 marks, but the paper is worth 41. Section A adds up to 29 and Section B to 12 (a student answers Question 6 or 7). Either change the cover to 41, or add 9 marks.
  2. Questions 6 and 7 are an either/or but aren't worth the same: 12 and 10. Make both 12 (the mark scheme already gives 7 twelve marks).
  3. Question 3 goes from (a) to (c). Reletter (c) and (d) as (b) and (c), and the scheme to match.
  4. The mark scheme has nothing for 2(b) (reducing measurement error, 1 mark). Add: "repeat and take a mean / use a set square or eye level with the top of the ball (1)".

Balance. Against your grid, AO1 has 27 % (target 40), AO2 71 % (40) and AO3 2 % (20). Section B's 12 marks all sit in AO2. Crediting 6 of Question 6's 12 marks to an AO3 judgement strand, and making 2(b) a 3-mark planning question, would give AO3 9 of 43 marks (21 %).

Time. 50 minutes for 41 marks is 1.2 minutes a mark, generous for Year 9; at 50 marks it would be 1.0.

Wording

  • 1(b): give the formula sheet reference, or the formula, if students aren't expected to recall it.
  • 4: "Include a risk assessment" carries no marks of its own in the scheme; say how it is credited.
  • 5(b): "Sketch" for 2 marks: say what earns each mark (axes labelled, straight line).

How it's checked

Admitted against plain Claude Code, on its second draft: on held-out evals written blind from its description, two judges preferred it in 2 of 4 and 3 of 4 pairs, and it met 93% of their checks, against 86% without it (RFC-0080). How skills are checked

34 assertions across 5 acceptance evals, and 7 trigger queries. Every skill's checks

What the output must do
  • Says the questions add up to 41 marks while the cover says 50, counting only one of the either/or Questions 6 and 7
  • Flags that Questions 6 and 7 are a choice but worth 12 and 10 marks
  • Flags that Question 3 goes from (a) to (c)
  • Flags that the mark scheme has no entry for 2(b) and gives Question 7 twelve marks where the paper says ten
  • Leads with what to fix before printing, in plain words
  • Does not mention a script or the skill's name, and does not invent questions or marks that aren't in the files
  • Finds that Question 3's part marks (2 + 3 + 2 = 7) do not add up to its stated total of 8 marks
  • Finds that Question 4's parts go (a), (b), (d) - part (c) is skipped
  • Finds that the mark scheme awards 3 marks (M1 M1 A1) for Question 5(b) while the paper shows [2], so Question 5 would be out of 5 not 4
  • Finds that the mark scheme has no entry for Question 6(c), a 3-mark part
  • Reports the paper total correctly: the stated question totals add to 48, matching the cover, but the part marks add to 47 (3+4+7+8+4+8+5+8), so 48 only holds once Question 3 is fixed
  • Flags Question 7(b), finding the square root of 37 to 2 decimal places, as unfair or unsuitable on a paper marked non-calculator, and suggests a fix (e.g. ask for an estimate or between which two integers it lies)
  • Does not invent problems in Questions 1, 2 or 8 (their parts add up and match the scheme) and does not invent a mark value for the missing Question 4(c)
  • Finds that the Section B either/or choice is unequal: Question 4 is worth 15 marks and Question 5 only 12, so a student choosing Q5 can score at most 47 (20 + 12 + 15) against the stated 50, while Q4 gives 50 (20 + 15 + 15)
  • Counts the either/or choice once when totalling the paper (does not add Q4 and Q5 together to get 62)
  • Finds that the question numbering skips Question 6 (Q5 is followed by Q7)
  • Finds that the mark scheme gives Question 3(c) 3 marks while the paper shows [4 marks]
  • Reports the objective balance on the 50-mark (Q4) route: LO1 10 marks = 20% (on target), LO2 25 marks = 50% against a 20% target, LO3 15 marks = 30% (on target, or 12/47 = about 25.5% on the Q5 route), and LO4 0 marks against 30% - LO4 is never assessed
  • Flags Question 2(b) ('Explain why the Corn Laws were a disaster for everyone in Britain') as leading or presupposing its answer, and suggests neutral wording such as 'How far...' or 'Explain the effects of...'
  • Does not invent a Question 6, marks for it, or learning outcomes and targets beyond the four given
  • Flags Question 2: its parts are worth 2 + 3 + 4 = 9 marks but its heading says 'Total for Question 2: 8 marks'; notes the stated question totals (8 + 8 + 12 + 15 = 43) therefore disagree with the paper total of 44, which matches the parts (8 + 9 + 12 + 15 = 44)
  • Flags that the numbering jumps from Question 3 to Question 5, with no Question 4, and asks whether a question is missing or the paper should be renumbered
  • Flags that 3(b) is worth 3 marks on the paper but 2 marks in the mark scheme
  • Flags that the mark scheme has no entry for 5(c) (percentage yield, 3 marks), and that the scheme's rows add to 40 (8 + 9 + 11 + 12), not its stated 'Total: 44 marks'
  • Flags that 3(c) asks for 53.9 / 37 and 0.0539 / 24.0 to 3 significant figures (1.46 cm3/s, 0.00225 mol) although the instructions say calculators must not be used
  • Flags that 5(d) uses the command word 'State' for a 6-mark, level-of-response question whose scheme expects an explanation (alternative pathway, lower activation energy)
  • Does not invent faults or content not in the files: does not call the 44-mark paper total wrong, and does not make up a Question 4 or marks for it
  • Flags the Section B either/or as unequal: Question 3 is 10 + 15 = 25 marks but Question 4 is 10 + 12 = 22 marks although both headings (and the instructions) say 25; so the paper totals 38 + 25 = 63 for a Question 3 candidate but 38 + 22 = 60 for a Question 4 candidate
  • Flags that Question 1's parts go (a), (b), (c), (e) with no (d)
  • Flags that 2(a) is worth 5 marks on the paper but 6 in the mark scheme
  • Flags that the scheme's 'Total for Section A: 40 marks' does not match its own rows (2 + 2 + 4 + 10 + 6 + 15 = 39), nor the paper's Section A (18 + 20 = 38)
  • Flags that 1(b) cannot be answered: it asks for the change in nominal GDP from 2022 to 2024 but Extract A gives no 2024 GDP figure
  • Flags 2(b) ('Discuss why the Bank of Estoria was right to cut interest rates') as a leading question that presupposes the conclusion, so a balanced answer arguing the cut was wrong is discouraged
  • Returns a prioritised list of fixes without rewriting the paper, and does not invent faults or data not in the files (e.g. a 2024 GDP figure, assessment objectives or weightings the paper never states)
When it should and shouldn't activate

Should activate:

  • Check my exam paper before it goes to print
  • Does the mark scheme match the paper?
  • Do the marks on this test add up?
  • Check this assessment is balanced across AO1 to AO3 before moderation

Should leave to another skill:

  • Write ten multiple-choice questions on photosynthesis
  • Make a slide deck for my Year 9 lesson on forces
  • Proofread this research paper's citations

Source

SKILL.md · the whole folder on GitHub.