关于 troubleshooting-regression
供框架维护者排查卡顿、钩子异常和回归问题的故障诊断 Skill。它要求结合 trace、日志和测试复现问题、实施针对性修复并验证结果。
主要功能
- 01Trace 与调试日志分析
- 02将错误定位到钩子或模块
- 03可复现的回归排查流程
- 04针对性测试与修复验证
- 05结构化发现和后续操作
适用场景
- 01诊断 Agent 会话卡顿
- 02调查钩子意外阻止操作
- 03检查记忆或搜索约束执行不一致
- 04复现并验证框架回归问题
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ oimiragieo/ agent-studio --skill troubleshooting-regression安装后在 Claude Code 中输入/troubleshooting-regression确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
commands/troubleshooting-regression.mdhooks/post-execute.cjspre-execute.cjsreferences/.gitkeepresearch-requirements.mdrules/troubleshooting-regression.mdschemas/input.schema.jsonoutput.schema.jsonscripts/main.cjstemplates/implementation-template.md详细介绍
回归故障排查
当框架似乎过时、卡住或出现回归,并且你需要进行确定性诊断和验证修复时,使用此技能。
适用场景
- Claude 调试会话在启动 Agent 后停滞。
- Hook 意外阻止预期操作。
- 内存、搜索或节省 token 的强制机制表现不一致。
- 需要可重复的复现和验证运行来排查回归。
铁律
未满足以下条件时,不得宣称回归已修复:
- 可复现的触发提示词,
pnpm trace:query的跟踪证据,- 调试日志中的 Hook/工具证据,
- 针对修改范围的测试通过。
工作流
- 确定会话和日志来源。
- 首先运行跟踪查询(
pnpm trace:query --trace-id <traceId> --compact --since <ISO-8601> --limit 200)。 - 提取高信号错误(排除已知的 MCP 身份验证/启动噪声)。
- 将每个错误映射到负责的 Hook/模块。
- 修改最小代码路径,并添加或更新回归测试。
- 运行针对性检查(测试,以及对已更改文件运行 lint/format)。
- 重新运行调试提示词,并确认该错误类别不再复现。
- 在记忆中记录经验和问题。
证据模型
- 事实来源:
C:\\Users\\<user>\\.claude\\debug\\*.txt - 跟踪事实来源:同一事件时间段的
pnpm trace:query输出 - 筛选:忽略外部 MCP 传输/身份验证噪声;保留框架/运行时错误
- 错误类别:
- 路由/任务生命周期
- 内存/搜索/节省 token 的防护机制
- Hook 契约/架构违规
- 工作流阶段/幂等性故障
命令入口
主要封装命令:
node .claude/skills/troubleshooting-regression/scripts/main.cjs --prompt "search the codebase for any issues or bugs"
pnpm trace:query --trace-id <traceId> --compact --since <ISO-8601> --limit 200
可选的直接日志分析:
node .claude/skills/troubleshooting-regression/scripts/main.cjs --log-path "C:\\Users\\<user>\\.claude\\debug\\<session>.txt"
输出约定
ok:布尔值logPath:已分析的日志路径findings[]:标准化发现,包含严重性和负责文件提示nextActions[]:具体的修复/验证操作
相关产物
- 工作流:
.claude/workflows/troubleshooting-regression-skill-workflow.md - 工具:
.claude/tools/troubleshooting-regression/troubleshooting-regression.cjs - 命令:
.claude/commands/troubleshooting-regression.md
示例
# Analyze latest log
node .claude/skills/troubleshooting-regression/scripts/main.cjs --mode quick
# Analyze specific log and fail when critical findings exist
node .claude/skills/troubleshooting-regression/scripts/main.cjs --log-path "<path>" --strict
铁律
- 始终先收集证据(日志、跟踪 ID、错误消息),再进行任何配置更改
- 绝不在确定性复现故障之前修改 Hook 或路由配置
- 始终在每次更改后运行完整回归测试套件,以验证修复
- 绝不在确切的故障场景未通过端到端测试之前,将回归标记为已解决
- 始终在 issues.md 中记录根本原因、修复和验证证据,供日后参考
反模式
| 反模式 | 失败原因 | 正确做法 |
|---|---|---|
| 未复现故障便进行更改 | 无法验证更改是否修复了正确的问题 | 先以确定性方式复现,再修复 |
| 只修复症状,不分析根本原因 | 问题会在不同条件下再次出现 | 使用 5 Whys 追查根本原因 |
| 修复后跳过回归测试套件 | 修复可能会破坏其他功能 | 每次更改后运行完整测试套件 |
| 修复未记录 | 相同回归会在未来会话中再次出现 | 在 issues.md 中记录根本原因、修复和验证 |
| 未经端到端验证就标记为已解决 | 集成问题会被遗漏 | 对确切的故障路径进行端到端验证 |
记忆协议
开始之前:
cat .claude/context/memory/learnings.md
完成之后:
- 回归模式 ->
.claude/context/memory/learnings.md - 未解决的缺陷或风险 ->
.claude/context/memory/issues.md - 新的强制执行决策 ->
.claude/context/memory/decisions.md
假定会被打断:你的上下文可能会重置。如果没有记入记忆,就等于没有发生。
评论
支持 Markdown