Skip to main content

ad-hoc-debugging-anti-pattern

当用户遇到凭猜测调试而不是系统性根因追踪导致的问题时调用此 skill。适用于 Bug 反复出现、修复后问题依旧、调试效率低的场景。不适用于:简单语法错误、编译错误、明显的逻辑错误。关键 trigger 信号:"guessing"、"ad-hoc debugging"、"root cause"、"systematic debugging"、"bug keeps coming back"、"fix didn't work"。

설치로 이동

소스 정보

저장소
Natsummerance/agents
최근 소스 활동
2026년 8월 27일 07:35
감지된 SKILL.md 언어
중국어
스타
3
포크
0

설치 방법

기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.

소스 파일 검토

설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.

파일 탐색기
3 개 파일

SKILL.md 표시 중

SKILL.md
소스 지침 · 읽기 전용 미리보기
name
ad-hoc-debugging-anti-pattern
description
当用户遇到凭猜测调试而不是系统性根因追踪导致的问题时调用此 skill。适用于 Bug 反复出现、修复后问题依旧、调试效率低的场景。不适用于:简单语法错误、编译错误、明显的逻辑错误。关键 trigger 信号:"guessing"、"ad-hoc debugging"、"root cause"、"systematic debugging"、"bug keeps coming back"、"fix didn't work"。
source_book
《Superpowers》 obra
source_project
obra/superpowers
source_chapter
What's Inside / Philosophy
tags
["anti-pattern","debugging","systematic","root-cause"]
related_skills
["evidence-over-claims"]
# Ad-hoc Debugging Anti-Pattern ## R (Reading) - 原文引用 > "systematic-debugging - 4-phase root cause process (includes root-cause-tracing, defense-in-depth, condition-based-waiting techniques)" > "Philosophy: Systematic over ad-hoc - Process over guessing" ## I (Interpretation) - 方法论骨架 Ad-hoc Debugging Anti-Pattern 是 Superpowers 明确警示的反模式之一,指凭猜测调试而不是系统性根因追踪的行为。其核心问题是: 1. **凭猜测调试**:没有系统性方法,凭直觉或经验猜测问题所在 2. **临时性修复**:只解决表面现象,不深入根因,导致问题反复出现 3. **缺乏防御性深度分析**:没有多层次的分析,容易被假象误导 Superpowers 通过 systematic-debugging skill 提供 4 阶段根因追踪流程来避免这个问题: - **Phase 1: Root Cause Tracing** - 追踪问题的根本原因,而非表面症状 - **Phase 2: Defense in Depth** - 多层次分析,确保不是假象 - **Phase 3: Condition-Based Waiting** - 基于条件的等待技术,避免竞态条件 - **Phase 4: Verification** - 验证修复是否真正解决问题 ## A1 (Past Application) - 书中作者用过的案例 在 Superpowers 的 skills 库中,systematic-debugging 是一个独立的 skill,专门用于系统性调试和根因追踪。作者 Jesse Vincent 将其列为核心哲学之一,强调"Systematic over ad-hoc - Process over guessing",这与传统开发中"试一下这个、试一下那个"的做法形成鲜明对比。 ## A2 (Future Trigger) - 何时调用 **调用时机**: - 用户遇到 Bug 反复出现,修复后问题依旧 - 用户调试效率低,凭猜测尝试不同方案 - 用户提到"guessing"、"ad-hoc debugging"、"root cause"、"systematic debugging"等关键词 - 用户需要了解为什么系统性调试比凭猜测更有效 **不调用时机**: - 简单语法错误:编译器已经明确指出问题,不需要系统性调试 - 编译错误:错误信息清晰,直接修复即可 - 明显的逻辑错误:一眼就能看出的问题,不需要复杂分析 **与相邻 skill 的区分**: - 与 `evidence-over-claims` 的关系:ad-hoc-debugging-anti-pattern 是反面警示;evidence-over-claims 是正面指导(验证后再声明成功) - 与 `skipping-tests-anti-pattern` 的区别:ad-hoc-debugging 关注调试方法不当;skipping-tests 关注测试缺失 **关键 trigger 信号**:用户提到"guessing"、"ad-hoc debugging"、"root cause"、"systematic debugging"、"bug keeps coming back"、"fix didn't work"等关键词。 ## E (Execution) - 可执行步骤 1. **识别问题**:确认是否存在凭猜测调试的行为 - 完成标准:已列举出至少一处"未经验证即改动"的具体行为证据,或确认不存在该反模式 2. **启动 4 阶段根因追踪**: - **Phase 1: Root Cause Tracing** - 从症状追溯到根本原因,绘制调用链和数据流 - **Phase 2: Defense in Depth** - 多层次分析,检查日志、监控、测试数据等多维度证据 - **Phase 3: Condition-Based Waiting** - 如果涉及并发或异步,使用基于条件的等待技术避免竞态条件 - **Phase 4: Verification** - 设计验证实验,确认根因假设是否正确 - 完成标准:四个 Phase 各有产出物(调用链图/多维证据清单/等待策略/验证实验结果),且验证实验能复现并消除问题 3. **制定修复方案**:基于根因分析制定修复方案,而非临时性修补 - 完成标准:方案中每条修改都能对应到已确认的根因,不存在无法溯源到根因的"顺手改" 4. **执行修复**:按方案执行修复,同时更新相关测试 - 完成标准:方案内修改全部落地,新增/更新的测试覆盖该根因场景 5. **验证修复**:运行验证实验,确认问题真正解决 - 完成标准:验证实验通过且原复现步骤不再触发问题,连续多次执行结果一致 6. **记录根因**:将根因分析和修复方案写入文档,防止类似问题再次出现 - 完成标准:文档包含症状、根因、修复方案、预防措施四要素,并已同步到团队可访问的位置 **判停条件**:根因已找到且修复验证通过,或用户明确要求停止。 ## B (Boundary) - 边界意识 **不适用的场景**: - 简单语法错误:编译器已经明确指出问题,不需要系统性调试 - 编译错误:错误信息清晰,直接修复即可 - 明显的逻辑错误:一眼就能看出的问题,不需要复杂分析 **作者的盲点**: - **4 阶段流程的学习成本**:对于不熟悉系统性调试的开发者,4 阶段流程可能需要时间适应 - **过度分析风险**:对于简单问题,使用完整的 4 阶段流程可能过于繁琐 - **时间成本**:系统性调试可能比凭猜测花费更多时间,对于紧急 hotfix 可能不适用
GitHub에서 보기