From virtual-team
Protocol for validating developer understanding of AI-generated technical decisions. Loaded by /plan, /pr, and the standalone /virtual-team:check command.
How this skill is triggered — by the user, by Claude, or both
Slash command
/virtual-team:knowledge-checkThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Protocol for validating that developers understand the technical decisions the AI made on their behalf. The AI acts as a tutor — it quizzes, evaluates, explains, and logs results.
Protocol for validating that developers understand the technical decisions the AI made on their behalf. The AI acts as a tutor — it quizzes, evaluates, explains, and logs results.
/virtual-team:plan approval — quiz on architectural decisions and technical approach/virtual-team:pr submission — quiz on implementation patterns and code decisions/virtual-team:check — developer-initiated quiz on any current workThe knowledge check triggers automatically based on the developer's home settings.
File: ~/.claude/settings.json
Setting:
{
"knowledgeCheck": "on"
}
Values:
"on" — run knowledge checks at plan and PR checkpoints (soft block: warn on gaps, always proceed)"strict" — run knowledge checks as hard blocks (must pass to proceed)"off" or absent — skip knowledge checks entirelyHow commands use this setting:
~/.claude/settings.json at the start of the check stepknowledgeCheck is "on" or "strict", run the checkknowledgeCheck is "off", absent, or the file doesn't exist, skip silently/virtual-team:check command always runs regardless of settings (developer chose to invoke it)--auto mode on /virtual-team:plan and /virtual-team:pr always skips the check (nobody is there to answer)Read the approved plan and generate questions targeting:
Source material: The plan document, the feature spec, stack.md, any referenced decision records.
Read the branch diff and the implementation plan, then generate questions targeting:
Source material: git diff <base>...HEAD, the implementation plan, the feature spec, the test files.
Determine what the developer is currently working on:
list(status=doing) and list(status=implemented) to find items in progressGenerate 3-5 questions per checkpoint.
For factual/recall questions where there's a clear correct answer.
Structure:
**Q1:** [Question about a specific decision from the plan/code]
A) [Correct answer]
B) [Plausible but incorrect alternative]
C) [Plausible but incorrect alternative]
D) [Plausible but incorrect alternative]
Guidelines:
Examples of good multiple choice questions:
For critical decisions where the developer needs to articulate reasoning.
Structure:
**Q4 (open):** [Question requiring explanation]
*Key concepts your answer should touch on:*
(hidden until after the developer answers)
Guidelines:
Examples of good open-ended questions:
Evaluate against the prepared key concepts:
After evaluating all answers, provide a tutoring response for every question:
## Results
**Score:** [X]/[Y] ([percentage]%)
**Result:** ✅ Passed | ⚠️ Gaps detected
### Q1: [Question]
**Your answer:** [what they said]
**Correct:** [A/B/C/D]
**Explanation:** [2-3 sentences explaining WHY this is the right answer,
referencing the specific plan section, code pattern, or decision that
informed it. This is the tutoring — make it educational, not just
"you got it right/wrong."]
### Q2: [Question]
...
### Q4 (open): [Question]
**Your answer:** [what they said]
**Key concepts:** [list the 3-5 concepts]
**Covered:** [which ones their answer demonstrated]
**Missing:** [which ones they missed]
**Explanation:** [Educational explanation of the full reasoning]
✅ Knowledge check passed. Proceeding.
"on")⚠️ Knowledge gaps detected ([X]% score, 60% required).
Review the explanations above — they cover the reasoning behind
the decisions you'll be working with.
Proceeding with the workflow.
Log the gaps and continue.
"strict")⛔ Knowledge check not passed ([X]% score, 60% required).
Review the explanations above, then re-run the check:
- `/virtual-team:check` to try again
- Or ask questions about any concepts that are unclear
The workflow is paused until the check passes.
Do NOT proceed. The developer must run /virtual-team:check and pass.
Write results to docs/knowledge-checks/YYYY-MM-DD-<checkpoint>-<ticket>.md:
---
date: YYYY-MM-DD
developer: [git user.name or "unknown"]
ticket: [TICKET-ID]
checkpoint: plan | pr | standalone
score: [percentage]
result: pass | gaps-detected
feature: [FEAT-NNN]
plan: [path to plan if applicable]
---
# Knowledge Check: [checkpoint type] — [TICKET-ID]
## Context
- **Feature:** [feature name]
- **Plan:** [plan path]
- **Branch:** [branch name]
- **Mode:** [on | strict]
## Questions & Answers
### Q1: [Question]
- **Type:** multiple-choice
- **Answer:** [developer's answer]
- **Correct:** [correct answer]
- **Result:** ✅ | ❌
### Q2: [Question]
...
### Q4: [Question]
- **Type:** open-ended
- **Answer:** [developer's answer]
- **Key concepts covered:** [list]
- **Key concepts missed:** [list]
- **Result:** ✅ | ⚠️ partial | ❌
## Summary
- **Total score:** [X]/[Y] ([percentage]%)
- **Result:** pass | gaps-detected
- **Gaps:** [list of topics where understanding was weak, if any]
Log file rules:
docs/knowledge-checks/ if it doesn't existnpx claudepluginhub ovargas/virtual-team --plugin virtual-teamPrompts developers to explain AI-generated code or plans via rubber duck questioning to verify comprehension and prevent rubber-stamping.
Stress-tests designs and plans by interviewing the user through decision branches until reaching shared understanding. Invoke via /grill-me or when mentioning 'grill me'.
Interviews the user about plans and designs with full codebase context, grounding questions in real architecture and patterns. Use to stress-test ideas against what actually exists.