Skip to content

OleksiiDotsenko/test-builder

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Test Builder

tests license: MIT

A Claude Code plugin that helps educators build high-quality assessments — classroom quizzes, thematic and summative tests, diagnostic instruments, and exam-preparation banks — for any subject and grade. It operationalizes an evidence-based master document (The Ultimate Test Construction Guide) as a repeatable, tool-assisted workflow: mode selection, blueprint and "topics × Bloom × outcome strands" matrix design, item drafting by format rules, per-item "passports," a review checklist, and post-administration psychometrics.

A human expert stays firmly in the loop: every AI-generated item is flagged in its passport and must pass human review against the checklist before use — the plugin never presents a generated test as ready-to-administer.

What it does

  • Asks for the assessment mode first (formative / diagnostic / summative) — the mode dictates difficulty targets, psychometric rigor, feedback, and ethics.
  • Builds the specification and matrix before any item is written, and flags coverage gaps (construct underrepresentation).
  • Drafts original items in the correct format for the target cognitive level and difficulty, with a documented rationale for every distractor.
  • Screens items against the seven forbidden cue-giveaways, ethics and accessibility rules, and per-format constraints (no "all/none of the above," announced multiple-response scoring schemes, mandatory rubrics…).
  • Computes item and test statistics from real response data: P-value, D-index, Rit/Rir, distractor uptake, reliability (KR-20 / Cronbach's alpha), SEM, and distribution shape — with verdicts from the guide's interval tables.

Requirements

  • Claude Code (a recent version with plugin support).
  • Python 3.9+ available on PATH as python3 for the bundled analysis tools (preinstalled on macOS and most Linux distributions; on Windows, install Python and ensure python3 resolves, e.g. via an alias for py -3).

Install

From an interactive Claude Code session:

/plugin marketplace add OleksiiDotsenko/test-builder
/plugin install test-builder@test-builder-marketplace

For local development, point the marketplace command at a local clone of this repository instead of the GitHub path. To uninstall:

/plugin uninstall test-builder@test-builder-marketplace

Use

Start a new session after installing. Natural requests trigger the skill ("draft a summative test on fractions for grade 7", "review these quiz items", "here are my students' answers — which items worked?"); you can also invoke it explicitly with /test-builder:test-builder, or use the shortcut skills:

Shortcut What it does
/test-builder:new-test <topic, grade, mode…> Full workflow: mode → blueprint → matrix → items with passports → review
/test-builder:review-items <items or file> Anti-pattern screen + full checklist on existing items
/test-builder:analyze-results <responses.csv> P-value, D-index, Rit, distractor analysis, verdicts

Example session

You: I need a 20-item summative test on percentages for grade 6. Claude: asks about outcome strands and time, drafts the specification and matrix, writes items with per-distractor rationales, validates each passport, runs the checklist, and delivers everything as a draft pending your expert review.

After administration, export responses to CSV and run /analyze-results — you get a report with per-item verdicts (bank / revise / retire), dead distractors, and any keying anomalies.

Scripts (Python 3, standard library only)

All scripts live in plugins/test-builder/skills/test-builder/scripts/ and run offline. The skill invokes them for you at the right workflow steps — run them by hand only if you want to use them outside Claude Code:

# Scaffold a blank matrix with per-topic totals and a difficulty plan
python3 scripts/new_matrix.py --topics "Fractions,Decimals" --items 20 --weights "50,50"

# Validate item passports (YAML subset or JSON); non-zero exit on violations
python3 scripts/validate_passport.py item-001.yaml item-002.yaml

# Item & test statistics from a response CSV (KEY row) or scored matrix
python3 scripts/psychometrics.py responses.csv --out report.md

Response CSV format:

taker_id,Q1,Q2,Q3
KEY,B,A,C
s01,B,C,C
s02,A,A,

See examples/ for a complete validated item passport, a sample response CSV, and the statistics report the analyzer generates from it.

Repository structure

plugins/test-builder/skills/
├── test-builder/
│   ├── SKILL.md         # the working algorithm (guide §18)
│   ├── references/      # the methodology, split for on-demand loading
│   ├── assets/          # passport / specification / matrix templates
│   └── scripts/         # the three stdlib-only tools
├── new-test/            # shortcut skills (slash-invoked)
├── review-items/
└── analyze-results/
examples/                # sample passport, response CSV, generated report
tests/                   # python3 -m unittest discover tests

Guardrails

  1. Human review is mandatory. Generated items are flagged source: AI-generated, reviewed by <name> and fail passport validation until a named human reviewer signs off.
  2. Facts are verified, not trusted for fluency; unverifiable claims are marked for expert verification.
  3. Ethics and child safety by default: no discriminatory, sensitive, dangerous, or elitist contexts; crisis/war caution in stems.
  4. Scoring schemes are fixed and announced before administration — never left ambiguous.
  5. Statistics are indicative. Classical Test Theory with classroom-sized samples gives rough signals, not verdicts; the reports say so when n is small.

Evidence base

The bundled methodology derives from the author's own master document, which synthesizes: the Standards for Educational and Psychological Testing (AERA/APA/NCME); the Haladyna–Downing–Rodriguez item-writing taxonomy; Classical Test Theory; OECD PISA frameworks; national high-stakes testing practice; formative assessment research (Black & Wiliam, D. Wiliam); and the cognitive science of learning. No third-party copyrighted assessment content is included; all example items are original.

Development

python3 -m unittest discover -s tests

No runtime dependencies beyond the Python 3 standard library.

License

MIT © 2026 Oleksii Dotsenko — see LICENSE.

About

Claude Code plugin for educators: evidence-based test construction — blueprints, Bloom matrices, item writing by format rules, review checklists, and classroom psychometrics (P-value, D-index, Rit, distractor analysis).

Topics

Resources

License

Stars

3 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages