Conversation Quiz Generator

VerifiedSafe

This skill creates multiple‑choice quizzes from the current conversation to test understanding of technical concepts, decisions, or code patterns discussed. It writes questions to a JSON file and launches an external quiz runner, then provides feedback based on the results.

Sby Skills Guide Bot
TestingIntermediate
406/2/2026
Claude Code
#quiz#conversation#multiple-choice#knowledge-check

Recommended for

Our review

Generates multiple-choice quiz questions based on the current conversation context to test understanding.

Strengths

  • Questions tailored to discussed content
  • Plausible distractors with detailed explanations
  • JSON export for external quiz runner

Limitations

  • Requires sufficiently rich conversation content
  • User must run an external script for interactive quiz
  • Only supports single-answer questions
When to use it

Use after a work session to verify key concepts are understood.

When not to use it

Avoid if the conversation lacks enough technical or factual substance to generate meaningful questions.

Security analysis

Safe
Quality score85/100

The skill only uses Bash to retrieve a timestamp with 'date +%s', writes a JSON question file to /tmp, and instructs the user to run a separate external Python script manually. It does not execute or modify its own code, access sensitive files, or transmit data. No risk of command injection or destructive actions.

No concerns found

Examples

Quick knowledge check
Create a 5-question multiple choice quiz about the Docker concepts we discussed in this conversation.
Review session wrap-up
Based on our conversation about Kubernetes networking, generate 3 quiz questions to test my understanding.

name: quiz description: Generates multiple choice quiz questions based on current conversation context. Use when testing understanding, reviewing what was discussed, or wanting a knowledge check on the session. allowed-tools: Bash(date *), Read, Write

Conversation Quiz

Generate multiple choice questions testing understanding of the current conversation.

Instructions

  1. Analyze the conversation context for quizzable content:

    • Technical concepts discussed
    • Decisions made
    • Code patterns or implementations
    • Key facts or configurations
  2. Generate 3-10 questions with 4 options each (default 5, or as many as the user/arguments request)

  3. Question Quality Guidelines

    • Questions should test understanding, not memorization of exact wording
    • Include plausible distractors (wrong answers that could seem right)
    • Vary difficulty: mix straightforward recall with deeper comprehension
    • Descriptions should explain WHY the option is correct/incorrect (shown only after answering)
    • If conversation lacks substance for 3 questions, generate what's reasonable and note the limitation
  4. Write questions to file and launch external quiz runner:

    • Generate a unix timestamp: date +%s via Bash
    • Write questions JSON to /tmp/quiz_questions_$TIMESTAMP.json using the format below
    • Tell the user to run in a separate terminal: python3 ~/.claude/skills/quiz/quiz.py /tmp/quiz_questions_$TIMESTAMP.json
    • The quiz runner writes results to /tmp/quiz_results_$TIMESTAMP.json (same timestamp, auto-derived from questions filename)
    • Wait for user to report back that they finished
    • Read results from /tmp/quiz_results_$TIMESTAMP.json
    • Provide feedback: celebrate correct answers, explain wrong ones with the description from the correct option

Questions JSON Format

[
  {
    "question": "What network mode allows containers to share the host's network namespace?",
    "options": [
      {"label": "bridge", "correct": false, "description": "Bridge creates an isolated network — containers get their own namespace"},
      {"label": "host", "correct": true, "description": "Host mode removes network isolation — container shares the host's network stack"},
      {"label": "overlay", "correct": false, "description": "Overlay enables multi-host networking, but still uses separate namespaces"},
      {"label": "macvlan", "correct": false, "description": "Macvlan assigns a MAC address to the container — separate namespace with direct network access"}
    ]
  }
]

Important

  • Each question MUST have exactly ONE option with "correct": true
  • The description field is NOT shown during the quiz — only used for post-quiz feedback
  • Options are shuffled automatically by the quiz runner — no need to randomize in the JSON
  • The quiz runner handles: display, input, timing, scoring, and writes results to file
Related skills