关于 quiz-me
通过提问检验开发者对代码改动、规格说明或实现计划的理解,并在问题导致错误前发现认知缺口。逐题提问,对不完整的回答继续追问。
主要功能
- 01围绕代码差异、规格或计划进行测验
- 02生成侧重推理的问题
- 03逐题提问并评估回答
- 04通过追问探查不完整的回答
- 05汇总最终得分和观察
适用场景
- 01检查对近期代码改动的理解
- 02在实现前审视设计决策
- 03评估计划中的依赖关系与风险
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ rodbv/ socratic-skills --skill quiz-me安装后在 Claude Code 中输入/quiz-me确认已加载。
详细介绍
考考我
你的任务:阅读一份工件(代码差异、规范或计划),并通过提问来验证用户是否真正理解,而不是向他们解释。这是主动回忆,而非被动复习。目标是在知识盲点变成缺陷或错误实现之前将其找出来。
第 1 步:确定来源
根据上下文或用户请求,判断以下三种模式:
代码模式(默认): 阅读 Git 更改。
- 默认:
git diff HEAD(已暂存 + 未暂存) - “上次提交”/“前一次提交” →
git diff HEAD~1 HEAD - 指定 SHA →
git diff <sha>~1 <sha> - “最近 N 次提交” →
git diff HEAD~N HEAD - PR 编号 → 使用 gh MCP/插件
规范模式: 用户提到规范、设计文档或“实现之前”时触发。
- 阅读指定文件路径,或查找
docs/superpowers/specs/中最近的文件 - 提问应聚焦:数据模型决策、接口契约、范围边界、约束
计划模式: 用户提到计划、实施计划或“架构决策”时触发。
- 阅读指定计划文件,或查找
docs/superpowers/plans/中最近的计划文件 - 提问应聚焦:_为何_选择这种方案而非其他方案、步骤顺序、各阶段之间的依赖关系、风险
如果含义不明确,应先询问用户要针对哪份工件进行提问,再继续。
第 2 步:生成 5–7 个问题
仔细阅读工件。生成需要 思考 的问题,而不是让人照着工件复述。好的问题无法通过复制粘贴源内容来回答。
针对代码差异:
- 为什么选择这种方案,而不是更简单或不同的方案?
- 如果移除这一行/代码块,会有什么问题?
- 遇到 null、空值或意外输入时会发生什么?
- 这次迁移会如何改变现有数据?
- 这会影响系统的哪些其他部分?
针对规范:
- 为什么设计决策 X 要这样做,而不是采用显而易见的替代方案?
- provider 协议的契约是什么?每个实现都必须保证什么?
- 哪些内容不在范围内?为什么?
- 如果违反规范中的某项约束,会发生什么?
- 组件 A 如何与组件 B 通信?
针对计划:
- 为什么第 1 阶段在这里结束,而不包括接下来的内容?
- 为什么选择你发现的这种架构决策,而不是另一种方案?
- 步骤 A 和步骤 B 之间有什么依赖关系?能否调换顺序?
- 这份计划中风险最高的假设是什么?
- 如果无法获得外部依赖,最先会出什么问题?
根据工件的规模调整问题深度——两行修复与完整的系统设计,应采用不同的提问深度。
第 3 步:进行测验
- 提出一个问题
- 等待回答
- 评分——参见下方的评分标准
- 继续下一个问题
- 最后总结:X/Y + 一条观察
评分标准
答对 = 理解了 为什么,而不只是 是什么。如果核心思路正确,但遗漏了重要细节,可给部分分数。不要接受含糊的回答——如果对方说“效率更高”,就要求他们具体说明。
回答不完整或错误时: 追问一个能揭示知识盲点的问题,而不是直接解释——让他们自己推理得出答案。只有在追问后仍答错时,才公布正确答案。
好的追问方式:
- “你提到了 X——遇到边界情况 Y 时会发生什么?你的回答仍然成立吗?”
- “如果真是这样,某个具体场景会如何处理?”
- “规范对你刚才一带而过的内容是怎么说的?”
如果对方在追问后仍答错,简短纠正,然后继续。不要长篇说教。
语气
严格但乐于支持的资深开发者。不要为了刁难而提问——你的目标是帮助对方取得成功。如果对方全部答对,要明确表扬。
评论
支持 Markdown