用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/gaoqiongxie/skills-ai --skill systematic-debugging命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
网络安全分析师技能库:754个结构化安全技能,覆盖威胁狩猎、数字取证、事件响应、渗透测试、代码安全审计、威胁情报、恶意软件分析等26个安全领域。映射MITRE ATT&CK v19.1、NIST CSF 2.0等五大框架。当用户说'安全分析'、'威胁狩猎'、'威胁情报'、'渗透测试'、'事件响应'、'MITRE'、'数字取证'、'恶意软件分析'、'红队'、'蓝队'、'SOC'、'网络攻防'时触发。与security-audit互补:security-audit聚焦代码层静态扫描,本Skill覆盖全栈安全分析工作流。
企业级全栈迭代工作流Agent:当用户说'开始开发这个需求'、'处理本次迭代'、'全栈开发闭环'、'跑一个迭代'、'enterprise iteration'、'迭代开发'、'需求交付'、'开发闭环'时触发。自动按需求→设计→开发→测试→Review→部署→记忆7阶段推进,维护迭代状态机,路径感知(自动读取需求目录与代码目录),协调多个子Skill协作完成企业级CRM全栈需求交付。支持状态回退、并行分支、上下文继承。
截图转可交互原型统一入口:根据UI设计稿、手绘草图或竞品截图自动生成HTML高保真原型,并自动联动screenshot-to-prd输出PRD、prd-to-demo完善交互。当用户说'根据截图生成原型'、'设计稿转Demo'、'草图转HTML'、'图片转可交互页面'、'复刻这个界面'、'仿照这个APP做原型'、'截图生成网页'时触发。核心特点:视觉分析自动还原布局、组件识别与映射、多截图串联页面流、与screenshot-to-prd/prd-to-demo形成设计驱动闭环。
基于 SOC 职业分类
正在显示 SKILL.md
| name | systematic-debugging |
| description | 系统化调试方法论,采用4阶段根本原因分析流程处理复杂Bug和间歇性故障。当用户报告代码bug、程序报错、问题排查、系统异常等情况时使用。 |
来源: obra/superpowers (142K⭐) - AI辅助开发方法论框架
参考: TDD + YAGNI + DRY 方法论,systematic-debugging 4阶段流程
"复杂性降低是主要目标" —— 大多数Bug源于复杂的解决方案,而非简单的错误。系统化调试帮助我们先理解问题,再修复问题,避免治标不治本。
目标:理解问题,提出可能的根本原因假设
操作:
收集所有相关错误信息
回答关键问题:
列出可能的假设(至少3个)
假设A: [具体原因] - 支持证据:[X] 不支持证据:[Y]
假设B: [具体原因] - 支持证据:[X] 不支持证据:[Y]
假设C: [具体原因] - 支持证据:[X] 不支持证据:[Y]
原则:假设要具体,"可能是网络问题"不是假设,"API超时因为缺少重试机制"是假设
目标:验证或推翻假设,找到确凿证据
操作:
隔离测试:最小化复现场景
# 创建一个最小测试用例
- 移除不相关代码
- 固定输入值
- 单一变量原则
添加日志:在关键点输出状态
# 示例:添加诊断日志
print(f"[DEBUG] Step {step}: input={x}, state={state}")
二分查找:快速定位问题区域
对比实验:改变单一变量
输出:
证据分析:
✅ 假设A:被[证据]证实
❌ 假设B:被[证据]推翻
⏳ 假设C:需要[进一步测试]
目标:找到真正的根本原因
方法:
5个为什么:连续追问"为什么"直到本质
问题:接口返回500错误
为什么?-> 数据库连接失败
为什么?-> 连接池耗尽
为什么?-> 慢查询占用连接
为什么?-> 缺少索引
为什么?-> 上线前未做性能测试
根本原因:缺少性能测试流程
鱼骨图分析:
问题
├── 人
│ ├── 培训不足?
│ └── 操作失误?
├── 机器
│ ├── 硬件故障?
│ └── 配置错误?
├── 方法
│ ├── 逻辑错误?
│ └── 边界条件?
└── ...
检查常见陷阱:
目标:确保修复有效且不引入新问题
操作:
修复后立即测试
# 运行相关测试
npm test -- --grep "相关测试名称"
# 手动复现测试
[复现步骤]
回归测试
测试范围:
- [ ] 直接相关的功能
- [ ] 同一模块的其他功能
- [ ] 上下游依赖的功能
边界条件测试
- [ ] 正常值
- [ ] 边界值(0、最大值、空)
- [ ] 异常值(负数、超长字符串)
添加监控/测试
# 添加单元测试防止回归
def test_edge_case():
assert fix_function(0) == expected
assert fix_function(null) == expected
调试完成后,提供结构化报告:
## 调试报告
### 问题描述
[简洁描述]
### 根本原因
[5个为什么分析结果]
### 修复方案
[具体代码改动]
### 验证结果
| 测试项 | 结果 |
|-------|------|
| 复现测试 | ✅ 通过 |
| 单元测试 | ✅ 通过 |
| 回归测试 | ✅ 通过 |
### 预防措施
- [ ] 添加了单元测试
- [ ] 添加了集成测试
- [ ] 更新了文档
- [ ] 记录了checklist
| 原则 | 说明 |
|---|---|
| 证据优先于声明 | "我认为是..."不是证据,测试结果才是 |
| 先理解后修复 | 花时间理解问题,避免盲目试错 |
| 最小化改动 | 只改必要的部分 |
| 测试即文档 | 测试用例说明了期望行为 |
| 记录即学习 | 记录调试过程,下次更快解决 |
| 类型 | 典型症状 | 检查点 |
|---|---|---|
| 空指针 | NPE/NullReference | 初始化、null检查 |
| 数组越界 | IndexOutOfBounds | 边界检查、length验证 |
| 并发问题 | 间歇性失败 | 锁、原子操作、线程安全 |
| 内存泄漏 | OOM/性能下降 | 资源释放、WeakRef |
| 缓存问题 | 数据不一致 | 失效策略、版本号 |
| 网络问题 | 超时/连接失败 | 重试、超时设置 |
| 配置问题 | 行为异常 | 环境变量、配置文件 |
| 依赖问题 | ClassNotFound | 版本兼容、依赖树 |