thachvd-kit 1.0.29 → 1.0.30

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 (408) hide show
  1. package/README.md +50 -149
  2. package/bin/cli.js +356 -284
  3. package/package.json +1 -10
  4. package/.agent/agents/backend-specialist.md +0 -263
  5. package/.agent/agents/code-archaeologist.md +0 -106
  6. package/.agent/agents/database-architect.md +0 -226
  7. package/.agent/agents/debugger.md +0 -225
  8. package/.agent/agents/devops-engineer.md +0 -242
  9. package/.agent/agents/documentation-writer.md +0 -104
  10. package/.agent/agents/explorer-agent.md +0 -73
  11. package/.agent/agents/frontend-specialist.md +0 -593
  12. package/.agent/agents/game-developer.md +0 -162
  13. package/.agent/agents/mobile-developer.md +0 -377
  14. package/.agent/agents/orchestrator.md +0 -416
  15. package/.agent/agents/penetration-tester.md +0 -188
  16. package/.agent/agents/performance-optimizer.md +0 -187
  17. package/.agent/agents/product-manager.md +0 -112
  18. package/.agent/agents/product-owner.md +0 -95
  19. package/.agent/agents/project-planner.md +0 -406
  20. package/.agent/agents/qa-automation-engineer.md +0 -103
  21. package/.agent/agents/security-auditor.md +0 -170
  22. package/.agent/agents/seo-specialist.md +0 -111
  23. package/.agent/agents/test-engineer.md +0 -158
  24. package/.agent/docs/architecture.md +0 -15
  25. package/.agent/docs/conventions.md +0 -16
  26. package/.agent/docs/getting-started.md +0 -95
  27. package/.agent/docs/project.md +0 -59
  28. package/.agent/docs/tooling.md +0 -136
  29. package/.agent/docs/workflow.md +0 -79
  30. package/.agent/rules/GEMINI.md +0 -62
  31. package/.agent/skills/api-design/SKILL.md +0 -156
  32. package/.agent/skills/api-patterns/SKILL.md +0 -81
  33. package/.agent/skills/api-patterns/api-style.md +0 -42
  34. package/.agent/skills/api-patterns/auth.md +0 -24
  35. package/.agent/skills/api-patterns/documentation.md +0 -26
  36. package/.agent/skills/api-patterns/graphql.md +0 -41
  37. package/.agent/skills/api-patterns/rate-limiting.md +0 -31
  38. package/.agent/skills/api-patterns/response.md +0 -37
  39. package/.agent/skills/api-patterns/rest.md +0 -40
  40. package/.agent/skills/api-patterns/scripts/api_validator.py +0 -211
  41. package/.agent/skills/api-patterns/security-testing.md +0 -122
  42. package/.agent/skills/api-patterns/trpc.md +0 -41
  43. package/.agent/skills/api-patterns/versioning.md +0 -22
  44. package/.agent/skills/app-builder/SKILL.md +0 -75
  45. package/.agent/skills/app-builder/agent-coordination.md +0 -71
  46. package/.agent/skills/app-builder/feature-building.md +0 -53
  47. package/.agent/skills/app-builder/project-detection.md +0 -34
  48. package/.agent/skills/app-builder/scaffolding.md +0 -118
  49. package/.agent/skills/app-builder/tech-stack.md +0 -40
  50. package/.agent/skills/app-builder/templates/SKILL.md +0 -39
  51. package/.agent/skills/app-builder/templates/astro-static/TEMPLATE.md +0 -76
  52. package/.agent/skills/app-builder/templates/chrome-extension/TEMPLATE.md +0 -92
  53. package/.agent/skills/app-builder/templates/cli-tool/TEMPLATE.md +0 -88
  54. package/.agent/skills/app-builder/templates/electron-desktop/TEMPLATE.md +0 -88
  55. package/.agent/skills/app-builder/templates/express-api/TEMPLATE.md +0 -83
  56. package/.agent/skills/app-builder/templates/flutter-app/TEMPLATE.md +0 -90
  57. package/.agent/skills/app-builder/templates/monorepo-turborepo/TEMPLATE.md +0 -90
  58. package/.agent/skills/app-builder/templates/nextjs-fullstack/TEMPLATE.md +0 -122
  59. package/.agent/skills/app-builder/templates/nextjs-saas/TEMPLATE.md +0 -122
  60. package/.agent/skills/app-builder/templates/nextjs-static/TEMPLATE.md +0 -169
  61. package/.agent/skills/app-builder/templates/nuxt-app/TEMPLATE.md +0 -134
  62. package/.agent/skills/app-builder/templates/python-fastapi/TEMPLATE.md +0 -83
  63. package/.agent/skills/app-builder/templates/react-native-app/TEMPLATE.md +0 -119
  64. package/.agent/skills/architecture/SKILL.md +0 -55
  65. package/.agent/skills/architecture/context-discovery.md +0 -43
  66. package/.agent/skills/architecture/examples.md +0 -94
  67. package/.agent/skills/architecture/pattern-selection.md +0 -68
  68. package/.agent/skills/architecture/patterns-reference.md +0 -50
  69. package/.agent/skills/architecture/trade-off-analysis.md +0 -77
  70. package/.agent/skills/bash-linux/SKILL.md +0 -199
  71. package/.agent/skills/behavioral-modes/SKILL.md +0 -242
  72. package/.agent/skills/brainstorming/SKILL.md +0 -163
  73. package/.agent/skills/brainstorming/dynamic-questioning.md +0 -350
  74. package/.agent/skills/clean-code/SKILL.md +0 -201
  75. package/.agent/skills/code-review-checklist/SKILL.md +0 -109
  76. package/.agent/skills/database-design/SKILL.md +0 -52
  77. package/.agent/skills/database-design/database-selection.md +0 -43
  78. package/.agent/skills/database-design/indexing.md +0 -39
  79. package/.agent/skills/database-design/migrations.md +0 -48
  80. package/.agent/skills/database-design/optimization.md +0 -36
  81. package/.agent/skills/database-design/orm-selection.md +0 -30
  82. package/.agent/skills/database-design/schema-design.md +0 -56
  83. package/.agent/skills/database-design/scripts/schema_validator.py +0 -172
  84. package/.agent/skills/deployment-procedures/SKILL.md +0 -241
  85. package/.agent/skills/desktop-design/SKILL.md +0 -25
  86. package/.agent/skills/dispatching-parallel-agents/SKILL.md +0 -112
  87. package/.agent/skills/doc.md +0 -177
  88. package/.agent/skills/docker-patterns/SKILL.md +0 -232
  89. package/.agent/skills/documentation-templates/SKILL.md +0 -194
  90. package/.agent/skills/executing-plans/SKILL.md +0 -61
  91. package/.agent/skills/finishing-a-development-branch/SKILL.md +0 -135
  92. package/.agent/skills/frontend-design/SKILL.md +0 -418
  93. package/.agent/skills/frontend-design/animation-guide.md +0 -331
  94. package/.agent/skills/frontend-design/color-system.md +0 -311
  95. package/.agent/skills/frontend-design/decision-trees.md +0 -418
  96. package/.agent/skills/frontend-design/motion-graphics.md +0 -306
  97. package/.agent/skills/frontend-design/scripts/accessibility_checker.py +0 -183
  98. package/.agent/skills/frontend-design/scripts/ux_audit.py +0 -722
  99. package/.agent/skills/frontend-design/typography-system.md +0 -345
  100. package/.agent/skills/frontend-design/ux-psychology.md +0 -1116
  101. package/.agent/skills/frontend-design/visual-effects.md +0 -383
  102. package/.agent/skills/game-development/2d-games/SKILL.md +0 -119
  103. package/.agent/skills/game-development/3d-games/SKILL.md +0 -135
  104. package/.agent/skills/game-development/SKILL.md +0 -167
  105. package/.agent/skills/game-development/game-art/SKILL.md +0 -185
  106. package/.agent/skills/game-development/game-audio/SKILL.md +0 -190
  107. package/.agent/skills/game-development/game-design/SKILL.md +0 -129
  108. package/.agent/skills/game-development/mobile-games/SKILL.md +0 -108
  109. package/.agent/skills/game-development/multiplayer/SKILL.md +0 -132
  110. package/.agent/skills/game-development/pc-games/SKILL.md +0 -144
  111. package/.agent/skills/game-development/vr-ar/SKILL.md +0 -123
  112. package/.agent/skills/game-development/web-games/SKILL.md +0 -150
  113. package/.agent/skills/geo-fundamentals/SKILL.md +0 -156
  114. package/.agent/skills/geo-fundamentals/scripts/geo_checker.py +0 -289
  115. package/.agent/skills/golang-patterns/SKILL.md +0 -226
  116. package/.agent/skills/golang-testing/SKILL.md +0 -182
  117. package/.agent/skills/i18n-localization/SKILL.md +0 -154
  118. package/.agent/skills/i18n-localization/scripts/i18n_checker.py +0 -241
  119. package/.agent/skills/intelligent-routing/SKILL.md +0 -335
  120. package/.agent/skills/laravel-patterns/SKILL.md +0 -224
  121. package/.agent/skills/laravel-security/SKILL.md +0 -171
  122. package/.agent/skills/laravel-tdd/SKILL.md +0 -149
  123. package/.agent/skills/lint-and-validate/SKILL.md +0 -45
  124. package/.agent/skills/lint-and-validate/scripts/lint_runner.py +0 -184
  125. package/.agent/skills/lint-and-validate/scripts/type_coverage.py +0 -173
  126. package/.agent/skills/mcp-builder/SKILL.md +0 -176
  127. package/.agent/skills/mobile-design/SKILL.md +0 -394
  128. package/.agent/skills/mobile-design/decision-trees.md +0 -516
  129. package/.agent/skills/mobile-design/mobile-backend.md +0 -491
  130. package/.agent/skills/mobile-design/mobile-color-system.md +0 -420
  131. package/.agent/skills/mobile-design/mobile-debugging.md +0 -122
  132. package/.agent/skills/mobile-design/mobile-design-thinking.md +0 -357
  133. package/.agent/skills/mobile-design/mobile-navigation.md +0 -458
  134. package/.agent/skills/mobile-design/mobile-performance.md +0 -767
  135. package/.agent/skills/mobile-design/mobile-testing.md +0 -356
  136. package/.agent/skills/mobile-design/mobile-typography.md +0 -433
  137. package/.agent/skills/mobile-design/platform-android.md +0 -666
  138. package/.agent/skills/mobile-design/platform-ios.md +0 -561
  139. package/.agent/skills/mobile-design/scripts/mobile_audit.py +0 -670
  140. package/.agent/skills/mobile-design/touch-psychology.md +0 -537
  141. package/.agent/skills/nextjs-react-expert/1-async-eliminating-waterfalls.md +0 -312
  142. package/.agent/skills/nextjs-react-expert/2-bundle-bundle-size-optimization.md +0 -240
  143. package/.agent/skills/nextjs-react-expert/3-server-server-side-performance.md +0 -490
  144. package/.agent/skills/nextjs-react-expert/4-client-client-side-data-fetching.md +0 -264
  145. package/.agent/skills/nextjs-react-expert/5-rerender-re-render-optimization.md +0 -581
  146. package/.agent/skills/nextjs-react-expert/6-rendering-rendering-performance.md +0 -432
  147. package/.agent/skills/nextjs-react-expert/7-js-javascript-performance.md +0 -684
  148. package/.agent/skills/nextjs-react-expert/8-advanced-advanced-patterns.md +0 -150
  149. package/.agent/skills/nextjs-react-expert/SKILL.md +0 -286
  150. package/.agent/skills/nextjs-react-expert/scripts/convert_rules.py +0 -222
  151. package/.agent/skills/nextjs-react-expert/scripts/react_performance_checker.py +0 -252
  152. package/.agent/skills/nodejs-best-practices/SKILL.md +0 -333
  153. package/.agent/skills/parallel-agents/SKILL.md +0 -175
  154. package/.agent/skills/performance-profiling/SKILL.md +0 -143
  155. package/.agent/skills/performance-profiling/scripts/lighthouse_audit.py +0 -76
  156. package/.agent/skills/plan-writing/SKILL.md +0 -152
  157. package/.agent/skills/powershell-windows/SKILL.md +0 -167
  158. package/.agent/skills/project-onboarding/SKILL.md +0 -42
  159. package/.agent/skills/python-patterns/SKILL.md +0 -441
  160. package/.agent/skills/react-frontend/SKILL.md +0 -25
  161. package/.agent/skills/receiving-code-review/SKILL.md +0 -120
  162. package/.agent/skills/red-team-tactics/SKILL.md +0 -199
  163. package/.agent/skills/requesting-code-review/SKILL.md +0 -67
  164. package/.agent/skills/rust-pro/SKILL.md +0 -176
  165. package/.agent/skills/seo-fundamentals/SKILL.md +0 -129
  166. package/.agent/skills/seo-fundamentals/scripts/seo_checker.py +0 -219
  167. package/.agent/skills/server-management/SKILL.md +0 -161
  168. package/.agent/skills/subagent-driven-development/SKILL.md +0 -76
  169. package/.agent/skills/systematic-debugging/SKILL.md +0 -109
  170. package/.agent/skills/tailwind-patterns/SKILL.md +0 -269
  171. package/.agent/skills/tdd-workflow/SKILL.md +0 -149
  172. package/.agent/skills/testing-patterns/SKILL.md +0 -178
  173. package/.agent/skills/testing-patterns/scripts/test_runner.py +0 -219
  174. package/.agent/skills/using-git-worktrees/SKILL.md +0 -121
  175. package/.agent/skills/verification-before-completion/SKILL.md +0 -99
  176. package/.agent/skills/vulnerability-scanner/SKILL.md +0 -276
  177. package/.agent/skills/vulnerability-scanner/checklists.md +0 -121
  178. package/.agent/skills/vulnerability-scanner/scripts/security_scan.py +0 -458
  179. package/.agent/skills/web-design-guidelines/SKILL.md +0 -57
  180. package/.agent/skills/webapp-testing/SKILL.md +0 -187
  181. package/.agent/skills/webapp-testing/scripts/playwright_runner.py +0 -173
  182. package/.agent/skills/writing-skills/SKILL.md +0 -170
  183. package/.agent/workflows/brainstorm.md +0 -113
  184. package/.agent/workflows/create.md +0 -59
  185. package/.agent/workflows/debug.md +0 -103
  186. package/.agent/workflows/deploy.md +0 -176
  187. package/.agent/workflows/enhance.md +0 -63
  188. package/.agent/workflows/forge-debug.md +0 -12
  189. package/.agent/workflows/forge-fast.md +0 -22
  190. package/.agent/workflows/forge-release.md +0 -12
  191. package/.agent/workflows/forge-research.md +0 -24
  192. package/.agent/workflows/forge-review.md +0 -12
  193. package/.agent/workflows/forge-task.md +0 -37
  194. package/.agent/workflows/orchestrate.md +0 -237
  195. package/.agent/workflows/plan.md +0 -89
  196. package/.agent/workflows/preview.md +0 -81
  197. package/.agent/workflows/release.md +0 -42
  198. package/.agent/workflows/review.md +0 -125
  199. package/.agent/workflows/simple.md +0 -42
  200. package/.agent/workflows/spec.md +0 -140
  201. package/.agent/workflows/status.md +0 -86
  202. package/.agent/workflows/task.md +0 -59
  203. package/.agent/workflows/test.md +0 -144
  204. package/.agent/workflows/ui-ux-pro-max.md +0 -296
  205. package/agents/backend-specialist.md +0 -263
  206. package/agents/code-archaeologist.md +0 -106
  207. package/agents/database-architect.md +0 -226
  208. package/agents/debugger.md +0 -225
  209. package/agents/devops-engineer.md +0 -242
  210. package/agents/documentation-writer.md +0 -104
  211. package/agents/explorer-agent.md +0 -73
  212. package/agents/frontend-specialist.md +0 -593
  213. package/agents/game-developer.md +0 -162
  214. package/agents/mobile-developer.md +0 -377
  215. package/agents/orchestrator.md +0 -416
  216. package/agents/penetration-tester.md +0 -188
  217. package/agents/performance-optimizer.md +0 -187
  218. package/agents/product-manager.md +0 -112
  219. package/agents/product-owner.md +0 -95
  220. package/agents/project-planner.md +0 -406
  221. package/agents/qa-automation-engineer.md +0 -103
  222. package/agents/security-auditor.md +0 -170
  223. package/agents/seo-specialist.md +0 -111
  224. package/agents/test-engineer.md +0 -158
  225. package/commands/forge-debug.md +0 -12
  226. package/commands/forge-fast.md +0 -22
  227. package/commands/forge-release.md +0 -12
  228. package/commands/forge-research.md +0 -24
  229. package/commands/forge-review.md +0 -12
  230. package/commands/forge-task.md +0 -37
  231. package/kit/PROMPT_RECIPE.md +0 -30
  232. package/kit/README.md +0 -30
  233. package/prompts/debug.md +0 -11
  234. package/prompts/release.md +0 -11
  235. package/prompts/simple.md +0 -11
  236. package/prompts/spec.md +0 -11
  237. package/prompts/task.md +0 -12
  238. package/rules/GEMINI.md +0 -45
  239. package/scripts/auto_preview.py +0 -148
  240. package/scripts/checklist.py +0 -217
  241. package/scripts/session_manager.py +0 -120
  242. package/scripts/verify_all.py +0 -327
  243. package/skills/api-design/SKILL.md +0 -156
  244. package/skills/api-patterns/SKILL.md +0 -81
  245. package/skills/api-patterns/api-style.md +0 -42
  246. package/skills/api-patterns/auth.md +0 -24
  247. package/skills/api-patterns/documentation.md +0 -26
  248. package/skills/api-patterns/graphql.md +0 -41
  249. package/skills/api-patterns/rate-limiting.md +0 -31
  250. package/skills/api-patterns/response.md +0 -37
  251. package/skills/api-patterns/rest.md +0 -40
  252. package/skills/api-patterns/scripts/api_validator.py +0 -211
  253. package/skills/api-patterns/security-testing.md +0 -122
  254. package/skills/api-patterns/trpc.md +0 -41
  255. package/skills/api-patterns/versioning.md +0 -22
  256. package/skills/app-builder/SKILL.md +0 -75
  257. package/skills/app-builder/agent-coordination.md +0 -71
  258. package/skills/app-builder/feature-building.md +0 -53
  259. package/skills/app-builder/project-detection.md +0 -34
  260. package/skills/app-builder/scaffolding.md +0 -118
  261. package/skills/app-builder/tech-stack.md +0 -40
  262. package/skills/app-builder/templates/SKILL.md +0 -39
  263. package/skills/app-builder/templates/astro-static/TEMPLATE.md +0 -76
  264. package/skills/app-builder/templates/chrome-extension/TEMPLATE.md +0 -92
  265. package/skills/app-builder/templates/cli-tool/TEMPLATE.md +0 -88
  266. package/skills/app-builder/templates/electron-desktop/TEMPLATE.md +0 -88
  267. package/skills/app-builder/templates/express-api/TEMPLATE.md +0 -83
  268. package/skills/app-builder/templates/flutter-app/TEMPLATE.md +0 -90
  269. package/skills/app-builder/templates/monorepo-turborepo/TEMPLATE.md +0 -90
  270. package/skills/app-builder/templates/nextjs-fullstack/TEMPLATE.md +0 -122
  271. package/skills/app-builder/templates/nextjs-saas/TEMPLATE.md +0 -122
  272. package/skills/app-builder/templates/nextjs-static/TEMPLATE.md +0 -169
  273. package/skills/app-builder/templates/nuxt-app/TEMPLATE.md +0 -134
  274. package/skills/app-builder/templates/python-fastapi/TEMPLATE.md +0 -83
  275. package/skills/app-builder/templates/react-native-app/TEMPLATE.md +0 -119
  276. package/skills/architecture/SKILL.md +0 -55
  277. package/skills/architecture/context-discovery.md +0 -43
  278. package/skills/architecture/examples.md +0 -94
  279. package/skills/architecture/pattern-selection.md +0 -68
  280. package/skills/architecture/patterns-reference.md +0 -50
  281. package/skills/architecture/trade-off-analysis.md +0 -77
  282. package/skills/bash-linux/SKILL.md +0 -199
  283. package/skills/behavioral-modes/SKILL.md +0 -242
  284. package/skills/brainstorming/SKILL.md +0 -163
  285. package/skills/brainstorming/dynamic-questioning.md +0 -350
  286. package/skills/clean-code/SKILL.md +0 -201
  287. package/skills/code-review-checklist/SKILL.md +0 -142
  288. package/skills/database-design/SKILL.md +0 -52
  289. package/skills/database-design/database-selection.md +0 -43
  290. package/skills/database-design/indexing.md +0 -39
  291. package/skills/database-design/migrations.md +0 -48
  292. package/skills/database-design/optimization.md +0 -36
  293. package/skills/database-design/orm-selection.md +0 -30
  294. package/skills/database-design/schema-design.md +0 -56
  295. package/skills/database-design/scripts/schema_validator.py +0 -172
  296. package/skills/deployment-procedures/SKILL.md +0 -241
  297. package/skills/desktop-design/SKILL.md +0 -25
  298. package/skills/dispatching-parallel-agents/SKILL.md +0 -112
  299. package/skills/doc.md +0 -177
  300. package/skills/docker-patterns/SKILL.md +0 -232
  301. package/skills/documentation-templates/SKILL.md +0 -194
  302. package/skills/executing-plans/SKILL.md +0 -61
  303. package/skills/finishing-a-development-branch/SKILL.md +0 -135
  304. package/skills/frontend-design/SKILL.md +0 -418
  305. package/skills/frontend-design/animation-guide.md +0 -331
  306. package/skills/frontend-design/color-system.md +0 -311
  307. package/skills/frontend-design/decision-trees.md +0 -418
  308. package/skills/frontend-design/motion-graphics.md +0 -306
  309. package/skills/frontend-design/scripts/accessibility_checker.py +0 -183
  310. package/skills/frontend-design/scripts/ux_audit.py +0 -722
  311. package/skills/frontend-design/typography-system.md +0 -345
  312. package/skills/frontend-design/ux-psychology.md +0 -1116
  313. package/skills/frontend-design/visual-effects.md +0 -383
  314. package/skills/game-development/2d-games/SKILL.md +0 -119
  315. package/skills/game-development/3d-games/SKILL.md +0 -135
  316. package/skills/game-development/SKILL.md +0 -167
  317. package/skills/game-development/game-art/SKILL.md +0 -185
  318. package/skills/game-development/game-audio/SKILL.md +0 -190
  319. package/skills/game-development/game-design/SKILL.md +0 -129
  320. package/skills/game-development/mobile-games/SKILL.md +0 -108
  321. package/skills/game-development/multiplayer/SKILL.md +0 -132
  322. package/skills/game-development/pc-games/SKILL.md +0 -144
  323. package/skills/game-development/vr-ar/SKILL.md +0 -123
  324. package/skills/game-development/web-games/SKILL.md +0 -150
  325. package/skills/geo-fundamentals/SKILL.md +0 -156
  326. package/skills/geo-fundamentals/scripts/geo_checker.py +0 -289
  327. package/skills/golang-patterns/SKILL.md +0 -226
  328. package/skills/golang-testing/SKILL.md +0 -182
  329. package/skills/i18n-localization/SKILL.md +0 -154
  330. package/skills/i18n-localization/scripts/i18n_checker.py +0 -241
  331. package/skills/intelligent-routing/SKILL.md +0 -335
  332. package/skills/laravel-patterns/SKILL.md +0 -224
  333. package/skills/laravel-security/SKILL.md +0 -171
  334. package/skills/laravel-tdd/SKILL.md +0 -149
  335. package/skills/lint-and-validate/SKILL.md +0 -45
  336. package/skills/lint-and-validate/scripts/lint_runner.py +0 -184
  337. package/skills/lint-and-validate/scripts/type_coverage.py +0 -173
  338. package/skills/mcp-builder/SKILL.md +0 -176
  339. package/skills/mobile-design/SKILL.md +0 -394
  340. package/skills/mobile-design/decision-trees.md +0 -516
  341. package/skills/mobile-design/mobile-backend.md +0 -491
  342. package/skills/mobile-design/mobile-color-system.md +0 -420
  343. package/skills/mobile-design/mobile-debugging.md +0 -122
  344. package/skills/mobile-design/mobile-design-thinking.md +0 -357
  345. package/skills/mobile-design/mobile-navigation.md +0 -458
  346. package/skills/mobile-design/mobile-performance.md +0 -767
  347. package/skills/mobile-design/mobile-testing.md +0 -356
  348. package/skills/mobile-design/mobile-typography.md +0 -433
  349. package/skills/mobile-design/platform-android.md +0 -666
  350. package/skills/mobile-design/platform-ios.md +0 -561
  351. package/skills/mobile-design/scripts/mobile_audit.py +0 -670
  352. package/skills/mobile-design/touch-psychology.md +0 -537
  353. package/skills/nextjs-react-expert/1-async-eliminating-waterfalls.md +0 -312
  354. package/skills/nextjs-react-expert/2-bundle-bundle-size-optimization.md +0 -240
  355. package/skills/nextjs-react-expert/3-server-server-side-performance.md +0 -490
  356. package/skills/nextjs-react-expert/4-client-client-side-data-fetching.md +0 -264
  357. package/skills/nextjs-react-expert/5-rerender-re-render-optimization.md +0 -581
  358. package/skills/nextjs-react-expert/6-rendering-rendering-performance.md +0 -432
  359. package/skills/nextjs-react-expert/7-js-javascript-performance.md +0 -684
  360. package/skills/nextjs-react-expert/8-advanced-advanced-patterns.md +0 -150
  361. package/skills/nextjs-react-expert/SKILL.md +0 -286
  362. package/skills/nextjs-react-expert/scripts/convert_rules.py +0 -222
  363. package/skills/nextjs-react-expert/scripts/react_performance_checker.py +0 -252
  364. package/skills/nodejs-best-practices/SKILL.md +0 -333
  365. package/skills/parallel-agents/SKILL.md +0 -175
  366. package/skills/performance-profiling/SKILL.md +0 -143
  367. package/skills/performance-profiling/scripts/lighthouse_audit.py +0 -76
  368. package/skills/plan-writing/SKILL.md +0 -152
  369. package/skills/powershell-windows/SKILL.md +0 -167
  370. package/skills/project-onboarding/SKILL.md +0 -42
  371. package/skills/python-patterns/SKILL.md +0 -441
  372. package/skills/react-frontend/SKILL.md +0 -25
  373. package/skills/receiving-code-review/SKILL.md +0 -120
  374. package/skills/red-team-tactics/SKILL.md +0 -199
  375. package/skills/requesting-code-review/SKILL.md +0 -67
  376. package/skills/rust-pro/SKILL.md +0 -176
  377. package/skills/seo-fundamentals/SKILL.md +0 -129
  378. package/skills/seo-fundamentals/scripts/seo_checker.py +0 -219
  379. package/skills/server-management/SKILL.md +0 -161
  380. package/skills/subagent-driven-development/SKILL.md +0 -76
  381. package/skills/systematic-debugging/SKILL.md +0 -109
  382. package/skills/tailwind-patterns/SKILL.md +0 -269
  383. package/skills/tdd-workflow/SKILL.md +0 -173
  384. package/skills/testing-patterns/SKILL.md +0 -178
  385. package/skills/testing-patterns/scripts/test_runner.py +0 -219
  386. package/skills/using-git-worktrees/SKILL.md +0 -121
  387. package/skills/verification-before-completion/SKILL.md +0 -113
  388. package/skills/vulnerability-scanner/SKILL.md +0 -276
  389. package/skills/vulnerability-scanner/checklists.md +0 -121
  390. package/skills/vulnerability-scanner/scripts/security_scan.py +0 -458
  391. package/skills/web-design-guidelines/SKILL.md +0 -57
  392. package/skills/webapp-testing/SKILL.md +0 -187
  393. package/skills/webapp-testing/scripts/playwright_runner.py +0 -173
  394. package/skills/writing-skills/SKILL.md +0 -170
  395. package/workflows/brainstorm.md +0 -113
  396. package/workflows/create.md +0 -59
  397. package/workflows/debug.md +0 -103
  398. package/workflows/deploy.md +0 -176
  399. package/workflows/enhance.md +0 -63
  400. package/workflows/orchestrate.md +0 -237
  401. package/workflows/plan.md +0 -89
  402. package/workflows/preview.md +0 -81
  403. package/workflows/release.md +0 -42
  404. package/workflows/simple.md +0 -42
  405. package/workflows/status.md +0 -86
  406. package/workflows/task.md +0 -59
  407. package/workflows/test.md +0 -144
  408. package/workflows/ui-ux-pro-max.md +0 -296
