@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,266 @@
1
+ # Requirement Analysis Workflow Templates
2
+
3
+ This document contains detailed templates for each phase of the requirement analysis workflow. Use these templates when executing the corresponding phases.
4
+
5
+ ---
6
+
7
+ ## Phase 2: User Persona Template
8
+
9
+ Define at least 2-3 user personas using this template:
10
+
11
+ ```markdown
12
+ ## User Persona: [Name]
13
+
14
+ **Demographics**
15
+ - Age range:
16
+ - Tech proficiency: Beginner / Intermediate / Advanced
17
+ - Device preference: Mobile / Desktop / Both
18
+ - Usage frequency: Daily / Weekly / Monthly
19
+
20
+ **Goals**
21
+ - Primary goal:
22
+ - Secondary goals:
23
+
24
+ **Pain Points**
25
+ - Current frustrations:
26
+ - What they've tried:
27
+
28
+ **Behaviors**
29
+ - How they currently solve this problem:
30
+ - Key workflows:
31
+
32
+ **Quotes** (Representative voice)
33
+ - "I wish I could..."
34
+ - "It's frustrating when..."
35
+ ```
36
+
37
+ ---
38
+
39
+ ## Phase 3: User Story Mapping Template
40
+
41
+ Create comprehensive user story map:
42
+
43
+ ```markdown
44
+ ## User Story Map
45
+
46
+ ### Epic: [Feature Name]
47
+
48
+ #### User Journey Phases
49
+ 1. [Discovery] -> 2. [Onboarding] -> 3. [Core Action] -> 4. [Completion] -> 5. [Return]
50
+
51
+ #### Stories by Phase
52
+
53
+ **Phase 1: Discovery**
54
+ | Story ID | As a... | I want to... | So that... | Priority |
55
+ |----------|---------|--------------|------------|----------|
56
+ | US-001 | new user | see feature benefits | I understand its value | Must |
57
+ | US-002 | returning user | quickly access feature | I save time | Must |
58
+
59
+ **Phase 2: Core Action**
60
+ | Story ID | As a... | I want to... | So that... | Priority |
61
+ |----------|---------|--------------|------------|----------|
62
+ | US-010 | ... | ... | ... | ... |
63
+ ```
64
+
65
+ **Priority Legend (MoSCoW)**:
66
+ - **Must** - Critical for launch
67
+ - **Should** - Important but not blocking
68
+ - **Could** - Nice to have
69
+ - **Won't** - Explicitly excluded
70
+
71
+ ---
72
+
73
+ ## Phase 4: Feature Specification Template
74
+
75
+ For EACH page/screen, complete this template:
76
+
77
+ ```markdown
78
+ ## Feature: [Feature Name]
79
+ ### Page: [Page Name]
80
+
81
+ #### 1. Purpose & Context
82
+ - **What**: What does this page do?
83
+ - **Why**: Why does the user need this?
84
+ - **When**: When do users access this page?
85
+ - **Entry points**: How do users get here?
86
+ - **Exit points**: Where do users go next?
87
+
88
+ #### 2. Page Layout & Components
89
+
90
+ | Component | Type | Description | Required? |
91
+ |-----------|------|-------------|-----------|
92
+ | Header | Navigation | Logo, nav links, user menu | Yes |
93
+ | Hero Section | Content | Main CTA, value proposition | Yes |
94
+ | Form | Interactive | User input fields | Yes |
95
+ | ... | ... | ... | ... |
96
+
97
+ #### 3. Component Details
98
+
99
+ For EACH component:
100
+
101
+ ##### Component: [Name]
102
+ - **Purpose**: Why does this exist?
103
+ - **Visual**: Size, position, styling notes
104
+ - **Content**: Text, images, data displayed
105
+ - **States**: All possible states (see state matrix)
106
+ - **Interactions**: What happens on click/hover/etc
107
+ - **Validation**: Input rules if applicable
108
+ - **Accessibility**: ARIA labels, keyboard nav
109
+
110
+ #### 4. State Matrix
111
+
112
+ | State | Trigger | Visual Change | User Action |
113
+ |-------|---------|---------------|-------------|
114
+ | Default | Page load | Normal appearance | Can interact |
115
+ | Loading | Action initiated | Spinner, disabled | Wait |
116
+ | Success | Action complete | Green feedback | Continue |
117
+ | Error | Action failed | Red message | Retry/Fix |
118
+ | Empty | No data | Empty state UI | Add data |
119
+ | Disabled | No permission | Grayed out | None |
120
+
121
+ #### 5. User Flow (Mermaid)
122
+
123
+ ```mermaid
124
+ graph TD
125
+ A[Entry Point] --> B{User Action}
126
+ B -->|Valid| C[Process]
127
+ B -->|Invalid| D[Error Message]
128
+ C --> E{Result}
129
+ E -->|Success| F[Success State]
130
+ E -->|Failure| G[Failure State]
131
+ ```
132
+
133
+ #### 6. Error Scenarios
134
+
135
+ | Error Code | Scenario | User Message | Recovery Action |
136
+ |------------|----------|--------------|-----------------|
137
+ | E001 | Network timeout | "Connection lost. Retry?" | Retry button |
138
+ | E002 | Invalid input | "[Field] is invalid" | Highlight field |
139
+ | E003 | Server error | "Something went wrong" | Contact support |
140
+ | ... | ... | ... | ... |
141
+
142
+ #### 7. Acceptance Criteria (Gherkin)
143
+
144
+ ```gherkin
145
+ Feature: [Feature Name]
146
+
147
+ Scenario: Successful [action]
148
+ Given I am on the [page]
149
+ And I am logged in as [user type]
150
+ When I [action]
151
+ Then I should see [expected result]
152
+ And [side effect] should happen
153
+
154
+ Scenario: Failed [action] due to [reason]
155
+ Given I am on the [page]
156
+ When I [action] with [invalid data]
157
+ Then I should see error message "[message]"
158
+ And the form should not be submitted
159
+ ```
160
+ ```
161
+
162
+ ---
163
+
164
+ ## Phase 5: API & Data Requirements Template
165
+
166
+ ```markdown
167
+ ## Data Requirements
168
+
169
+ ### Data Entities
170
+ | Entity | Fields | Source | Update Frequency |
171
+ |--------|--------|--------|-----------------|
172
+ | User | id, name, email | Backend | On change |
173
+ | ... | ... | ... | ... |
174
+
175
+ ### API Endpoints Needed
176
+ | Method | Endpoint | Purpose | Request | Response |
177
+ |--------|----------|---------|---------|----------|
178
+ | GET | /api/users | List users | - | User[] |
179
+ | POST | /api/users | Create user | UserInput | User |
180
+ | ... | ... | ... | ... | ... |
181
+
182
+ ### Data Validation Rules
183
+ | Field | Type | Required | Validation |
184
+ |-------|------|----------|------------|
185
+ | email | string | Yes | Valid email format |
186
+ | password | string | Yes | Min 8 chars, 1 number, 1 special |
187
+ | ... | ... | ... | ... |
188
+ ```
189
+
190
+ ---
191
+
192
+ ## Phase 6: Analytics & Tracking Template
193
+
194
+ ```markdown
195
+ ## Analytics Requirements
196
+
197
+ ### Key Metrics
198
+ | Metric | Definition | Target | Tracking Event |
199
+ |--------|------------|--------|----------------|
200
+ | Conversion Rate | Users completing action / Total users | >5% | action_complete |
201
+ | Time to Complete | Avg time from start to finish | <60s | action_duration |
202
+ | Error Rate | Failed actions / Total attempts | <2% | action_error |
203
+
204
+ ### Event Tracking
205
+ | Event Name | Trigger | Properties |
206
+ |------------|---------|------------|
207
+ | page_view | Page load | page_name, referrer |
208
+ | button_click | Button clicked | button_id, button_text |
209
+ | form_submit | Form submitted | form_id, success |
210
+ | error_shown | Error displayed | error_code, error_message |
211
+ ```
212
+
213
+ ---
214
+
215
+ ## Phase 7: Non-Functional Requirements Template
216
+
217
+ ```markdown
218
+ ## Non-Functional Requirements
219
+
220
+ ### Performance
221
+ - Page load time: <=2s on 3G
222
+ - Time to interactive: <=3s
223
+ - API response time: <=500ms p95
224
+
225
+ ### Security
226
+ - Authentication required: Yes/No
227
+ - Authorization levels: [List roles]
228
+ - Data sensitivity: Public/Internal/Confidential/Restricted
229
+
230
+ ### Accessibility
231
+ - WCAG level: AA
232
+ - Screen reader support: Required
233
+ - Keyboard navigation: Full support
234
+
235
+ ### Browser Support
236
+ - Chrome: Latest 2 versions
237
+ - Firefox: Latest 2 versions
238
+ - Safari: Latest 2 versions
239
+ - Edge: Latest 2 versions
240
+ - Mobile: iOS Safari, Chrome Android
241
+
242
+ ### Internationalization
243
+ - Languages: [List]
244
+ - RTL support: Yes/No
245
+ - Date/time formats: Locale-aware
246
+ - Currency formats: Locale-aware
247
+ ```
248
+
249
+ ---
250
+
251
+ ## Deliverables Checklist
252
+
253
+ Every requirement analysis must produce:
254
+
255
+ - [ ] **Project Brief** - Business context, goals, constraints
256
+ - [ ] **User Personas** (2-3 minimum)
257
+ - [ ] **User Story Map** - All stories with priorities
258
+ - [ ] **Feature Specifications** - One per page/screen
259
+ - [ ] **State Matrices** - All component states
260
+ - [ ] **User Flow Diagrams** - Mermaid flowcharts
261
+ - [ ] **Error Scenario Matrix** - All error cases
262
+ - [ ] **Acceptance Criteria** - Gherkin format
263
+ - [ ] **API Requirements** - Endpoints, data models
264
+ - [ ] **Analytics Requirements** - Events, metrics
265
+ - [ ] **Non-Functional Requirements** - Performance, security, a11y
266
+
@@ -0,0 +1,198 @@
1
+ ---
2
+ name: react-best-practices
3
+ description: |
4
+ React and Next.js performance optimization guidelines from Vercel Engineering.
5
+
6
+ Use when:
7
+ - Writing new React components or Next.js pages
8
+ - Implementing data fetching (client or server-side)
9
+ - Reviewing code for performance issues
10
+ - Optimizing bundle size or load times
11
+ - Refactoring React/Next.js codebases
12
+
13
+ Key Features:
14
+ - 40+ rules across 8 categories, prioritized by impact
15
+ - Detailed examples comparing incorrect vs correct implementations
16
+ - Specific impact metrics to guide optimization decisions
17
+
18
+ Categories (by priority):
19
+ - CRITICAL: Eliminating Waterfalls, Bundle Size Optimization
20
+ - HIGH: Server-Side Performance
21
+ - MEDIUM-HIGH: Client-Side Data Fetching
22
+ - MEDIUM: Re-render Optimization, Rendering Performance
23
+ - LOW-MEDIUM: JavaScript Performance
24
+ - LOW: Advanced Patterns
25
+ allowed-tools: [read, write, execute, grep, glob]
26
+ ---
27
+
28
+ # React Best Practices
29
+
30
+ **Version 1.0.0** | Vercel Engineering | January 2026
31
+
32
+ Comprehensive performance optimization guide for React and Next.js applications.
33
+
34
+ ## Quick Reference
35
+
36
+ | Category | Impact | Key Rules |
37
+ |----------|--------|-----------|
38
+ | Eliminating Waterfalls | **CRITICAL** | Promise.all(), defer await, Suspense boundaries |
39
+ | Bundle Size | **CRITICAL** | Avoid barrel imports, dynamic imports, preload |
40
+ | Server-Side | **HIGH** | LRU cache, React.cache(), parallel fetching |
41
+ | Client-Side | **MEDIUM-HIGH** | SWR deduplication, event listener dedup |
42
+ | Re-render | **MEDIUM** | Functional setState, lazy init, transitions |
43
+ | Rendering | **MEDIUM** | content-visibility, hoist JSX, Activity |
44
+ | JavaScript | **LOW-MEDIUM** | Set/Map lookups, cache function results |
45
+ | Advanced | **LOW** | useLatest, event handler refs |
46
+
47
+ ---
48
+
49
+ ## Decision Tree
50
+
51
+ ```
52
+ Performance Issue?
53
+
54
+ ├── Slow initial load?
55
+ │ ├── Check bundle size → `references/bundle-optimization.md`
56
+ │ └── Check waterfalls → `references/eliminating-waterfalls.md`
57
+
58
+ ├── Slow server response?
59
+ │ └── Check server patterns → `references/server-performance.md`
60
+
61
+ ├── UI feels sluggish?
62
+ │ ├── Check re-renders → `references/rerender-optimization.md`
63
+ │ └── Check rendering → `references/rendering-performance.md`
64
+
65
+ └── Data fetching issues?
66
+ └── Check client patterns → `references/client-data-fetching.md`
67
+ ```
68
+
69
+ ---
70
+
71
+ ## 🔴 Critical Rules (Must Follow)
72
+
73
+ ### 1. Avoid Barrel File Imports
74
+
75
+ **Impact: 200-800ms import cost**
76
+
77
+ ```tsx
78
+ // ❌ Incorrect: imports entire library
79
+ import { Check, X, Menu } from 'lucide-react'
80
+
81
+ // ✅ Correct: imports only what you need
82
+ import Check from 'lucide-react/dist/esm/icons/check'
83
+ import X from 'lucide-react/dist/esm/icons/x'
84
+
85
+ // ✅ Alternative: Next.js 13.5+ config
86
+ // next.config.js
87
+ module.exports = {
88
+ experimental: {
89
+ optimizePackageImports: ['lucide-react', '@mui/material']
90
+ }
91
+ }
92
+ ```
93
+
94
+ ### 2. Promise.all() for Independent Operations
95
+
96
+ **Impact: 2-10× improvement**
97
+
98
+ ```tsx
99
+ // ❌ Incorrect: sequential, 3 round trips
100
+ const user = await fetchUser()
101
+ const posts = await fetchPosts()
102
+ const comments = await fetchComments()
103
+
104
+ // ✅ Correct: parallel, 1 round trip
105
+ const [user, posts, comments] = await Promise.all([
106
+ fetchUser(),
107
+ fetchPosts(),
108
+ fetchComments()
109
+ ])
110
+ ```
111
+
112
+ ### 3. Dynamic Imports for Heavy Components
113
+
114
+ **Impact: Directly affects TTI and LCP**
115
+
116
+ ```tsx
117
+ // ❌ Incorrect: Monaco bundles with main chunk ~300KB
118
+ import { MonacoEditor } from './monaco-editor'
119
+
120
+ // ✅ Correct: Monaco loads on demand
121
+ import dynamic from 'next/dynamic'
122
+
123
+ const MonacoEditor = dynamic(
124
+ () => import('./monaco-editor').then(m => m.MonacoEditor),
125
+ { ssr: false }
126
+ )
127
+ ```
128
+
129
+ ### 4. Strategic Suspense Boundaries
130
+
131
+ **Impact: Faster initial paint**
132
+
133
+ ```tsx
134
+ // ❌ Incorrect: wrapper blocked by data fetching
135
+ async function Page() {
136
+ const data = await fetchData() // Blocks entire page
137
+ return (
138
+ <div>
139
+ <Sidebar />
140
+ <DataDisplay data={data} />
141
+ </div>
142
+ )
143
+ }
144
+
145
+ // ✅ Correct: wrapper shows immediately
146
+ function Page() {
147
+ return (
148
+ <div>
149
+ <Sidebar />
150
+ <Suspense fallback={<Skeleton />}>
151
+ <DataDisplay />
152
+ </Suspense>
153
+ </div>
154
+ )
155
+ }
156
+
157
+ async function DataDisplay() {
158
+ const data = await fetchData() // Only blocks this component
159
+ return <div>{data.content}</div>
160
+ }
161
+ ```
162
+
163
+ ---
164
+
165
+ ## Reference Navigation
166
+
167
+ | Situation | Read This |
168
+ |-----------|-----------|
169
+ | Bundle too large | `references/bundle-optimization.md` |
170
+ | Slow initial load | `references/eliminating-waterfalls.md` |
171
+ | Server response slow | `references/server-performance.md` |
172
+ | Client data fetching | `references/client-data-fetching.md` |
173
+ | Too many re-renders | `references/rerender-optimization.md` |
174
+ | Rendering performance | `references/rendering-performance.md` |
175
+ | JavaScript hot paths | `references/javascript-performance.md` |
176
+ | Advanced patterns | `references/advanced-patterns.md` |
177
+ | **Complete guide** | `references/complete-guide.md` |
178
+
179
+ ---
180
+
181
+ ## Output Contract
182
+
183
+ ```markdown
184
+ ## Performance Review
185
+
186
+ ### Issues Found
187
+ | Priority | Issue | File:Line | Fix |
188
+ |----------|-------|-----------|-----|
189
+ | CRITICAL | Barrel import | src/App.tsx:5 | Direct import |
190
+ | HIGH | Sequential await | src/api.ts:20 | Promise.all() |
191
+
192
+ ### Recommendations
193
+ - [List of specific improvements]
194
+
195
+ ### Impact Estimate
196
+ - Bundle size: -X KB
197
+ - Load time: -X ms
198
+ ```
@@ -0,0 +1,94 @@
1
+ # Advanced Patterns
2
+
3
+ **Impact: LOW**
4
+
5
+ Advanced patterns for specific cases that require careful implementation.
6
+
7
+ ---
8
+
9
+ ## 1. Store Event Handlers in Refs
10
+
11
+ **Impact: LOW (stable subscriptions)**
12
+
13
+ Store callbacks in refs when used in effects that shouldn't re-subscribe on callback changes.
14
+
15
+ ```tsx
16
+ // ❌ Incorrect: re-subscribes on every render
17
+ function useWindowEvent(event: string, handler: () => void) {
18
+ useEffect(() => {
19
+ window.addEventListener(event, handler)
20
+ return () => window.removeEventListener(event, handler)
21
+ }, [event, handler])
22
+ }
23
+
24
+ // ✅ Correct: stable subscription
25
+ import { useEffectEvent } from 'react'
26
+
27
+ function useWindowEvent(event: string, handler: () => void) {
28
+ const onEvent = useEffectEvent(handler)
29
+
30
+ useEffect(() => {
31
+ window.addEventListener(event, onEvent)
32
+ return () => window.removeEventListener(event, onEvent)
33
+ }, [event])
34
+ }
35
+ ```
36
+
37
+ `useEffectEvent` provides a cleaner API: it creates a stable function reference that always calls the latest version of the handler.
38
+
39
+ ---
40
+
41
+ ## 2. useLatest for Stable Callback Refs
42
+
43
+ **Impact: LOW (prevents effect re-runs)**
44
+
45
+ Access latest values in callbacks without adding them to dependency arrays.
46
+
47
+ **Implementation:**
48
+
49
+ ```typescript
50
+ function useLatest<T>(value: T) {
51
+ const ref = useRef(value)
52
+ useEffect(() => {
53
+ ref.current = value
54
+ }, [value])
55
+ return ref
56
+ }
57
+ ```
58
+
59
+ **Usage:**
60
+
61
+ ```tsx
62
+ // ❌ Incorrect: effect re-runs on every callback change
63
+ function SearchInput({ onSearch }: { onSearch: (q: string) => void }) {
64
+ const [query, setQuery] = useState('')
65
+
66
+ useEffect(() => {
67
+ const timeout = setTimeout(() => onSearch(query), 300)
68
+ return () => clearTimeout(timeout)
69
+ }, [query, onSearch])
70
+ }
71
+
72
+ // ✅ Correct: stable effect, fresh callback
73
+ function SearchInput({ onSearch }: { onSearch: (q: string) => void }) {
74
+ const [query, setQuery] = useState('')
75
+ const onSearchRef = useLatest(onSearch)
76
+
77
+ useEffect(() => {
78
+ const timeout = setTimeout(() => onSearchRef.current(query), 300)
79
+ return () => clearTimeout(timeout)
80
+ }, [query])
81
+ }
82
+ ```
83
+
84
+ ---
85
+
86
+ ## References
87
+
88
+ 1. https://react.dev
89
+ 2. https://nextjs.org
90
+ 3. https://swr.vercel.app
91
+ 4. https://github.com/shuding/better-all
92
+ 5. https://github.com/isaacs/node-lru-cache
93
+ 6. https://vercel.com/blog/how-we-optimized-package-imports-in-next-js
94
+ 7. https://vercel.com/blog/how-we-made-the-vercel-dashboard-twice-as-fast