关于 intermittent-issue-debugging
用于系统排查间歇性故障的技能。它提供症状捕获、原因调查和监控方面的指导,适用于不稳定测试、竞态条件和依赖时序的错误。
主要功能
- 01间歇性问题捕获指南
- 02系统化调查流程
- 03常见问题参考指南
- 04监控与预防建议
适用场景
- 01调查日志中的偶发错误
- 02排查不稳定测试
- 03检查疑似竞态条件
- 04调试依赖时序的错误
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ aj-geddes/ useful-ai-prompts --skill intermittent-issue-debugging安装后在 Claude Code 中输入/intermittent-issue-debugging确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/capturing-intermittent-issues.mdcommon-intermittent-issues.mdmonitoring-prevention.mdsystematic-investigation-process.mdscripts/scaffold-tests.shtemplates/test-template.js详细介绍
间歇性问题调试
目录
概述
间歇性问题最难调试,因为它们不会持续出现。采用系统化的方法并进行全面监控至关重要。
适用场景
- 日志中偶尔出现错误
- 用户报告偶发问题
- 不稳定的测试
- 怀疑存在竞态条件
- 依赖时序的 Bug
- 资源耗尽问题
快速入门
最简可运行示例:
// Strategy 1: Comprehensive Logging
// Add detailed logging around suspected code
function processPayment(orderId) {
const startTime = Date.now();
console.log(`[${startTime}] Payment start: order=${orderId}`);
try {
const result = chargeCard(orderId);
console.log(`[${Date.now()}] Payment success: ${orderId}`);
return result;
} catch (error) {
const duration = Date.now() - startTime;
console.error(`[${Date.now()}] Payment FAILED:`, {
order: orderId,
error: error.message,
duration_ms: duration,
error_type: error.constructor.name,
stack: error.stack,
});
throw error;
}
}
// Strategy 2: Correlation IDs
// ... (see reference guides for full implementation)
参考指南
详细实现见 references/ 目录:
| 指南 | 内容 |
|---|---|
| 捕获间歇性问题 | 捕获间歇性问题 |
| 常见间歇性问题 | 常见间歇性问题 |
| 系统化调查流程 | 系统化调查流程 |
| 监控与预防 | 监控与预防 |
最佳实践
✅ 应该
- 遵循既定模式和规范
- 编写清晰、易于维护的代码
- 添加适当的文档
- 部署前进行全面测试
❌ 不应该
- 跳过测试或验证
- 忽视错误处理
- 将配置值硬编码
评论
支持 Markdown