auto-test-codelisted
Install: claude install-skill huangwb8/skills
# auto-test-code(批判性思维驱动的代码自审查技能)
## 与 bensz-collect-bugs 的协作约定
- 因本 skill 设计缺陷导致的 bug,先用 `bensz-collect-bugs` 规范记录到 `~/.bensz-skills/bugs/`,不要直接修改用户本地已安装的 skill 源码;若有 workaround,先记 bug,再继续完成任务。
- 只有用户明确要求“report bensz skills bugs”等公开上报时,才用本地 `gh` 上传新增 bug 到 `huangwb8/bensz-bugs`;不要 pull / clone 整个仓库。
## 你要产出的东西
本 skill 的交付不是"口头建议",而是一组可追溯的文件:
(目录位置以 `config.yaml:directories.tmp` + `config.yaml:directories.tests` 为准;默认 `tmp/run_{timestamp}/tests/`;不再使用 `reviews/`)
- `tmp/run_YYYYMMDDHHMMSS/tests/vYYYYMMDDHHMM/`:A 轮会话目录(计划/过程/结果都在这里)
- `REVIEW.md`:A 轮批判性审查(问题清单 + 改进计划)
- `TEST_PLAN.md`:测试计划(本轮验证哪些修复点)
- `TEST_RUN.md`:测试过程(命令、关键输出摘录、关键决策)
- `TEST_REPORT.md`:测试结果(结论 + 证据 + 遗留问题)
- `_artifacts/`:中间产物(命令输出、日志、截图、对比结果等)
- `tmp/run_YYYYMMDDHHMMSS/tests/b-vYYYYMMDDHHMM/`:B 轮会话目录(结构同上,`REVIEW.md` 为质量检查报告)
## 目录与命名规范
- 测试会话 ID:`vYYYYMMDDHHMM`(分钟级时间戳)
- 运行工作区:`tmp/run_YYYYMMDDHHMMSS/`(同一次技能执行的 A/B 轮必须复用同一个 `run_id`)
- A 轮会话目录:`tmp/run_YYYYMMDDHHMMSS/tests/vYYYYMMDDHHMM/`
- B 轮会话目录:`tmp/run_YYYYMMDDHHMMSS/tests/b-vYYYYMMDDHHMM/`
- 兼容:`verify_session.py` 可识别旧目录名 `tests/B轮-vYYYYMMDDHHMM/`;新建统一使用 `tmp/run_*/tests/b-vYYYYMMDDHHMM/`
- ⚠️ `reviews/` 已废弃:不再创建、不再写入;如目标项目中存在旧的 `reviews/`,应将其视为历史遗留并在审查时排除。
## 工作流程
### 隔离工作区硬规则
- 每次 skill 执行开始时,必须先在目标项目根目录创建当次专用工作区:`tmp/run_YYYYMMDDHHMMSS/`。
- 所有由 skill 生成的计划、报告、日志、辅助脚本与中间产物,**只能**写入当前 `tmp/run_*/` 工作区内。
- 运行可能产生缓存或临��文件的命令时,优先将工作目录、`TMPDIR`、`XDG_CACHE_HOME`、`PYTHONPYCACHEPREFIX` 等重定向到当前 `tmp/run_*/` 工作区。
- 除了用户明确要求的源码修复外,不得把 s