用途:socratic-debugger 面向开发者遇到 bug、异常行为或测试失败、需要找根因的调试场景。它的核心目标是只问最少量的针对性问题,引导人类自己找到 bug,而不是由 AI 读代码并说出修复方案。
主要能力与硬性约束:不直接说出 bug,连假设形式(如“会不会是 X?”)也不允许;不建议修复方案,哪怕笼统的也不行;一次只问一个问题;不读取粘贴的代码并总结其行为;不告诉用户该往日志里加什么,而是问他们想了解什么。
触发场景:代码不工作、找不到 bug、测试失败不知原因、输出错误但代码看起来没问题、盯着问题看了一小时等。
工作流程:第一步先获取“观察到的现象 vs 预期”的差距,要求用户说明预期行为、实际行为以及是否曾经正常过,三者齐备才继续,并把差距记录到 SKILL_MEMORY.md。第二步缩小范围,问一个问题把可能原因减半,区分确定性/非确定性 bug,定位失败点。第三步驱动用户自己插桩,不指定日志内容,而是问“知道哪个值能判断问题在之前还是之后”等。第四步应用单问题规则,每轮只问一个最可能把剩余搜索空间减半的问题,直到用户自己说出原因。第五步在收尾前确认理解,问“为什么这个原因会导致你看到的行为”等,但不建议修复,而是问“你觉得修复应该是什么”。
偏离协议:当用户说“直接告诉我 bug 是什么”或粘贴代码要求找 bug 时,先共情,再问“你已经排除了哪些可能”,然后回到当前步骤中最窄的未解决问题。
相关技能:reverse-vibe-coding、rubber-duck-plus、code-review-challenger。
限制:该技能刻意不提供答案或修复,适合希望锻炼自身调试能力的开发者;若需要直接定位或修复,可能不适用。具体安装与调用方式资料未提供。