@tinkcarlos/skillora 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (234) hide show
  1. package/.claude/skills/.temp-skill-index.md +245 -0
  2. package/.claude/skills/SKILL.md +264 -0
  3. package/.claude/skills/api-scaffolding/SKILL.md +431 -0
  4. package/.claude/skills/api-scaffolding/agents/backend-architect.md +282 -0
  5. package/.claude/skills/api-scaffolding/agents/django-pro.md +144 -0
  6. package/.claude/skills/api-scaffolding/agents/fastapi-pro.md +156 -0
  7. package/.claude/skills/api-scaffolding/agents/graphql-architect.md +146 -0
  8. package/.claude/skills/api-scaffolding/skills/fastapi-templates/SKILL.md +171 -0
  9. package/.claude/skills/api-testing-observability/SKILL.md +583 -0
  10. package/.claude/skills/api-testing-observability/agents/api-documenter.md +146 -0
  11. package/.claude/skills/api-testing-observability/commands/api-mock.md +1320 -0
  12. package/.claude/skills/brainstorming/SKILL.md +283 -0
  13. package/.claude/skills/bug-fixing/SKILL.md +382 -0
  14. package/.claude/skills/bug-fixing/references/backend-guide.md +132 -0
  15. package/.claude/skills/bug-fixing/references/bug-guide.md +354 -0
  16. package/.claude/skills/bug-fixing/references/bug-record-template.md +134 -0
  17. package/.claude/skills/bug-fixing/references/bug-records.md +88 -0
  18. package/.claude/skills/bug-fixing/references/code-review-gate.md +81 -0
  19. package/.claude/skills/bug-fixing/references/common-bugs.md +140 -0
  20. package/.claude/skills/bug-fixing/references/complete-workflow.md +361 -0
  21. package/.claude/skills/bug-fixing/references/config-driven-fixes.md +136 -0
  22. package/.claude/skills/bug-fixing/references/context-isolation-protocol.md +268 -0
  23. package/.claude/skills/bug-fixing/references/cross-surface-regression.md +120 -0
  24. package/.claude/skills/bug-fixing/references/database-investigation.md +129 -0
  25. package/.claude/skills/bug-fixing/references/dependency-and-integrity-protocol.md +369 -0
  26. package/.claude/skills/bug-fixing/references/fix-completeness-checklist.md +239 -0
  27. package/.claude/skills/bug-fixing/references/frontend-guide.md +219 -0
  28. package/.claude/skills/bug-fixing/references/fullstack-joint-guide.md +123 -0
  29. package/.claude/skills/bug-fixing/references/functional-breakage.md +117 -0
  30. package/.claude/skills/bug-fixing/references/ide-lint-errors-guide.md +176 -0
  31. package/.claude/skills/bug-fixing/references/impact-analysis.md +511 -0
  32. package/.claude/skills/bug-fixing/references/investigation-checklist.md +263 -0
  33. package/.claude/skills/bug-fixing/references/knowledge-extraction-guide.md +531 -0
  34. package/.claude/skills/bug-fixing/references/knowledge-workflow.md +212 -0
  35. package/.claude/skills/bug-fixing/references/post-edit-quality-gate.md +30 -0
  36. package/.claude/skills/bug-fixing/references/python-env-and-testing.md +126 -0
  37. package/.claude/skills/bug-fixing/references/rca-guide.md +428 -0
  38. package/.claude/skills/bug-fixing/references/similar-bug-patterns.md +113 -0
  39. package/.claude/skills/bug-fixing/references/skill-delegation-guide.md +350 -0
  40. package/.claude/skills/bug-fixing/references/skill-orchestration.md +155 -0
  41. package/.claude/skills/bug-fixing/references/testing-strategy.md +350 -0
  42. package/.claude/skills/bug-fixing/references/tooling-build-scripts.md +162 -0
  43. package/.claude/skills/bug-fixing/references/user-input-validation.md +77 -0
  44. package/.claude/skills/bug-fixing/references/ux-patterns.md +158 -0
  45. package/.claude/skills/bug-fixing/references/windows-terminal-hygiene.md +106 -0
  46. package/.claude/skills/bug-fixing/references/zero-regression-matrix.md +239 -0
  47. package/.claude/skills/bug-fixing/references/zero-risk-protocol.md +102 -0
  48. package/.claude/skills/bug-fixing/scripts/format_code.py +611 -0
  49. package/.claude/skills/bug-fixing/scripts/generate_report_template.py +74 -0
  50. package/.claude/skills/bug-fixing/scripts/lint_check.py +816 -0
  51. package/.claude/skills/bug-fixing/scripts/requirements.txt +36 -0
  52. package/.claude/skills/cicd-pipeline/SKILL.md +300 -0
  53. package/.claude/skills/code-review/SKILL.md +535 -0
  54. package/.claude/skills/code-review/references/anti-pattern-scan.md +102 -0
  55. package/.claude/skills/code-review/references/automated-analysis.md +456 -0
  56. package/.claude/skills/code-review/references/backend-common-issues.md +589 -0
  57. package/.claude/skills/code-review/references/backend-expert-guide.md +415 -0
  58. package/.claude/skills/code-review/references/backend-review.md +868 -0
  59. package/.claude/skills/code-review/references/batch-processing-strategy.md +198 -0
  60. package/.claude/skills/code-review/references/call-chain-analysis-protocol.md +166 -0
  61. package/.claude/skills/code-review/references/common-patterns.md +321 -0
  62. package/.claude/skills/code-review/references/configuration-review.md +425 -0
  63. package/.claude/skills/code-review/references/control-flow-completeness.md +114 -0
  64. package/.claude/skills/code-review/references/database-review.md +298 -0
  65. package/.claude/skills/code-review/references/dependency-and-integrity-protocol.md +313 -0
  66. package/.claude/skills/code-review/references/external-standards.md +51 -0
  67. package/.claude/skills/code-review/references/feature-review.md +329 -0
  68. package/.claude/skills/code-review/references/file-review-template.md +326 -0
  69. package/.claude/skills/code-review/references/frontend-advanced.md +654 -0
  70. package/.claude/skills/code-review/references/frontend-common-issues.md +482 -0
  71. package/.claude/skills/code-review/references/frontend-expert-guide.md +342 -0
  72. package/.claude/skills/code-review/references/frontend-review.md +783 -0
  73. package/.claude/skills/code-review/references/fullstack-consistency.md +418 -0
  74. package/.claude/skills/code-review/references/fullstack-review.md +477 -0
  75. package/.claude/skills/code-review/references/functional-completeness.md +386 -0
  76. package/.claude/skills/code-review/references/hidden-bugs-detection.md +473 -0
  77. package/.claude/skills/code-review/references/ide-lint-errors-guide.md +173 -0
  78. package/.claude/skills/code-review/references/infrastructure-review.md +453 -0
  79. package/.claude/skills/code-review/references/iteration-review.md +264 -0
  80. package/.claude/skills/code-review/references/job-review.md +335 -0
  81. package/.claude/skills/code-review/references/layered-checklist-protocol.md +157 -0
  82. package/.claude/skills/code-review/references/logic-completeness.md +535 -0
  83. package/.claude/skills/code-review/references/mandatory-checklist.md +288 -0
  84. package/.claude/skills/code-review/references/multi-language-guide.md +800 -0
  85. package/.claude/skills/code-review/references/new-project-review.md +226 -0
  86. package/.claude/skills/code-review/references/non-code-files-review.md +451 -0
  87. package/.claude/skills/code-review/references/overlooked-issues.md +657 -0
  88. package/.claude/skills/code-review/references/platform-specific-review.md +195 -0
  89. package/.claude/skills/code-review/references/precision-analysis-protocol.md +260 -0
  90. package/.claude/skills/code-review/references/python-patterns.md +494 -0
  91. package/.claude/skills/code-review/references/rca-techniques.md +362 -0
  92. package/.claude/skills/code-review/references/report-template.md +430 -0
  93. package/.claude/skills/code-review/references/resource-limits-and-degradation.md +137 -0
  94. package/.claude/skills/code-review/references/review-dimensions.md +311 -0
  95. package/.claude/skills/code-review/references/review-guide.md +202 -0
  96. package/.claude/skills/code-review/references/review-knowledge-workflow.md +257 -0
  97. package/.claude/skills/code-review/references/review-progress-tracker-protocol.md +172 -0
  98. package/.claude/skills/code-review/references/review-record-template.md +195 -0
  99. package/.claude/skills/code-review/references/skill-orchestration.md +143 -0
  100. package/.claude/skills/code-review/references/ui-ux-review.md +470 -0
  101. package/.claude/skills/containerization/SKILL.md +313 -0
  102. package/.claude/skills/database-migrations/agents/database-admin.md +142 -0
  103. package/.claude/skills/database-migrations/agents/database-optimizer.md +144 -0
  104. package/.claude/skills/database-migrations/commands/migration-observability.md +408 -0
  105. package/.claude/skills/database-migrations/commands/sql-migrations.md +492 -0
  106. package/.claude/skills/finishing-a-development-branch/SKILL.md +319 -0
  107. package/.claude/skills/frontend-design/LICENSE.txt +177 -0
  108. package/.claude/skills/frontend-design/SKILL.md +587 -0
  109. package/.claude/skills/frontend-design/references/color-consistency.md +487 -0
  110. package/.claude/skills/frontend-design/references/color-palettes-full.md +657 -0
  111. package/.claude/skills/frontend-design/references/design-system-generator.md +285 -0
  112. package/.claude/skills/frontend-design/references/font-pairings-full.md +705 -0
  113. package/.claude/skills/frontend-design/references/industry-anti-patterns.md +281 -0
  114. package/.claude/skills/frontend-design/references/layout-anti-patterns.md +582 -0
  115. package/.claude/skills/frontend-design/references/motion-patterns.md +659 -0
  116. package/.claude/skills/frontend-design/references/pre-delivery-checklist.md +153 -0
  117. package/.claude/skills/frontend-design/references/responsive-design.md +555 -0
  118. package/.claude/skills/frontend-design/references/style-modification-rules.md +335 -0
  119. package/.claude/skills/frontend-design/references/ui-styles-full.md +383 -0
  120. package/.claude/skills/frontend-design/references/ui-styles-rating.md +191 -0
  121. package/.claude/skills/frontend-design/references/ux-guidelines.md +640 -0
  122. package/.claude/skills/fullstack-developer/SKILL.md +512 -0
  123. package/.claude/skills/fullstack-developer/references/api-contract-guide.md +312 -0
  124. package/.claude/skills/fullstack-developer/references/api-response-patterns.md +223 -0
  125. package/.claude/skills/fullstack-developer/references/async-patterns.md +220 -0
  126. package/.claude/skills/fullstack-developer/references/bug-prevention.md +914 -0
  127. package/.claude/skills/fullstack-developer/references/code-quality-checklist.md +271 -0
  128. package/.claude/skills/fullstack-developer/references/complete-development-workflow.md +278 -0
  129. package/.claude/skills/fullstack-developer/references/context-isolation-protocol.md +256 -0
  130. package/.claude/skills/fullstack-developer/references/database-migration.md +331 -0
  131. package/.claude/skills/fullstack-developer/references/dependency-and-integrity-protocol.md +390 -0
  132. package/.claude/skills/fullstack-developer/references/development-phases.md +333 -0
  133. package/.claude/skills/fullstack-developer/references/expert-guide.md +214 -0
  134. package/.claude/skills/fullstack-developer/references/file-import-patterns.md +114 -0
  135. package/.claude/skills/fullstack-developer/references/graceful-degradation-patterns.md +78 -0
  136. package/.claude/skills/fullstack-developer/references/ide-lint-errors-guide.md +183 -0
  137. package/.claude/skills/fullstack-developer/references/integration-testing.md +301 -0
  138. package/.claude/skills/fullstack-developer/references/mock-api-patterns.md +307 -0
  139. package/.claude/skills/fullstack-developer/references/phase-gate-template.md +249 -0
  140. package/.claude/skills/fullstack-developer/references/post-edit-quality-gate.md +30 -0
  141. package/.claude/skills/fullstack-developer/references/python-engineering.md +79 -0
  142. package/.claude/skills/fullstack-developer/references/skill-orchestration.md +214 -0
  143. package/.claude/skills/fullstack-developer/references/skill-router-table.md +304 -0
  144. package/.claude/skills/fullstack-developer/references/state-sync.md +217 -0
  145. package/.claude/skills/fullstack-developer/references/ui-testing-checklist.md +292 -0
  146. package/.claude/skills/fullstack-developer/scripts/format_code.py +611 -0
  147. package/.claude/skills/fullstack-developer/scripts/lint_check.py +816 -0
  148. package/.claude/skills/fullstack-developer/scripts/requirements.txt +36 -0
  149. package/.claude/skills/performance-optimization/SKILL.md +250 -0
  150. package/.claude/skills/product-requirements/SKILL.md +357 -0
  151. package/.claude/skills/product-requirements/references/acceptance-criteria.md +335 -0
  152. package/.claude/skills/product-requirements/references/answer-first-questioning-protocol.md +299 -0
  153. package/.claude/skills/product-requirements/references/competitive-analysis-guide.md +183 -0
  154. package/.claude/skills/product-requirements/references/document-accuracy-protocol.md +253 -0
  155. package/.claude/skills/product-requirements/references/document-management-protocol.md +278 -0
  156. package/.claude/skills/product-requirements/references/external-standards.md +62 -0
  157. package/.claude/skills/product-requirements/references/feature-spec-template.md +359 -0
  158. package/.claude/skills/product-requirements/references/knowledge-acquisition-protocol.md +251 -0
  159. package/.claude/skills/product-requirements/references/plan-execution-protocol.md +334 -0
  160. package/.claude/skills/product-requirements/references/plan-generation-protocol.md +264 -0
  161. package/.claude/skills/product-requirements/references/prioritization-frameworks.md +80 -0
  162. package/.claude/skills/product-requirements/references/requirement-decomposition-protocol.md +291 -0
  163. package/.claude/skills/product-requirements/references/user-story-examples.md +297 -0
  164. package/.claude/skills/product-requirements/references/workflow-templates.md +266 -0
  165. package/.claude/skills/react-best-practices/SKILL.md +198 -0
  166. package/.claude/skills/react-best-practices/references/advanced-patterns.md +94 -0
  167. package/.claude/skills/react-best-practices/references/bundle-optimization.md +182 -0
  168. package/.claude/skills/react-best-practices/references/client-data-fetching.md +112 -0
  169. package/.claude/skills/react-best-practices/references/complete-guide.md +2249 -0
  170. package/.claude/skills/react-best-practices/references/eliminating-waterfalls.md +169 -0
  171. package/.claude/skills/react-best-practices/references/javascript-performance.md +256 -0
  172. package/.claude/skills/react-best-practices/references/rendering-performance.md +230 -0
  173. package/.claude/skills/react-best-practices/references/rerender-optimization.md +214 -0
  174. package/.claude/skills/react-best-practices/references/server-performance.md +182 -0
  175. package/.claude/skills/security-audit/SKILL.md +226 -0
  176. package/.claude/skills/shared-references/advanced-debugging-techniques.md +186 -0
  177. package/.claude/skills/shared-references/code-quality-checklist.md +218 -0
  178. package/.claude/skills/shared-references/code-review-efficiency-guide.md +125 -0
  179. package/.claude/skills/shared-references/mcp-dependency-compatibility-protocol.md +276 -0
  180. package/.claude/skills/shared-references/skill-call-graph.md +230 -0
  181. package/.claude/skills/shared-references/skill-orchestration-protocol.md +281 -0
  182. package/.claude/skills/shared-references/subagent-dispatch-templates.md +199 -0
  183. package/.claude/skills/skill-expert-skills/LICENSE.txt +204 -0
  184. package/.claude/skills/skill-expert-skills/QUICK_NAVIGATION.md +374 -0
  185. package/.claude/skills/skill-expert-skills/SKILL.md +247 -0
  186. package/.claude/skills/skill-expert-skills/docs/_index.md +91 -0
  187. package/.claude/skills/skill-expert-skills/references/deep-research-methodology.md +389 -0
  188. package/.claude/skills/skill-expert-skills/references/docs-generation-workflow.md +398 -0
  189. package/.claude/skills/skill-expert-skills/references/domain-expertise-protocol.md +343 -0
  190. package/.claude/skills/skill-expert-skills/references/domain-knowledge/_index.md +54 -0
  191. package/.claude/skills/skill-expert-skills/references/domain-knowledge/backend-expertise.md +517 -0
  192. package/.claude/skills/skill-expert-skills/references/domain-knowledge/bug-fixing-expertise.md +363 -0
  193. package/.claude/skills/skill-expert-skills/references/domain-knowledge/code-review-expertise.md +392 -0
  194. package/.claude/skills/skill-expert-skills/references/domain-knowledge/frontend-expertise.md +410 -0
  195. package/.claude/skills/skill-expert-skills/references/domain-knowledge-template.md +503 -0
  196. package/.claude/skills/skill-expert-skills/references/examples.md +782 -0
  197. package/.claude/skills/skill-expert-skills/references/integration-examples.md +655 -0
  198. package/.claude/skills/skill-expert-skills/references/knowledge-validation-checklist.md +246 -0
  199. package/.claude/skills/skill-expert-skills/references/latest-knowledge-acquisition.md +461 -0
  200. package/.claude/skills/skill-expert-skills/references/mcp-tools-guide.md +439 -0
  201. package/.claude/skills/skill-expert-skills/references/official-best-practices.md +616 -0
  202. package/.claude/skills/skill-expert-skills/references/patterns.md +218 -0
  203. package/.claude/skills/skill-expert-skills/references/plugin-skills-guide.md +432 -0
  204. package/.claude/skills/skill-expert-skills/references/requirement-elicitation-protocol.md +290 -0
  205. package/.claude/skills/skill-expert-skills/references/skill-creator-SKILL.md +353 -0
  206. package/.claude/skills/skill-expert-skills/references/skill-templates.md +583 -0
  207. package/.claude/skills/skill-expert-skills/references/skills-knowledge-base.md +561 -0
  208. package/.claude/skills/skill-expert-skills/references/tools-guide.md +379 -0
  209. package/.claude/skills/skill-expert-skills/references/troubleshooting.md +378 -0
  210. package/.claude/skills/skill-expert-skills/references/universality-guide.md +205 -0
  211. package/.claude/skills/skill-expert-skills/references/writing-style-guide.md +466 -0
  212. package/.claude/skills/skill-expert-skills/scripts/__pycache__/quick_validate.cpython-313.pyc +0 -0
  213. package/.claude/skills/skill-expert-skills/scripts/__pycache__/universal_validate.cpython-313.pyc +0 -0
  214. package/.claude/skills/skill-expert-skills/scripts/analyze_trigger.py +425 -0
  215. package/.claude/skills/skill-expert-skills/scripts/diff_with_official.py +188 -0
  216. package/.claude/skills/skill-expert-skills/scripts/init_skill.py +349 -0
  217. package/.claude/skills/skill-expert-skills/scripts/package_skill.py +156 -0
  218. package/.claude/skills/skill-expert-skills/scripts/quick_validate.py +493 -0
  219. package/.claude/skills/skill-expert-skills/scripts/requirements.txt +2 -0
  220. package/.claude/skills/skill-expert-skills/scripts/universal_validate.py +182 -0
  221. package/.claude/skills/skill-expert-skills/scripts/upgrade_skill.py +431 -0
  222. package/.claude/skills/subagent-driven-development/SKILL.md +268 -0
  223. package/.claude/skills/test-driven-development/SKILL.md +246 -0
  224. package/.claude/skills/test-driven-development/references/testing-anti-patterns.md +192 -0
  225. package/.claude/skills/using-git-worktrees/SKILL.md +266 -0
  226. package/.claude/skills/using-skillstack/SKILL.md +127 -0
  227. package/.claude/skills/vercel-deploy/SKILL.md +166 -0
  228. package/.claude/skills/vercel-deploy/scripts/deploy.sh +249 -0
  229. package/.claude/skills/verification-before-completion/SKILL.md +305 -0
  230. package/.claude/skills/writing-plans/SKILL.md +259 -0
  231. package/README.md +69 -0
  232. package/bin/cli.js +468 -0
  233. package/lib/init.js +333 -0
  234. package/package.json +29 -0
