Debug Mode 是一个用于 Claude Code 的调试技能,其行为与 Cursor 的 Debug Mode 保持一致。它不直接猜测并修改业务逻辑,而是按阶段顺序执行,并在要求用户复现后停止等待。用户需在 Claude Code 中显式输入 /debug-mode(可选附带 bug 描述)进入,不会在未请求时自动进入。
用途 该模式适用于难以定位的 bug、前后端行为不一致、竞态/异步/状态类问题。当用户提到 debug 相关需求时可使用。
主要能力与工作流程 整体架构包含本机运行的 debug-server.js(默认端口 3847)和日志文件 .claude/debug.log。项目代码中的后端可通过 fetch 或 appendFile 写入,浏览器端通过 fetch POST 发送,Claude Code 负责读取或清空日志。
Phase 0:启动日志收集 API(每次 debug 会话一次)。从本 skill 目录定位脚本,通常位于 ~/.claude/skills/debug-mode/scripts/ 或项目内 .claude/skills/debug-mode/scripts/。执行 bash "${SKILL_SCRIPTS}/start-server.sh" "${PROJECT_ROOT}" 3847,并用 curl -sf http://127.0.0.1:3847/health 验证。默认端口 3847,可用 DEBUG_SERVER_PORT 覆盖。日志文件为 {PROJECT_ROOT}/.claude/debug.log。远程或只读文件系统可改用 /tmp/.claude/debug.log。结束调试后用 stop-server.sh 停止服务。
Phase 1:理解 Bug。若用户未说明,需询问期望行为与实际行为、复现步骤、错误信息、环境(dev/prod、浏览器、分支),并阅读相关源码理清调用链与数据流。
Phase 2:生成假设。输出可验证的假设列表,至少 2 条,包含非显而易见的原因。
Phase 3:插桩。日志目标为主文件 {PROJECT_ROOT}/.claude/debug.log(NDJSON),浏览器或可发 HTTP 的运行时通过 POST http://127.0.0.1:3847/debug 发送,服务端也可直接 append 同一日志文件。PROJECT_ROOT 在插桩里必须是写死的绝对路径字符串,禁止使用 import.meta.dir、__dirname、process.cwd()、Deno.cwd()、path.resolve() 等运行时解析;远程 CI 或本地不可写时使用 /tmp/.claude/debug.log。所有插桩必须包在 // #region DEBUG 与 // #endregion DEBUG 之间。禁止用 console.log、print、写 stderr/stdout 作为调试输出。每条日志带假设编号如 [DEBUG H1]、[DEBUG H2],记录变量值、分支、时序、关键决策点,保持最小必要集。每次让用户复现前用 clear-log.sh 清空日志。插桩完成后告知用户如何复现,然后停止并等待。
Phase 4:分析日志并诊断。用户确认已复现后,先看日志体量(wc -l 或 ls -lh),过大则用 tail 或 grep '[DEBUG H'。将日志行映射到假设,输出带证据的诊断,包括根因和证据(证实或排除)。若证据不足,提出新假设、追加插桩、清空日志、再请用户复现。
Phase 5:修复。实施修复,保留 #region DEBUG 插桩,再次 clear-log.sh,请用户验证修复是否生效,然后停止等待。
Phase 6:验证与清理。若已修复,用 Grep 查找 #region DEBUG 删除所有 region 及其中代码,删除 .claude/debug.log(及可选 .claude/debug-server.out),执行 stop-server.sh,并简短总结根因与修复。若未修复,读取新日志,询问用户观察到的现象,回到 Phase 2 迭代。
硬性规则 不跳阶段,即使看起来知道答案也要插桩加日志验证;不提前删插桩,用户确认修复前保留 #region DEBUG;不用 stdout 调试,只写 .claude/debug.log 或 POST /debug;每次复现前清空日志;必须用 region 包裹;复现后等待用户,不要连续自动推进。
API 速查 GET /health 用于服务与日志路径探活;POST /debug 写入一条 NDJSON,body 包含 hypothesis、message、data、location;POST /clear 清空日志文件。
安装到 Claude Code 将本目录复制到个人或项目 skills 路径之一:个人(全局)执行 cp -r skills/debug-mode ~/.claude/skills/debug-mode;或项目内执行 mkdir -p .claude/skills && cp -r /path/to/corner-skills/skills/debug-mode .claude/skills/。重启 Claude Code 后使用 /debug-mode。
限制 该技能仅在 Claude Code 中通过显式命令进入;插桩需遵循写死绝对路径、region 包裹、禁止 stdout 等约束;远程或只读文件系统需改用 /tmp 路径。其他平台支持情况、收费与价格信息暂未提供。