一键导入
quiz-me
Verify understanding after implementation with targeted quizzes
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Verify understanding after implementation with targeted quizzes
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Clarify requirements through targeted questions — uncovers unknown unknowns in specs
Remove AI-generated code patterns that don't match codebase style
Review code for quality, security, and best practices — read-only analysis
Create clear documentation for code and APIs
Audit code for security vulnerabilities — read-only analysis
Generate comprehensive tests for code changes
| name | quiz-me |
| description | Verify understanding after implementation with targeted quizzes |
| license | MIT |
| compatibility | cline, claude, opencode, amp, codex, gemini, cursor, pi |
| hint | Use after completing complex work to verify understanding |
| user-invocable | true |
Use this skill after implementation when:
The agent generates a quiz about the implementation to verify your understanding. This helps you:
Determine what to test:
Create questions across difficulty levels:
Level 1 - Recall (What):
Level 2 - Understanding (Why):
Level 3 - Application (How):
Level 4 - Analysis (Implications):
Use the ask_user_question tool for each quiz question. Ask one question at a time — present it, wait for the answer, provide feedback, then move to the next. This makes the quiz feel like a conversation, not a test.
Flow for each question:
ask_user_question with the question and optionsGuidelines for using ask_user_question:
header to a short label (max 16 chars) like "Architecture", "Trade-offs", "Edge Cases"question with context and any hint referencesoptions — concise label (1-5 words) with descriptive descriptionAfter each question response:
After all questions are answered:
// Ask one at a time
ask_user_question(questions: [{
header: "Architecture",
question: "Why did we use GitHub App Installation flow instead of OAuth for this integration? (Hint: check auth/github/installation.ts for the decision)",
options: [
{
label: "OAuth is deprecated",
description: "GitHub still supports OAuth, so this isn't the reason"
},
{
label: "Org-level access",
description: "Installation flow provides org-level access — OAuth Apps can't access org repos"
},
{
label: "Easier to implement",
description: "Installation flow is actually more complex to set up than basic OAuth"
}
]
}])
// After answer — provide feedback:
// "Correct! OAuth Apps can't access organization repositories, which is a GitHub limitation.
// Installation tokens authenticate as the app installation, giving org-level scope.
// See: auth/github/installation.ts:42-58"
ask_user_question(questions: [{
header: "Implementation",
question: "What are the token lifespans in our GitHub auth? Fill in:\n- User OAuth tokens last: ______\n- Installation tokens last: ______\n- We cache installation tokens for: ______\n(Hint: check auth/github/token-cache.ts)",
options: [
{
label: "6mo / 1hr / 55min",
description: "User OAuth=6 months, Installation tokens=1 hour, Cache TTL=55 minutes (5 min buffer)"
},
{
label: "1yr / 8hr / 7hr",
description: "Incorrect — installation tokens only last 1 hour, we need a 5-minute buffer before expiry"
},
{
label: "Permanent / 24hr / 23hr",
description: "Incorrect — GitHub installation tokens have a 1-hour expiry, not 24 hours"
}
]
}])
ask_user_question(questions: [{
header: "Trade-offs",
question: "What's the main trade-off of our token caching strategy? We cache installation tokens with a 55-minute TTL.",
options: [
{
label: "Speed vs staleness",
description: "Correct — caching avoids rate limits (5000/hr) but a token could be stale for up to 5 minutes before natural expiry"
},
{
label: "Memory vs latency",
description: "The token cache is small (Redis, key pattern github:install:{id}:token) — memory isn't the constraint here"
},
{
label: "Security vs simplicity",
description: "Tokens are encrypted in Redis — security wasn't the trade-off driver for the TTL decision"
}
]
}])
ask_user_question(questions: [{
header: "Edge Cases",
question: "What happens when a user uninstalls the GitHub App? How does our system respond?",
options: [
{
label: "Hard delete record",
description: "We soft delete instead to preserve audit trail and cascading session cleanup"
},
{
label: "Soft delete + audit",
description: "Correct — we soft delete the installation record and cascade to invalidate all user sessions, preserving the audit trail"
},
{
label: "Nothing, tokens work",
description: "Incorrect — when uninstalled, tokens immediately stop working. We must clean up sessions"
}
]
}])
ask_user_question(questions: [{
header: "Code Reading",
question: "In the token refresh logic, why do we compare the cached token's expiry against a 55-minute threshold instead of the full 60 minutes?",
options: [
{
label: "5-min safety buffer",
description: "Correct! The 5-minute buffer prevents edge-case race conditions where a token expires between the cache check and the API call"
},
{
label: "Rate limit overhead",
description: "Rate limits are 5000/hr — the buffer isn't about rate limits, it's about preventing stale token usage"
},
{
label: "Clock drift compensation",
description: "While clock drift is a real concern, the primary reason is preventing token expiry during the request window"
}
]
}])
For a typical 4-6 question quiz, the flow looks like:
1. Agent: "Let me quiz you on the GitHub OAuth implementation.
I'll ask one question at a time and give feedback after each."
2. ask_user_question → Q1 (Architecture question)
User answers
Agent feedback: "Correct! ... See auth/github/installation.ts:42"
3. ask_user_question → Q2 (Implementation question)
User answers
Agent feedback: "Almost — the cache TTL is 55 minutes, not 50..."
4. ask_user_question → Q3 (Edge case question)
User answers
Agent feedback: "Right!..."
5. ask_user_question → Q4 (Trade-off question)
User answers
Agent feedback: "Good analysis..."
6. Agent: "Here's your summary:
- Strong on architecture decisions
- Review token caching details (auth/github/token-cache.ts)
- PR description material from Q1 and Q4..."
ask_user_question with a single-question array. Never batch questions.A good quiz:
ask_user_question for focused, one-at-a-time questioning# Quiz Results: [Feature Name]
## Strong Areas
- [Area 1]: Solid understanding of X
- [Area 2]: Clear grasp of Y
## Areas to Review
- [Area 1]: Unclear on Z, review [file.ts:123]
- [Area 2]: Missing context on W, see [commit abc123]
## Recommended Actions
- [ ] Review [specific code section]
- [ ] Read [specific documentation]
- [ ] Discuss [specific decision] with team
## PR Description Material
Based on your answers, include in PR:
- [Key point 1 from quiz]
- [Key point 2 from quiz]
- [Trade-off explanation from Qx]
The quiz becomes your PR description outline.