| name | vibe-quiz |
| description | Incrementally teaches a completed session until the human demonstrates mastery. Use when the user asks for a vibe quiz, session understanding check, mastery loop, Socratic teaching pass, or says the session should not end until they understand. |
Vibe Quiz
Teach a completed or in-progress session through staged mastery checks. Optimize for deep human understanding, not a one-shot recap.
When to Use
Use this skill when the user asks to:
- deeply understand a session, incident, implementation, plan, or debugging flow
- be quizzed until they demonstrate mastery
- choose a baseline understanding before receiving explanation
- learn through ELI5, ELI14, intern-level, or Socratic explanations
- keep a running checklist of what they should understand
Core Rules
- Start by asking the human to select the closest description of their current understanding from choices.
- Teach incrementally; do not dump the full explanation at once.
- Before moving to the next stage, verify mastery of the current one.
- Cover both high-level motivation and low-level mechanics.
- Drill into why, what, and how. Understanding the problem comes first.
- Keep total quiz questions to 10 or fewer for the whole session.
- Avoid repetitive questioning; if the user is stuck, explain the gap and ask a narrower follow-up.
- Ask questions with explicit answer choices only; do not ask open questions that require typed free-form answers.
- Do not reveal multiple-choice answers before the user submits.
- Update the checklist immediately after each quiz or choice response; do not claim a stage is done while the doc says it is still pending.
- Before the final response, verify the checklist's current status, stage status, and final summary agree.
Running Checklist Doc
Create or update one markdown checklist under:
docs/vibe-quiz/<YYYY-MM-DD>-<short-topic>-learning-checklist.md
The doc must track:
- human name, read from current context, Fabriqa context/tools when available, or
git config user.name
- stage status
- the human's baseline choice selection
- quiz results and missed concepts
- corrections provided
- final mastery evidence
Use checkboxes so future readers can see exactly what was mastered.
Required Stages
Adapt names to the topic, but preserve this learning arc:
- Baseline model selection
- Problem: what happened and why it matters
- Cause: why the problem existed
- Branches/mechanisms: distinguish similar-looking paths
- Solution: what changed
- Design decisions: why this solution over alternatives
- Edge cases: what still works, fails, or remains deferred
- Broader context: product, architecture, workflow, and downstream impact
- Final mastery: choice-based end-to-end verification
Question Strategy
Prefer 1-3 questions at a time. Use fabriqa_AskUserQuestion, Fabriqa's own AskUserQuestion tool, or another available choice UI for all checks. If no choice tool exists, write plain-text questions with labeled choices and ask the human to reply with the option label.
For choice questions:
- vary the correct option position
- include plausible wrong answers based on real confusions
- ask about causes, branches, edge cases, and trade-offs
- wait for the submitted answer before explaining correctness
- avoid relying on an "Other" free-text answer; if the user selects or types "Other," convert it into a follow-up choice question
Teaching Loop
For each stage:
- Explain only the current stage.
- Ask a small choice-based quiz.
- If correct, mark the checklist stage mastered.
- If incomplete, record the gap, teach that gap, and retry with a narrower check.
- Stop when the 10-question cap is reached; switch to a final choice-based synthesis check and targeted feedback.
- After every update, make sure no stale "in progress" or "awaiting" text contradicts the actual quiz state.
Completion
Do not declare mastery until the human has correctly answered choice-based checks covering:
- the problem and visible symptoms
- why the problem existed
- similar branches/mechanisms and how to distinguish them
- the solution and why it was chosen
- edge cases and trade-offs
- broader impact and follow-ups
If the final evidence is a quiz pass, say that explicitly in the checklist. If another proof is still required, keep the stage pending and label the remaining requirement precisely. If the user accepts the quiz as complete, update the final summary to match.
If the user created an explicit goal for mastery, leave it active until this evidence is captured.