用途:systematic-debugging 是一套以根因为先的调试工作流,用于处理真实存在的故障、令人困惑的错误、不稳定的复现,或反复修复失败的情况。核心目标是先收集证据、缩小真实原因,再尝试修复。
主要能力与默认原则:修改代码前先复现问题;先阅读确切的错误、输出或观察到的行为;一次只改变一个变量;尽可能把出问题的路径与附近可正常工作的路径对比;优先使用能确认或排除单一假设的最小探针;在多次修复失败后停下来,重新检查心智模型。
调查循环:清楚陈述失败(观察到的行为、预期行为、发生位置);捕获最廉价且可靠的复现方式(失败命令、失败测试、确切日志行、触发问题的具体输入);完整阅读相关文件,不要只凭片段打补丁,必要时包含附近的配置或包装文件;检查近期变更面,如 git diff、近期提交、配置变更、依赖或环境变化;与可工作的模式对比,如同级文件、旧版本、另一条命令路径或仍正常的相似代码路径;形成一个假设,说明若假设成立什么应当为真,并运行最窄的探针来证明或推翻它;只有在原因可信后,才交给执行环节,使用本地 tdd-tidy-first 做最小的已验证代码或配置改动。
仓库适配:优先用 rg 做文本与文件发现;记录复现命令和观察到的确切输出;当调试线索会跨多步或多轮时,使用 mkmd 研究产物;优先使用 POSIX 兼容且由仓库管理的工具,而非临时全局配置;不要用推测性的清理或防御性代码掩盖不确定性。
停止条件:出现以下任一情况时停下并重新评估——三次修复尝试失败、复现方式意外改变、观察到的行为与当前假设矛盾、失败依赖当前通道之外的权限、钩子或环境边界。此时总结:已证明什么、仍未知什么、哪个假设失败、下一步测试什么。
交接实现:当可能原因清晰后,切换到 tdd-tidy-first,保持下一步狭窄——在成本低时添加或收紧复现器;做应能修复已证明原因的最小改动;运行最快的相关验证器;只有窄切片通过后才扩大验证范围。
限制:资料未提供该技能的安装方式、平台支持、收费或价格信息,暂未提供。