@@ -1,432 +0,0 @@
1
- # 6. Rendering Performance
2
-
3
- > **Impact:** MEDIUM
4
- > **Focus:** Optimizing the rendering process reduces the work the browser needs to do.
5
-
6
- ---
7
-
8
- ## Overview
9
-
10
- This section contains **9 rules** focused on rendering performance.
11
-
12
- ---
13
-
14
- ## Rule 6.1: Animate SVG Wrapper Instead of SVG Element
15
-
16
- **Impact:** LOW
17
- **Tags:** rendering, svg, css, animation, performance
18
-
19
- ## Animate SVG Wrapper Instead of SVG Element
20
-
21
- Many browsers don't have hardware acceleration for CSS3 animations on SVG elements. Wrap SVG in a `<div>` and animate the wrapper instead.
22
-
23
- **Incorrect (animating SVG directly - no hardware acceleration):**
24
-
25
- ```tsx
26
- function LoadingSpinner() {
27
- return (
28
- <svg
29
- className="animate-spin"
30
- width="24"
31
- height="24"
32
- viewBox="0 0 24 24"
33
- >
34
- <circle cx="12" cy="12" r="10" stroke="currentColor" />
35
- </svg>
36
- )
37
- }
38
- ```
39
-
40
- **Correct (animating wrapper div - hardware accelerated):**
41
-
42
- ```tsx
43
- function LoadingSpinner() {
44
- return (
45
- <div className="animate-spin">
46
- <svg
47
- width="24"
48
- height="24"
49
- viewBox="0 0 24 24"
50
- >
51
- <circle cx="12" cy="12" r="10" stroke="currentColor" />
52
- </svg>
53
- </div>
54
- )
55
- }
56
- ```
57
-
58
- This applies to all CSS transforms and transitions (`transform`, `opacity`, `translate`, `scale`, `rotate`). The wrapper div allows browsers to use GPU acceleration for smoother animations.
59
-
60
- ---
61
-
62
- ## Rule 6.2: CSS content-visibility for Long Lists
63
-
64
- **Impact:** HIGH
65
- **Tags:** rendering, css, content-visibility, long-lists
66
-
67
- ## CSS content-visibility for Long Lists
68
-
69
- Apply `content-visibility: auto` to defer off-screen rendering.
70
-
71
- **CSS:**
72
-
73
- ```css
74
- .message-item {
75
- content-visibility: auto;
76
- contain-intrinsic-size: 0 80px;
77
- }
78
- ```
79
-
80
- **Example:**
81
-
82
- ```tsx
83
- function MessageList({ messages }: { messages: Message[] }) {
84
- return (
85
- <div className="overflow-y-auto h-screen">
86
- {messages.map(msg => (
87
- <div key={msg.id} className="message-item">
88
- <Avatar user={msg.author} />
89
- <div>{msg.content}</div>
90
- </div>
91
- ))}
92
- </div>
93
- )
94
- }
95
- ```
96
-
97
- For 1000 messages, browser skips layout/paint for ~990 off-screen items (10× faster initial render).
98
-
99
- ---
100
-
101
- ## Rule 6.3: Hoist Static JSX Elements
102
-
103
- **Impact:** LOW
104
- **Tags:** rendering, jsx, static, optimization
105
-
106
- ## Hoist Static JSX Elements
107
-
108
- Extract static JSX outside components to avoid re-creation.
109
-
110
- **Incorrect (recreates element every render):**
111
-
112
- ```tsx
113
- function LoadingSkeleton() {
114
- return <div className="animate-pulse h-20 bg-gray-200" />
115
- }
116
-
117
- function Container() {
118
- return (
119
- <div>
120
- {loading && <LoadingSkeleton />}
121
- </div>
122
- )
123
- }
124
- ```
125
-
126
- **Correct (reuses same element):**
127
-
128
- ```tsx
129
- const loadingSkeleton = (
130
- <div className="animate-pulse h-20 bg-gray-200" />
131
- )
132
-
133
- function Container() {
134
- return (
135
- <div>
136
- {loading && loadingSkeleton}
137
- </div>
138
- )
139
- }
140
- ```
141
-
142
- This is especially helpful for large and static SVG nodes, which can be expensive to recreate on every render.
143
-
144
- **Note:** If your project has [React Compiler](https://react.dev/learn/react-compiler) enabled, the compiler automatically hoists static JSX elements and optimizes component re-renders, making manual hoisting unnecessary.
145
-
146
- ---
147
-
148
- ## Rule 6.4: Optimize SVG Precision
149
-
150
- **Impact:** LOW
151
- **Tags:** rendering, svg, optimization, svgo
152
-
153
- ## Optimize SVG Precision
154
-
155
- Reduce SVG coordinate precision to decrease file size. The optimal precision depends on the viewBox size, but in general reducing precision should be considered.
156
-
157
- **Incorrect (excessive precision):**
158
-
159
- ```svg
160
- <path d="M 10.293847 20.847362 L 30.938472 40.192837" />
161
- ```
162
-
163
- **Correct (1 decimal place):**
164
-
165
- ```svg
166
- <path d="M 10.3 20.8 L 30.9 40.2" />
167
- ```
168
-
169
- **Automate with SVGO:**
170
-
171
- ```bash
172
- npx svgo --precision=1 --multipass icon.svg
173
- ```
174
-
175
- ---
176
-
177
- ## Rule 6.5: Prevent Hydration Mismatch Without Flickering
178
-
179
- **Impact:** MEDIUM
180
- **Tags:** rendering, ssr, hydration, localStorage, flicker
181
-
182
- ## Prevent Hydration Mismatch Without Flickering
183
-
184
- When rendering content that depends on client-side storage (localStorage, cookies), avoid both SSR breakage and post-hydration flickering by injecting a synchronous script that updates the DOM before React hydrates.
185
-
186
- **Incorrect (breaks SSR):**
187
-
188
- ```tsx
189
- function ThemeWrapper({ children }: { children: ReactNode }) {
190
- // localStorage is not available on server - throws error
191
- const theme = localStorage.getItem('theme') || 'light'
192
-
193
- return (
194
- <div className={theme}>
195
- {children}
196
- </div>
197
- )
198
- }
199
- ```
200
-
201
- Server-side rendering will fail because `localStorage` is undefined.
202
-
203
- **Incorrect (visual flickering):**
204
-
205
- ```tsx
206
- function ThemeWrapper({ children }: { children: ReactNode }) {
207
- const [theme, setTheme] = useState('light')
208
-
209
- useEffect(() => {
210
- // Runs after hydration - causes visible flash
211
- const stored = localStorage.getItem('theme')
212
- if (stored) {
213
- setTheme(stored)
214
- }
215
- }, [])
216
-
217
- return (
218
- <div className={theme}>
219
- {children}
220
- </div>
221
- )
222
- }
223
- ```
224
-
225
- Component first renders with default value (`light`), then updates after hydration, causing a visible flash of incorrect content.
226
-
227
- **Correct (no flicker, no hydration mismatch):**
228
-
229
- ```tsx
230
- function ThemeWrapper({ children }: { children: ReactNode }) {
231
- return (
232
- <>
233
- <div id="theme-wrapper">
234
- {children}
235
- </div>
236
- <script
237
- dangerouslySetInnerHTML={{
238
- __html: `
239
- (function() {
240
- try {
241
- var theme = localStorage.getItem('theme') || 'light';
242
- var el = document.getElementById('theme-wrapper');
243
- if (el) el.className = theme;
244
- } catch (e) {}
245
- })();
246
- `,
247
- }}
248
- />
249
- </>
250
- )
251
- }
252
- ```
253
-
254
- The inline script executes synchronously before showing the element, ensuring the DOM already has the correct value. No flickering, no hydration mismatch.
255
-
256
- This pattern is especially useful for theme toggles, user preferences, authentication states, and any client-only data that should render immediately without flashing default values.
257
-
258
- ---
259
-
260
- ## Rule 6.6: Suppress Expected Hydration Mismatches
261
-
262
- **Impact:** LOW-MEDIUM
263
- **Tags:** rendering, hydration, ssr, nextjs
264
-
265
- ## Suppress Expected Hydration Mismatches
266
-
267
- In SSR frameworks (e.g., Next.js), some values are intentionally different on server vs client (random IDs, dates, locale/timezone formatting). For these *expected* mismatches, wrap the dynamic text in an element with `suppressHydrationWarning` to prevent noisy warnings. Do not use this to hide real bugs. Don’t overuse it.
268
-
269
- **Incorrect (known mismatch warnings):**
270
-
271
- ```tsx
272
- function Timestamp() {
273
- return <span>{new Date().toLocaleString()}</span>
274
- }
275
- ```
276
-
277
- **Correct (suppress expected mismatch only):**
278
-
279
- ```tsx
280
- function Timestamp() {
281
- return (
282
- <span suppressHydrationWarning>
283
- {new Date().toLocaleString()}
284
- </span>
285
- )
286
- }
287
- ```
288
-
289
- ---
290
-
291
- ## Rule 6.7: Use Activity Component for Show/Hide
292
-
293
- **Impact:** MEDIUM
294
- **Tags:** rendering, activity, visibility, state-preservation
295
-
296
- ## Use Activity Component for Show/Hide
297
-
298
- Use React's `<Activity>` to preserve state/DOM for expensive components that frequently toggle visibility.
299
-
300
- **Usage:**
301
-
302
- ```tsx
303
- import { Activity } from 'react'
304
-
305
- function Dropdown({ isOpen }: Props) {
306
- return (
307
- <Activity mode={isOpen ? 'visible' : 'hidden'}>
308
- <ExpensiveMenu />
309
- </Activity>
310
- )
311
- }
312
- ```
313
-
314
- Avoids expensive re-renders and state loss.
315
-
316
- ---
317
-
318
- ## Rule 6.8: Use Explicit Conditional Rendering
319
-
320
- **Impact:** LOW
321
- **Tags:** rendering, conditional, jsx, falsy-values
322
-
323
- ## Use Explicit Conditional Rendering
324
-
325
- Use explicit ternary operators (`? :`) instead of `&&` for conditional rendering when the condition can be `0`, `NaN`, or other falsy values that render.
326
-
327
- **Incorrect (renders "0" when count is 0):**
328
-
329
- ```tsx
330
- function Badge({ count }: { count: number }) {
331
- return (
332
- <div>
333
- {count && <span className="badge">{count}</span>}
334
- </div>
335
- )
336
- }
337
-
338
- // When count = 0, renders: <div>0</div>
339
- // When count = 5, renders: <div><span class="badge">5</span></div>
340
- ```
341
-
342
- **Correct (renders nothing when count is 0):**
343
-
344
- ```tsx
345
- function Badge({ count }: { count: number }) {
346
- return (
347
- <div>
348
- {count > 0 ? <span className="badge">{count}</span> : null}
349
- </div>
350
- )
351
- }
352
-
353
- // When count = 0, renders: <div></div>
354
- // When count = 5, renders: <div><span class="badge">5</span></div>
355
- ```
356
-
357
- ---
358
-
359
- ## Rule 6.9: Use useTransition Over Manual Loading States
360
-
361
- **Impact:** LOW
362
- **Tags:** rendering, transitions, useTransition, loading, state
363
-
364
- ## Use useTransition Over Manual Loading States
365
-
366
- Use `useTransition` instead of manual `useState` for loading states. This provides built-in `isPending` state and automatically manages transitions.
367
-
368
- **Incorrect (manual loading state):**
369
-
370
- ```tsx
371
- function SearchResults() {
372
- const [query, setQuery] = useState('')
373
- const [results, setResults] = useState([])
374
- const [isLoading, setIsLoading] = useState(false)
375
-
376
- const handleSearch = async (value: string) => {
377
- setIsLoading(true)
378
- setQuery(value)
379
- const data = await fetchResults(value)
380
- setResults(data)
381
- setIsLoading(false)
382
- }
383
-
384
- return (
385
- <>
386
- <input onChange={(e) => handleSearch(e.target.value)} />
387
- {isLoading && <Spinner />}
388
- <ResultsList results={results} />
389
- </>
390
- )
391
- }
392
- ```
393
-
394
- **Correct (useTransition with built-in pending state):**
395
-
396
- ```tsx
397
- import { useTransition, useState } from 'react'
398
-
399
- function SearchResults() {
400
- const [query, setQuery] = useState('')
401
- const [results, setResults] = useState([])
402
- const [isPending, startTransition] = useTransition()
403
-
404
- const handleSearch = (value: string) => {
405
- setQuery(value) // Update input immediately
406
-
407
- startTransition(async () => {
408
- // Fetch and update results
409
- const data = await fetchResults(value)
410
- setResults(data)
411
- })
412
- }
413
-
414
- return (
415
- <>
416
- <input onChange={(e) => handleSearch(e.target.value)} />
417
- {isPending && <Spinner />}
418
- <ResultsList results={results} />
419
- </>
420
- )
421
- }
422
- ```
423
-
424
- **Benefits:**
425
-
426
- - **Automatic pending state**: No need to manually manage `setIsLoading(true/false)`
427
- - **Error resilience**: Pending state correctly resets even if the transition throws
428
- - **Better responsiveness**: Keeps the UI responsive during updates
429
- - **Interrupt handling**: New transitions automatically cancel pending ones
430
-
431
- Reference: [useTransition](https://react.dev/reference/react/useTransition)
432
-