소스 정보
- 저장소
- ZhangXin8069/configure
- 최근 소스 활동
- 2026년 8월 27일 11:43
- 감지된 SKILL.md 언어
- 중국어
- 스타
- 1
- 포크
- 0
설치 방법
기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.
소스 파일 검토
설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.
메뉴
기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.
설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
직접 명령은 검토 Prompt를 거치지 않습니다. 실행하기 전에 소스를 확인하세요.
npx skills add https://github.com/ZhangXin8069/configure --skill debug명령은 한 줄로 유지됩니다. 복사하기 전에 가로로 스크롤해 전체 내용을 확인하세요.
로컬 사본을 원하시나요? SkillsMP에서 현재 제공할 수 있는 파일을 다운로드하세요.
SKILL.md 표시 중
| name | debug |
| description | 当用户报告 bug、报错、崩溃、异常输出、行为不符合预期,或测试/构建失败,询问为什么失败、 哪一行出错,或要求调试、debug、定位、排查、调查、修复问题时使用。 |
| metadata | {"openclaw":{"emoji":"🐞"}} |
遵循当前目录 AGENTS.md「技能执行公共契约」;仅按需读取技能正文与 reference。
bash -n)。NO FIXES WITHOUT ROOT CAUSE INVESTIGATION FIRST
调试过程中一旦出现以下想法或话语,立即停下,回到「Step 3 缩小范围」:
| 红旗 | 含义 |
|---|---|
| "先快速修一下,以后再调查" | 快速修复=症状修复,第一次修复就决定后续方向 |
| "试试改 X 看行不行" | 猜测,不是假设;假设必须说明"因为 Y 所以 X" |
| "同时改多个地方,一起跑测试" | 无法隔离哪个改动生效,且会引入新 bug |
| "跳过测试,手动验证就行" | 未测的修复不成立;先写失败用例再修 |
| "大概是 X 的问题,改掉它" | 看到症状≠理解根因 |
| "不太懂但这样可能行" | 承认"我不懂 X",去查证,不装懂 |
| "再试一次就好"(已失败 2+ 次) | 3 次失败=架构问题,不是运气问题 |
| 每次修复都在不同位置暴露新问题 | 架构耦合的证据,停止修复,质疑设计 |
收集并确认以下信息,缺项时先向用户提问(所有问题在第一次交互一次性全部提出,用户一次回答,不逐次追问),不臆断:
| 信息项 | 说明 |
|---|---|
| 期望行为 | 用户期望发生什么 |
| 实际行为 | 实际发生了什么(含完整报错文本,不截断) |
| 触发条件 | 什么命令/输入/环境触发;是否稳定复现 |
| 变更范围 | 问题出现前后改了什么(git status / git diff / 最近 tag 区间) |
| 环境 | shell 类型、OS、相关环境变量 |
$?)。git status
git diff HEAD --stat
git log --oneline -10
bash -x 逐行跟踪;应用代码用结构化输出);git stash 或 checkout 到上一 tag 对比行为。git bisect start
git bisect bad HEAD # 当前坏
git bisect good <最近正常tag> # 上次好
git bisect run <复现命令> # 自动二分
bash -x <script> # 逐行跟踪执行
bash -n <script> # 语法检查(本库规范)
# set -euxo pipefail 脚本失败时,先定位是哪个命令退出非零
env -i bash 运行)。for i in $(seq 1 30); do [ -f done.flag ] && break; sleep 2; done
[ -f done.flag ] || { echo "TIMEOUT: done.flag 30s 内未出现"; ps -ef | grep <task>; }
bash -n <改动脚本>;有测试框架则运行相关测试;
lint/typecheck 若存在必须运行;git diff 审查:改动仅含预期内容,无引入新问题。✓ 修复完成
根因: <一句话根因>
证据: <支持的报错/诊断输出/复现>
改动: <文件:行号> <改动说明>
验证: <原复现路径回归通过; bash -n 通过; 相关测试 N 个通过>
遗留: <未处理项/风险,无则省略>
| 场景 | 处理 |
|---|---|
| 无法复现 | 收集更多证据(报错全文、诊断输出、最小示例),必要时向用户提问(一次问全) |
| 报错信息不明确 | 提升诊断级别(bash -x、verbose、--debug),加打印定位 |
| 修复后错误仍在 | 回到 Step 3 检查假设是否成立,不叠加盲改 |
| 首次修复失败 | 不放弃、不盲改:基于新证据重新定位、优化方案后再次执行(循环尝试直至成功),并在终端摘要补充调试过程 |
| 连续 3 次修复失败 | 停止逐症状修复:说明架构层问题信号(每修一处暴露新耦合),与用户讨论是否重构/换方案 |
| 多次迭代仍失败 | 检查证据是否不足或假设方向错误;向用户报告进展与下一步计划,不无限循环 |
| 多个根因并存 | 逐项验证,先修证据最强的;一次只改一处 |
| 怀疑环境问题 | 对比干净环境(env -i bash)运行;检查 PATH/rc 干扰 |
| 用户发出"方向不对"信号("这不是在发生吗/停下瞎猜/我们卡住了") | 停下回到 Step 3:假设未验证、证据未收集或方向错误,从新证据重新分析 |
| 编码/权限类错误 | 检查文件编码(UTF-8)、行尾(CRLF)、权限位 |
| 修复触及系统配置 | 先说明影响与回滚方式,经用户同意后执行 |
| 仓库无测试框架 | 纯 shell 至少 bash -n + 原复现路径手动回归 |