@@ -0,0 +1,363 @@
1
+ # Bug Fixing 领域专业知识库
2
+
3
+ > 创建日期: 2025-01-15
4
+ > 知识来源: 深度研究 + 行业最佳实践
5
+ > 适用场景: 优化/创建 bug-fixing 相关 Skills
6
+
7
+ ---
8
+
9
+ ## 目录
10
+
11
+ 1. [核心概念](#1-核心概念)
12
+ 2. [调试心智模型](#2-调试心智模型)
13
+ 3. [根因分析 (RCA)](#3-根因分析-rca)
14
+ 4. [Bug 分类与优先级](#4-bug-分类与优先级)
15
+ 5. [影响分析](#5-影响分析)
16
+ 6. [验证与回归预防](#6-验证与回归预防)
17
+ 7. [知识沉淀](#7-知识沉淀)
18
+ 8. [常见陷阱](#8-常见陷阱)
19
+ 9. [工具与技术](#9-工具与技术)
20
+
21
+ ---
22
+
23
+ ## 1. 核心概念
24
+
25
+ ### 1.1 Bug 的本质
26
+
27
+ **Bug 不是代码问题,而是假设问题。**
28
+
29
+ > "Most bugs are not caused by bad code, but by unverified assumptions."
30
+ > — [FreeCodeCamp: Why is Debugging Hard?](https://www.freecodecamp.org/news/why-is-debugging-hard-how-to-develop-an-effective-debugging-mindset/)
31
+
32
+ 关键洞察:
33
+ - Bug 是预期行为与实际行为的差异
34
+ - 根因通常是开发者对系统行为的错误假设
35
+ - 修复 Bug 的核心是验证和纠正假设
36
+
37
+ ### 1.2 调试 vs 猜测
38
+
39
+ | 调试 (Debugging) | 猜测 (Guessing) |
40
+ |------------------|-----------------|
41
+ | 系统性调查 | 随机尝试 |
42
+ | 假设驱动 | 反应驱动 |
43
+ | 问"为什么这个 Bug 必须存在?" | 问"怎么让它消失?" |
44
+ | 修复根因 | 掩盖症状 |
45
+
46
+ **反模式:反应式调试 (Reaction-based Debugging)**
47
+ - 随机修改代码希望错误消失
48
+ - 不理解为什么修复有效
49
+ - 高概率引入新 Bug
50
+
51
+ ---
52
+
53
+ ## 2. 调试心智模型
54
+
55
+ ### 2.1 科学方法调试框架
56
+
57
+ 来源: [FreeCodeCamp](https://www.freecodecamp.org/news/why-is-debugging-hard-how-to-develop-an-effective-debugging-mindset/)
58
+
59
+ ```
60
+ Bug 发现 → 定义事实 → 识别假设 → 形成假设 → 验证假设 → 修复
61
+ ```
62
+
63
+ **5 步框架详解:**
64
+
65
+ | 步骤 | 目标 | 关键问题 |
66
+ |------|------|----------|
67
+ | 1. Bug 发现 | 记录意外行为 | 有证据吗?(日志/截图/复现步骤) |
68
+ | 2. 定义事实 | 只写能证明的 | 这是事实还是猜测? |
69
+ | 3. 识别假设 | 暴露隐藏信念 | 代码正常工作需要什么条件? |
70
+ | 4. 形成假设 | 因果陈述 | 如果这个假设错了,行为就说得通 |
71
+ | 5. 验证假设 | 有目的地使用工具 | 假设是真是假? |
72
+
73
+ **核心原则:**
74
+ > "Never touch the fix until the hypothesis survives reality."
75
+
76
+ ### 2.2 事实 vs 假设
77
+
78
+ | 事实 (Facts) | 非事实 (Not Facts) |
79
+ |--------------|-------------------|
80
+ | "这个组件渲染了两次" | "React 表现异常" |
81
+ | "API 返回正确数据" | "在我机器上能用" |
82
+ | "日志显示 X 在 Y 之前执行" | "应该不会有并发问题" |
83
+
84
+ ### 2.3 假设验证工具
85
+
86
+ | 工具 | 用途 | 何时使用 |
87
+ |------|------|----------|
88
+ | console.log / print | 追踪执行流程 | 验证代码是否执行 |
89
+ | 断点调试 | 检查状态 | 验证变量值 |
90
+ | 网络检查 | API 交互 | 验证请求/响应 |
91
+ | git bisect | 定位引入点 | 验证"何时开始出问题" |
92
+
93
+ ---
94
+
95
+ ## 3. 根因分析 (RCA)
96
+
97
+ ### 3.1 5 Whys 技术
98
+
99
+ 来源: [Pragmatic Coders RCA Guide](https://www.pragmaticcoders.com/blog/root-cause-analysis-rca-a-complete-guide-for-engineering-qa-and-business-teams)
100
+
101
+ **核心洞察:**
102
+ > "The solution is almost always process-related, because it's almost always the process's fault."
103
+
104
+ **示例:**
105
+ ```
106
+ 问题:用户无法登录
107
+ Why 1: 密码验证失败 → 为什么?
108
+ Why 2: 密码哈希不匹配 → 为什么?
109
+ Why 3: 使用了错误的哈希算法 → 为什么?
110
+ Why 4: 迁移脚本没有更新算法 → 为什么?
111
+ Why 5: 迁移检查清单没有包含算法验证 → 根因!
112
+ ```
113
+
114
+ **关键:** 真正的根因通常在 3-5 层深度
115
+
116
+ ### 3.2 三路径 RCA 框架
117
+
118
+ | 路径 | 问题 | 关注点 |
119
+ |------|------|--------|
120
+ | 1. 为什么有这个 Bug? | 需求/设计/实现哪里出了问题? | 预防 |
121
+ | 2. 我们如何响应? | 错误信息清晰吗?用户能恢复吗? | 体验 |
122
+ | 3. 我们如何修复? | 修复完整吗?历史数据处理了吗? | 彻底性 |
123
+
124
+ ### 3.3 何时进行正式 RCA
125
+
126
+ **适合 RCA 的场景:**
127
+ - 严重生产事故(宕机、客户流失)
128
+ - 同一区域反复出现问题
129
+ - 需要流程变更,而非仅仅热修复
130
+ - 团队陷入"返工模式"
131
+
132
+ **不需要正式 RCA:**
133
+ - 小 Bug → 迷你回顾即可
134
+ - 一次性问题
135
+ - 已知原因的问题
136
+
137
+ ### 3.4 RCA 常见陷阱
138
+
139
+ | 陷阱 | 表现 | 解决方案 |
140
+ |------|------|----------|
141
+ | 追责导向 | 停在"Chris 忘了" | 问"为什么忘记是可能的?" |
142
+ | 分析过浅 | 只到第 1-2 层 | 坚持到 3-5 层 |
143
+ | 无心理安全 | 人们不敢承认错误 | 建立无责文化 |
144
+ | 无落地 | 结论留在文档里 | 更新 DoR/DoD |
145
+ | 忽略历史数据 | 只修新记录 | 检查旧数据是否受影响 |
146
+
147
+ ---
148
+
149
+ ## 4. Bug 分类与优先级
150
+
151
+ ### 4.1 P0-P4 分类体系
152
+
153
+ 来源: [Fibery Bug Prioritization Guide](https://fibery.io/blog/product-management/bug-prioritization/)
154
+
155
+ | 级别 | 名称 | 严重程度 | 响应 |
156
+ |------|------|----------|------|
157
+ | **P0** | 立即修复 | 崩溃/安全漏洞/数据丢失 | 放下一切,立即修复 |
158
+ | **P1** | 高优先级 | 主要功能受损但不崩溃 | 当前周期内修复 |
159
+ | **P2** | 重要但不紧急 | 中等问题,非核心功能 | 按常规排期修复 |
160
+ | **P3** | 有空再修 | 小问题,UI 瑕疵 | 未来 Sprint 处理 |
161
+ | **P4** | 最低优先级 | 微小问题,错别字 | 有空时处理 |
162
+
163
+ ### 4.2 优先级评估维度
164
+
165
+ | 维度 | 问题 | 权重 |
166
+ |------|------|------|
167
+ | 用户影响 | 多少用户受影响?体验多差? | 高 |
168
+ | 发生频率 | 偶发还是频繁? | 高 |
169
+ | 业务关键性 | 影响核心功能/收入吗? | 高 |
170
+ | 修复复杂度 | 需要多少时间/资源? | 中 |
171
+ | 修复风险 | 可能引入新 Bug 吗? | 中 |
172
+ | 变通方案 | 有临时解决办法吗? | 中 |
173
+ | 公众关注 | 社交媒体/论坛有讨论吗? | 中 |
174
+ | 合规风险 | 涉及安全/隐私/法规吗? | 高 |
175
+
176
+ ### 4.3 务实观点
177
+
178
+ > "Not every bug needs to be fixed... obsessing over every tiny bug can lead us down a rabbit hole of inefficiency."
179
+ > — Fibery PM
180
+
181
+ **策略:** P3/P4 Bug 可以暂时搁置,只要 P0/P1 处理得当
182
+
183
+ ---
184
+
185
+ ## 5. 影响分析
186
+
187
+ ### 5.1 影响分析类型
188
+
189
+ 来源: [Wikipedia: Change Impact Analysis](https://en.wikipedia.org/wiki/Change_impact_analysis)
190
+
191
+ | 类型 | 方法 | 适用场景 |
192
+ |------|------|----------|
193
+ | **追溯性分析** | 追踪需求→设计→代码→测试的链接 | 评估变更范围 |
194
+ | **依赖性分析** | 分析代码/模块/变量间的依赖 | 评估技术影响 |
195
+ | **经验性分析** | 专家判断、团队讨论 | 快速评估 |
196
+
197
+ ### 5.2 5 层影响追踪
198
+
199
+ | 层级 | 追踪内容 | 示例 |
200
+ |------|----------|------|
201
+ | 1. 变更代码 | 直接修改了什么 | 修改了 `validateUser()` |
202
+ | 2. 直接调用者 | 谁直接调用它 | `LoginController` 调用 |
203
+ | 3. 间接调用者 | 谁调用调用者 | `AuthMiddleware` |
204
+ | 4. 跨模块 | 共享工具/事件/导入 | 其他模块也用 `validateUser` |
205
+ | 5. 系统级 | API/数据库/缓存/任务 | 影响 Session 存储 |
206
+
207
+ ### 5.3 依赖地狱 (Dependency Hell)
208
+
209
+ 修改一处代码可能触发连锁反应。工具支持:
210
+ - IDE 依赖分析
211
+ - 静态分析工具 (FindBugs, Visual Expert)
212
+ - 包管理器依赖检查
213
+
214
+ ---
215
+
216
+ ## 6. 验证与回归预防
217
+
218
+ ### 6.1 零回归矩阵
219
+
220
+ | 检查项 | 验证方法 |
221
+ |--------|----------|
222
+ | 修复有效 | 原始 Bug 不再复现 |
223
+ | 无新 Bug | 相关功能仍正常 |
224
+ | 边界情况 | 极端输入测试 |
225
+ | 跨平台 | 不同环境验证 |
226
+ | 性能 | 无性能退化 |
227
+
228
+ ### 6.2 Git Bisect 技术
229
+
230
+ 来源: [Expert Beacon: Git Bisect](https://expertbeacon.com/how-git-bisect-makes-debugging-easier/)
231
+
232
+ **用途:** 二分查找定位引入 Bug 的提交
233
+
234
+ ```bash
235
+ git bisect start
236
+ git bisect bad HEAD
237
+ git bisect good v1.0.0
238
+ # Git 自动检出中间提交,测试后标记 good/bad
239
+ # 重复直到找到引入 Bug 的提交
240
+ ```
241
+
242
+ ### 6.3 修复后代码审查
243
+
244
+ **必检项:**
245
+ - 修复是否完整(不只是掩盖症状)
246
+ - 是否引入新依赖
247
+ - 是否影响其他调用者
248
+ - 测试覆盖是否充分
249
+ - 是否需要更新文档
250
+
251
+ ---
252
+
253
+ ## 7. 知识沉淀
254
+
255
+ ### 7.1 Bug 知识库价值
256
+
257
+ - 避免重复踩坑
258
+ - 加速未来调试
259
+ - 团队知识共享
260
+ - 模式识别
261
+
262
+ ### 7.2 Bug 记录模板
263
+
264
+ ```markdown
265
+ ## Bug ID: BUG-XXX
266
+
267
+ ### 症状
268
+ [用户看到什么]
269
+
270
+ ### 根因
271
+ [一句话总结]
272
+
273
+ ### 修复
274
+ [做了什么改动]
275
+
276
+ ### 模式
277
+ [可复用的教训]
278
+
279
+ ### 预防
280
+ [如何避免类似问题]
281
+ ```
282
+
283
+ ### 7.3 模式提取
284
+
285
+ 从具体 Bug 提取通用模式:
286
+
287
+ | 具体 Bug | 通用模式 |
288
+ |----------|----------|
289
+ | "用户 ID 为 null 导致崩溃" | "外部输入未验证" |
290
+ | "并发请求导致数据不一致" | "共享状态无锁保护" |
291
+ | "API 返回格式变化导致解析失败" | "外部依赖契约变更" |
292
+
293
+ ---
294
+
295
+ ## 8. 常见陷阱
296
+
297
+ ### 8.1 调试陷阱
298
+
299
+ | 陷阱 | 表现 | 解决 |
300
+ |------|------|------|
301
+ | 过早修复 | 不理解就开始改代码 | 先验证假设 |
302
+ | 假设即事实 | "应该不会有问题" | 区分事实和假设 |
303
+ | 工具依赖 | 疯狂加日志但不分析 | 有目的地使用工具 |
304
+ | 隧道视野 | 只看自己的代码 | 考虑系统交互 |
305
+
306
+ ### 8.2 修复陷阱
307
+
308
+ | 陷阱 | 表现 | 解决 |
309
+ |------|------|------|
310
+ | 症状修复 | Bug "消失"但根因未解决 | 验证根因已修复 |
311
+ | 过度修复 | 顺便重构了一堆代码 | 最小化变更 |
312
+ | 忽略历史数据 | 只修新数据 | 检查旧数据影响 |
313
+ | 无测试 | 修完就提交 | 添加回归测试 |
314
+
315
+ ### 8.3 流程陷阱
316
+
317
+ | 陷阱 | 表现 | 解决 |
318
+ |------|------|------|
319
+ | 无优先级 | 所有 Bug 同等对待 | 使用 P0-P4 分类 |
320
+ | 无追踪 | Bug 修了但没记录 | 维护 Bug 知识库 |
321
+ | 无回顾 | 同样问题反复出现 | 定期 RCA |
322
+
323
+ ---
324
+
325
+ ## 9. 工具与技术
326
+
327
+ ### 9.1 调试工具
328
+
329
+ | 类别 | 工具 | 用途 |
330
+ |------|------|------|
331
+ | 日志 | console.log, logging 框架 | 追踪执行流程 |
332
+ | 断点 | IDE 调试器 | 检查运行时状态 |
333
+ | 网络 | DevTools Network, Postman | API 调试 |
334
+ | 版本 | git bisect, git blame | 定位变更 |
335
+ | 静态分析 | ESLint, TypeScript, FindBugs | 提前发现问题 |
336
+
337
+ ### 9.2 RCA 工具
338
+
339
+ | 工具 | 用途 |
340
+ |------|------|
341
+ | Miro/Mural | 可视化映射 |
342
+ | Confluence/Notion | 文档记录 |
343
+ | Jira | Bug 收集和分组 |
344
+
345
+ ### 9.3 测试工具
346
+
347
+ | 类别 | 工具 |
348
+ |------|------|
349
+ | 单元测试 | Jest, pytest, JUnit |
350
+ | 集成测试 | Cypress, Playwright |
351
+ | 回归测试 | 自动化测试套件 |
352
+
353
+ ---
354
+
355
+ ## 参考资料
356
+
357
+ - [FreeCodeCamp: Why is Debugging Hard?](https://www.freecodecamp.org/news/why-is-debugging-hard-how-to-develop-an-effective-debugging-mindset/)
358
+ - [Pragmatic Coders: RCA Complete Guide](https://www.pragmaticcoders.com/blog/root-cause-analysis-rca-a-complete-guide-for-engineering-qa-and-business-teams)
359
+ - [Fibery: Bug Prioritization Guide](https://fibery.io/blog/product-management/bug-prioritization/)
360
+ - [Wikipedia: Change Impact Analysis](https://en.wikipedia.org/wiki/Change_impact_analysis)
361
+ - [Expert Beacon: Git Bisect](https://expertbeacon.com/how-git-bisect-makes-debugging-easier/)
362
+ - [Wikipedia: Debugging](https://en.wikipedia.org/wiki/Debugging)
363
+ - [Wikipedia: Root Cause Analysis](https://en.wikipedia.org/wiki/Root-cause_analysis)