# Lesson Quiz

Test a learner on a single Claude Code tutorial lesson (01-10) with 10 questions...

- Repository: https://github.com/luongnv89/claude-howto (46363 stars)
- Category: Testing
- License: MIT
- Last updated: 2026-10-29
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add luongnv89/claude-howto --skill lesson-quiz -g -a claude-code -y`
Codex: `npx skills add luongnv89/claude-howto --skill lesson-quiz -g -a codex -y`
Cursor: `npx skills add luongnv89/claude-howto --skill lesson-quiz -g -a cursor -y`
Gemini CLI: `npx skills add luongnv89/claude-howto --skill lesson-quiz -g -a gemini-cli -y`

## Description

Test a learner on a single Claude Code tutorial lesson (01-10) with 10 questions, scoring answers and flagging weak spots. Use before, during, or after a lesson. Don't use for whole-tutorial assessment or explaining a topic instead of testing it.

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# Lesson Quiz

Interactive quiz that tests understanding of a specific Claude Code lesson with 10 questions, provides per-question feedback, and identifies areas to review.

## Prerequisites

This skill requires:

- The tutorial repo checked out, so the lesson directories `01-slash-commands/` … `10-cli/` and each `README.md` are readable.
- `references/question-bank.md` present in this skill (the source of all questions).

Before starting, confirm the target lesson's `README.md` exists. If it is missing, do not fabricate questions, warn the user and ask them to check the repository structure (see Error Handling).

**Guardrails:**

- **Never invent questions or answers.** Ask only questions drawn from `references/question-bank.md` for the selected lesson; if the bank lacks entries for a lesson, say so rather than making them up.
- **Score accurately.** Track which shuffled position holds the correct answer for every question and validate each response against it, never guess a score.
- **Confirm timing before scoring.** The pre/during/after choice changes how results are framed; do not skip it.

## Instructions

### Step 1: Determine the Lesson

If the user provided a lesson as an argument (e.g., `/lesson-quiz hooks` or `/lesson-quiz 03`), map it to the lesson directory:

**Lesson mapping:**
- `01`, `slash-commands`, `commands` → 01-slash-commands
- `02`, `memory` → 02-memory
- `03`, `skills` → 03-skills
- `04`, `subagents`, `agents` → 04-subagents
- `05`, `mcp` → 05-mcp
- `06`, `hooks` → 06-hooks
- `07`, `plugins` → 07-plugins
- `08`, `checkpoints`, `checkpoint` → 08-checkpoints
- `09`, `advanced`, `advanced-features` → 09-advanced-features
- `10`, `cli` → 10-cli

If no argument was provided, present a selection prompt using AskUserQuestion:

The rest: https://github.com/luongnv89/claude-howto/blob/HEAD/.claude/skills/lesson-quiz/SKILL.md
