@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,362 @@
1
+ # Root Cause Analysis Techniques
2
+
3
+ > Techniques for identifying the true source of bugs, not just symptoms.
4
+
5
+ ## Table of Contents
6
+
7
+ - [RCA Principles](#rca-principles)
8
+ - [RCA Techniques](#rca-techniques)
9
+ - [Five Whys](#1-five-whys)
10
+ - [Fishbone Diagram](#2-fishbone-diagram-ishikawa)
11
+ - [Timeline Analysis](#3-timeline-analysis)
12
+ - [Fault Tree Analysis](#4-fault-tree-analysis)
13
+ - [Change Analysis](#5-change-analysis)
14
+ - [Code Path Tracing](#code-path-tracing)
15
+ - [Root Cause Categories](#root-cause-categories)
16
+ - [RCA Report Template](#rca-report-template)
17
+
18
+ ---
19
+
20
+ ## RCA Principles
21
+
22
+ 1. **Don't fix symptoms** — A fix that addresses symptoms will see the bug return
23
+ 2. **Ask "Why?" repeatedly** — Keep digging until you find the fundamental cause
24
+ 3. **Verify the cause** — Prove the root cause by showing the fix prevents the bug
25
+ 4. **Look for patterns** — Similar bugs may have the same root cause
26
+ 5. **Document for learning** — RCA helps prevent future similar bugs
27
+
28
+ ---
29
+
30
+ ## RCA Techniques
31
+
32
+ ### 1. Five Whys
33
+
34
+ Start with the problem and ask "Why?" five times:
35
+
36
+ ```markdown
37
+ **Problem**: Users receive duplicate emails
38
+
39
+ **Why 1**: Why do users receive duplicate emails?
40
+ → Because the email service is called twice.
41
+
42
+ **Why 2**: Why is the email service called twice?
43
+ → Because the submit handler fires twice.
44
+
45
+ **Why 3**: Why does the submit handler fire twice?
46
+ → Because the button click event bubbles and triggers twice.
47
+
48
+ **Why 4**: Why does the event bubble and trigger twice?
49
+ → Because there's no event.stopPropagation() or debouncing.
50
+
51
+ **Why 5**: Why is there no prevention for double submission?
52
+ → Because the form component was written without considering rapid clicks.
53
+
54
+ **Root Cause**: Form component lacks double-submission prevention.
55
+ ```
56
+
57
+ ### 2. Fishbone Diagram (Ishikawa)
58
+
59
+ Categorize potential causes:
60
+
61
+ ```
62
+ ┌─── People ──────┐
63
+ │ - Training gap │
64
+ │ - Human error │
65
+ │ │
66
+ ┌─── Process ──────┐│ │┌─── Technology ────┐
67
+ │ - Missing step ││ ││ - System bug │
68
+ │ - Wrong order ││ ││ - Integration issue│
69
+ │ - No validation ││ [BUG] ││ - Performance │
70
+ └──────────────────┘│ │└────────────────────┘
71
+ │ │
72
+ ┌─── Environment ──┐│ │┌─── Data ────────────┐
73
+ │ - Config diff ││ ││ - Invalid input │
74
+ │ - Network issue ││ ││ - Corrupted data │
75
+ │ - Resource limit │└──────────────────┘│ - Missing data │
76
+ └──────────────────┘ └──────────────────────┘
77
+ ```
78
+
79
+ ### 3. Timeline Analysis
80
+
81
+ For intermittent or timing-related bugs:
82
+
83
+ ```markdown
84
+ ## Timeline Analysis
85
+
86
+ | Time | Event | System State | Notes |
87
+ |------|-------|--------------|-------|
88
+ | 00:00 | User clicks Submit | Form data valid | |
89
+ | 00:01 | API call initiated | Loading state | |
90
+ | 00:02 | User clicks Submit again | Already loading | No prevention! |
91
+ | 00:03 | First API call completes | Success | |
92
+ | 00:04 | Second API call completes | Duplicate! | |
93
+
94
+ **Root Cause**: No loading state check before submit
95
+ ```
96
+
97
+ ### 4. Fault Tree Analysis
98
+
99
+ Work backwards from the failure:
100
+
101
+ ```
102
+ [Duplicate Email]
103
+
104
+ ┌────────────┴────────────┐
105
+ │ │
106
+ [Email sent twice] [Two records created]
107
+ │ │
108
+ ┌─────────┴─────────┐ │
109
+ │ │ │
110
+ [Double API call] [Retry logic] [Race condition]
111
+
112
+
113
+ [No debounce on button] ← ROOT CAUSE
114
+ ```
115
+
116
+ ### 5. Change Analysis
117
+
118
+ Compare working vs broken states:
119
+
120
+ ```markdown
121
+ ## Change Analysis
122
+
123
+ | Aspect | Working State | Broken State | Changed? |
124
+ |--------|---------------|--------------|----------|
125
+ | Code version | v1.2.3 | v1.2.4 | Yes ✓ |
126
+ | Config | prod.yaml | prod.yaml | No |
127
+ | Database | schema v42 | schema v42 | No |
128
+ | Dependencies | package.json | package.json | No |
129
+ | Environment | AWS us-east-1 | AWS us-east-1 | No |
130
+
131
+ **Focus Investigation On**: Code changes in v1.2.4
132
+
133
+ **Changed Files**:
134
+ - src/services/email.ts (modified)
135
+ - src/components/Form.tsx (modified) ← likely culprit
136
+
137
+ **Root Cause**: Form.tsx change removed debounce logic
138
+ ```
139
+
140
+ ---
141
+
142
+ ## Code Path Tracing
143
+
144
+ ### Step 1: Identify Entry Point
145
+
146
+ Where does the bug manifest?
147
+
148
+ ```
149
+ Error message: "Cannot read property 'name' of undefined"
150
+ Stack trace points to:
151
+ src/components/UserProfile.tsx:23
152
+ const name = user.name; // Error here
153
+ ```
154
+
155
+ ### Step 2: Trace Data Flow
156
+
157
+ Follow the data from source to error:
158
+
159
+ ```
160
+ Entry: UserProfile.tsx:23 (user.name)
161
+
162
+ │ user comes from props
163
+
164
+ Source: UserProfilePage.tsx:15
165
+
166
+ │ user comes from useUser hook
167
+
168
+ Source: hooks/useUser.ts:8
169
+
170
+ │ user comes from API response
171
+
172
+ Source: api/users.ts:12
173
+
174
+ │ API returns null when user not found
175
+
176
+ ROOT CAUSE: No handling for API returning null
177
+ ```
178
+
179
+ ### Step 3: Document the Path
180
+
181
+ ```markdown
182
+ ## Code Path
183
+
184
+ ### Execution Flow
185
+ 1. UserProfilePage renders
186
+ └── Calls useUser(userId)
187
+ └── Fetches from /api/users/{id}
188
+ └── API returns null (user deleted)
189
+ └── useUser returns null
190
+ └── UserProfile receives user=null
191
+ └── Accesses user.name
192
+ └── TypeError!
193
+
194
+ ### Missing Checks
195
+ | Location | Should Check | Current |
196
+ |----------|-------------|---------|
197
+ | API response | user exists | No ❌ |
198
+ | useUser hook | null handling | No ❌ |
199
+ | UserProfile | user prop | No ❌ |
200
+
201
+ ### Fix Location Options
202
+ 1. API: Return 404 (proper REST) ← Best
203
+ 2. Hook: Return loading/error state
204
+ 3. Component: Null check before render
205
+ ```
206
+
207
+ ---
208
+
209
+ ## Root Cause Categories
210
+
211
+ ### Logic Errors
212
+
213
+ ```python
214
+ # Bug: Off-by-one error
215
+ for i in range(len(array) + 1): # Should be len(array)
216
+ process(array[i]) # IndexError on last iteration
217
+
218
+ # Bug: Wrong operator
219
+ if user.role = 'admin': # = should be ==
220
+ # Always assigns, doesn't compare
221
+
222
+ # Bug: Incorrect condition
223
+ if items.length > 0 or items.length < 10: # or should be and
224
+ # Always true if length > 0
225
+ ```
226
+
227
+ ### Async/Timing Errors
228
+
229
+ ```python
230
+ # Bug: Race condition
231
+ data = None
232
+ async def load_data():
233
+ global data
234
+ data = await fetch_data()
235
+
236
+ load_data() # Not awaited
237
+ print(data) # None - load_data hasn't finished
238
+
239
+ # Bug: Unhandled promise/future rejection
240
+ async def save():
241
+ await api.save(data) # No try/except
242
+ ```
243
+
244
+ ### State Errors
245
+
246
+ ```python
247
+ # Bug: Mutation of shared state
248
+ items = []
249
+ def add_item(item):
250
+ items.append(item) # Mutates shared list!
251
+
252
+ # Bug: Invalid state transition
253
+ if status == 'pending':
254
+ status = 'complete'
255
+ elif status == 'processing':
256
+ status = 'complete' # Can go from processing to complete?
257
+ ```
258
+
259
+ ### Data Errors
260
+
261
+ ```python
262
+ # Bug: Unexpected data type
263
+ def format_date(date):
264
+ return date.isoformat() # Fails if date is string
265
+
266
+ # Bug: Missing data validation
267
+ def create_user(data):
268
+ return {'email': data['email'].lower()} # Fails if email is None
269
+
270
+ # Bug: Data shape assumption
271
+ def get_first_item(response):
272
+ return response['data']['items'][0]['name'] # Many assumptions!
273
+ ```
274
+
275
+ ### Integration Errors
276
+
277
+ ```python
278
+ # Bug: API contract mismatch
279
+ # Frontend expects: { user: { name: string } }
280
+ # Backend returns: { data: { user: { name: string } } }
281
+ name = response['user']['name'] # KeyError
282
+
283
+ # Bug: Version mismatch
284
+ # Library v1: response.json()
285
+ # Library v2: response.body
286
+ ```
287
+
288
+ ---
289
+
290
+ ## RCA Report Template
291
+
292
+ ```markdown
293
+ # Root Cause Analysis Report
294
+
295
+ ## Bug Summary
296
+ | Field | Value |
297
+ |-------|-------|
298
+ | Bug ID | BUG-XXX |
299
+ | Summary | [One line] |
300
+ | Severity | Critical / High / Medium / Low |
301
+ | Date Found | [Date] |
302
+ | Date Fixed | [Date] |
303
+
304
+ ## Problem Statement
305
+ [Detailed description of the bug]
306
+
307
+ ## Impact
308
+ - Users affected: [Number/scope]
309
+ - Features affected: [List]
310
+ - Duration: [How long issue existed]
311
+
312
+ ## Root Cause
313
+
314
+ ### 5 Whys Analysis
315
+ [Complete 5 whys]
316
+
317
+ ### Root Cause Statement
318
+ **Category**: [Logic/Async/State/Data/Integration]
319
+
320
+ **Description**: [Clear statement of root cause]
321
+
322
+ **Code Location**:
323
+ - File: [path]
324
+ - Line: [number]
325
+ - Function: [name]
326
+
327
+ ## Fix
328
+
329
+ ### Solution
330
+ [Description of fix]
331
+
332
+ ### Code Changes
333
+ [Diff or description]
334
+
335
+ ### Why This Fix?
336
+ [Justification]
337
+
338
+ ## Verification
339
+ - [ ] Bug cannot be reproduced
340
+ - [ ] Tests added for bug case
341
+ - [ ] Related features verified
342
+
343
+ ## Similar Bug Hunt
344
+ - [ ] Pattern extracted
345
+ - [ ] Project-wide search completed
346
+ - [ ] Similar instances fixed
347
+
348
+ ## Prevention
349
+
350
+ ### Immediate Actions
351
+ - [Action 1]
352
+ - [Action 2]
353
+
354
+ ### Long-term Improvements
355
+ - [Improvement 1]
356
+ - [Improvement 2]
357
+
358
+ ## Lessons Learned
359
+ - [Lesson 1]
360
+ - [Lesson 2]
361
+ ```
362
+