بنقرة واحدة
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.