thachvd-kit 1.0.28 → 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 (396) hide show
  1. package/README.md +50 -148
  2. package/bin/cli.js +439 -293
  3. package/package.json +1 -9
  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 -92
  27. package/.agent/docs/project.md +0 -59
  28. package/.agent/docs/tooling.md +0 -136
  29. package/.agent/docs/workflow.md +0 -78
  30. package/.agent/rules/GEMINI.md +0 -61
  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/orchestrate.md +0 -237
  189. package/.agent/workflows/plan.md +0 -89
  190. package/.agent/workflows/preview.md +0 -81
  191. package/.agent/workflows/release.md +0 -42
  192. package/.agent/workflows/review.md +0 -125
  193. package/.agent/workflows/simple.md +0 -42
  194. package/.agent/workflows/spec.md +0 -140
  195. package/.agent/workflows/status.md +0 -86
  196. package/.agent/workflows/task.md +0 -59
  197. package/.agent/workflows/test.md +0 -144
  198. package/.agent/workflows/ui-ux-pro-max.md +0 -296
  199. package/agents/backend-specialist.md +0 -263
  200. package/agents/code-archaeologist.md +0 -106
  201. package/agents/database-architect.md +0 -226
  202. package/agents/debugger.md +0 -225
  203. package/agents/devops-engineer.md +0 -242
  204. package/agents/documentation-writer.md +0 -104
  205. package/agents/explorer-agent.md +0 -73
  206. package/agents/frontend-specialist.md +0 -593
  207. package/agents/game-developer.md +0 -162
  208. package/agents/mobile-developer.md +0 -377
  209. package/agents/orchestrator.md +0 -416
  210. package/agents/penetration-tester.md +0 -188
  211. package/agents/performance-optimizer.md +0 -187
  212. package/agents/product-manager.md +0 -112
  213. package/agents/product-owner.md +0 -95
  214. package/agents/project-planner.md +0 -406
  215. package/agents/qa-automation-engineer.md +0 -103
  216. package/agents/security-auditor.md +0 -170
  217. package/agents/seo-specialist.md +0 -111
  218. package/agents/test-engineer.md +0 -158
  219. package/kit/PROMPT_RECIPE.md +0 -30
  220. package/kit/README.md +0 -30
  221. package/prompts/debug.md +0 -11
  222. package/prompts/release.md +0 -11
  223. package/prompts/simple.md +0 -11
  224. package/prompts/spec.md +0 -11
  225. package/prompts/task.md +0 -12
  226. package/rules/GEMINI.md +0 -45
  227. package/scripts/auto_preview.py +0 -148
  228. package/scripts/checklist.py +0 -217
  229. package/scripts/session_manager.py +0 -120
  230. package/scripts/verify_all.py +0 -327
  231. package/skills/api-design/SKILL.md +0 -156
  232. package/skills/api-patterns/SKILL.md +0 -81
  233. package/skills/api-patterns/api-style.md +0 -42
  234. package/skills/api-patterns/auth.md +0 -24
  235. package/skills/api-patterns/documentation.md +0 -26
  236. package/skills/api-patterns/graphql.md +0 -41
  237. package/skills/api-patterns/rate-limiting.md +0 -31
  238. package/skills/api-patterns/response.md +0 -37
  239. package/skills/api-patterns/rest.md +0 -40
  240. package/skills/api-patterns/scripts/api_validator.py +0 -211
  241. package/skills/api-patterns/security-testing.md +0 -122
  242. package/skills/api-patterns/trpc.md +0 -41
  243. package/skills/api-patterns/versioning.md +0 -22
  244. package/skills/app-builder/SKILL.md +0 -75
  245. package/skills/app-builder/agent-coordination.md +0 -71
  246. package/skills/app-builder/feature-building.md +0 -53
  247. package/skills/app-builder/project-detection.md +0 -34
  248. package/skills/app-builder/scaffolding.md +0 -118
  249. package/skills/app-builder/tech-stack.md +0 -40
  250. package/skills/app-builder/templates/SKILL.md +0 -39
  251. package/skills/app-builder/templates/astro-static/TEMPLATE.md +0 -76
  252. package/skills/app-builder/templates/chrome-extension/TEMPLATE.md +0 -92
  253. package/skills/app-builder/templates/cli-tool/TEMPLATE.md +0 -88
  254. package/skills/app-builder/templates/electron-desktop/TEMPLATE.md +0 -88
  255. package/skills/app-builder/templates/express-api/TEMPLATE.md +0 -83
  256. package/skills/app-builder/templates/flutter-app/TEMPLATE.md +0 -90
  257. package/skills/app-builder/templates/monorepo-turborepo/TEMPLATE.md +0 -90
  258. package/skills/app-builder/templates/nextjs-fullstack/TEMPLATE.md +0 -122
  259. package/skills/app-builder/templates/nextjs-saas/TEMPLATE.md +0 -122
  260. package/skills/app-builder/templates/nextjs-static/TEMPLATE.md +0 -169
  261. package/skills/app-builder/templates/nuxt-app/TEMPLATE.md +0 -134
  262. package/skills/app-builder/templates/python-fastapi/TEMPLATE.md +0 -83
  263. package/skills/app-builder/templates/react-native-app/TEMPLATE.md +0 -119
  264. package/skills/architecture/SKILL.md +0 -55
  265. package/skills/architecture/context-discovery.md +0 -43
  266. package/skills/architecture/examples.md +0 -94
  267. package/skills/architecture/pattern-selection.md +0 -68
  268. package/skills/architecture/patterns-reference.md +0 -50
  269. package/skills/architecture/trade-off-analysis.md +0 -77
  270. package/skills/bash-linux/SKILL.md +0 -199
  271. package/skills/behavioral-modes/SKILL.md +0 -242
  272. package/skills/brainstorming/SKILL.md +0 -163
  273. package/skills/brainstorming/dynamic-questioning.md +0 -350
  274. package/skills/clean-code/SKILL.md +0 -201
  275. package/skills/code-review-checklist/SKILL.md +0 -142
  276. package/skills/database-design/SKILL.md +0 -52
  277. package/skills/database-design/database-selection.md +0 -43
  278. package/skills/database-design/indexing.md +0 -39
  279. package/skills/database-design/migrations.md +0 -48
  280. package/skills/database-design/optimization.md +0 -36
  281. package/skills/database-design/orm-selection.md +0 -30
  282. package/skills/database-design/schema-design.md +0 -56
  283. package/skills/database-design/scripts/schema_validator.py +0 -172
  284. package/skills/deployment-procedures/SKILL.md +0 -241
  285. package/skills/desktop-design/SKILL.md +0 -25
  286. package/skills/dispatching-parallel-agents/SKILL.md +0 -112
  287. package/skills/doc.md +0 -177
  288. package/skills/docker-patterns/SKILL.md +0 -232
  289. package/skills/documentation-templates/SKILL.md +0 -194
  290. package/skills/executing-plans/SKILL.md +0 -61
  291. package/skills/finishing-a-development-branch/SKILL.md +0 -135
  292. package/skills/frontend-design/SKILL.md +0 -418
  293. package/skills/frontend-design/animation-guide.md +0 -331
  294. package/skills/frontend-design/color-system.md +0 -311
  295. package/skills/frontend-design/decision-trees.md +0 -418
  296. package/skills/frontend-design/motion-graphics.md +0 -306
  297. package/skills/frontend-design/scripts/accessibility_checker.py +0 -183
  298. package/skills/frontend-design/scripts/ux_audit.py +0 -722
  299. package/skills/frontend-design/typography-system.md +0 -345
  300. package/skills/frontend-design/ux-psychology.md +0 -1116
  301. package/skills/frontend-design/visual-effects.md +0 -383
  302. package/skills/game-development/2d-games/SKILL.md +0 -119
  303. package/skills/game-development/3d-games/SKILL.md +0 -135
  304. package/skills/game-development/SKILL.md +0 -167
  305. package/skills/game-development/game-art/SKILL.md +0 -185
  306. package/skills/game-development/game-audio/SKILL.md +0 -190
  307. package/skills/game-development/game-design/SKILL.md +0 -129
  308. package/skills/game-development/mobile-games/SKILL.md +0 -108
  309. package/skills/game-development/multiplayer/SKILL.md +0 -132
  310. package/skills/game-development/pc-games/SKILL.md +0 -144
  311. package/skills/game-development/vr-ar/SKILL.md +0 -123
  312. package/skills/game-development/web-games/SKILL.md +0 -150
  313. package/skills/geo-fundamentals/SKILL.md +0 -156
  314. package/skills/geo-fundamentals/scripts/geo_checker.py +0 -289
  315. package/skills/golang-patterns/SKILL.md +0 -226
  316. package/skills/golang-testing/SKILL.md +0 -182
  317. package/skills/i18n-localization/SKILL.md +0 -154
  318. package/skills/i18n-localization/scripts/i18n_checker.py +0 -241
  319. package/skills/intelligent-routing/SKILL.md +0 -335
  320. package/skills/laravel-patterns/SKILL.md +0 -224
  321. package/skills/laravel-security/SKILL.md +0 -171
  322. package/skills/laravel-tdd/SKILL.md +0 -149
  323. package/skills/lint-and-validate/SKILL.md +0 -45
  324. package/skills/lint-and-validate/scripts/lint_runner.py +0 -184
  325. package/skills/lint-and-validate/scripts/type_coverage.py +0 -173
  326. package/skills/mcp-builder/SKILL.md +0 -176
  327. package/skills/mobile-design/SKILL.md +0 -394
  328. package/skills/mobile-design/decision-trees.md +0 -516
  329. package/skills/mobile-design/mobile-backend.md +0 -491
  330. package/skills/mobile-design/mobile-color-system.md +0 -420
  331. package/skills/mobile-design/mobile-debugging.md +0 -122
  332. package/skills/mobile-design/mobile-design-thinking.md +0 -357
  333. package/skills/mobile-design/mobile-navigation.md +0 -458
  334. package/skills/mobile-design/mobile-performance.md +0 -767
  335. package/skills/mobile-design/mobile-testing.md +0 -356
  336. package/skills/mobile-design/mobile-typography.md +0 -433
  337. package/skills/mobile-design/platform-android.md +0 -666
  338. package/skills/mobile-design/platform-ios.md +0 -561
  339. package/skills/mobile-design/scripts/mobile_audit.py +0 -670
  340. package/skills/mobile-design/touch-psychology.md +0 -537
  341. package/skills/nextjs-react-expert/1-async-eliminating-waterfalls.md +0 -312
  342. package/skills/nextjs-react-expert/2-bundle-bundle-size-optimization.md +0 -240
  343. package/skills/nextjs-react-expert/3-server-server-side-performance.md +0 -490
  344. package/skills/nextjs-react-expert/4-client-client-side-data-fetching.md +0 -264
  345. package/skills/nextjs-react-expert/5-rerender-re-render-optimization.md +0 -581
  346. package/skills/nextjs-react-expert/6-rendering-rendering-performance.md +0 -432
  347. package/skills/nextjs-react-expert/7-js-javascript-performance.md +0 -684
  348. package/skills/nextjs-react-expert/8-advanced-advanced-patterns.md +0 -150
  349. package/skills/nextjs-react-expert/SKILL.md +0 -286
  350. package/skills/nextjs-react-expert/scripts/convert_rules.py +0 -222
  351. package/skills/nextjs-react-expert/scripts/react_performance_checker.py +0 -252
  352. package/skills/nodejs-best-practices/SKILL.md +0 -333
  353. package/skills/parallel-agents/SKILL.md +0 -175
  354. package/skills/performance-profiling/SKILL.md +0 -143
  355. package/skills/performance-profiling/scripts/lighthouse_audit.py +0 -76
  356. package/skills/plan-writing/SKILL.md +0 -152
  357. package/skills/powershell-windows/SKILL.md +0 -167
  358. package/skills/project-onboarding/SKILL.md +0 -42
  359. package/skills/python-patterns/SKILL.md +0 -441
  360. package/skills/react-frontend/SKILL.md +0 -25
  361. package/skills/receiving-code-review/SKILL.md +0 -120
  362. package/skills/red-team-tactics/SKILL.md +0 -199
  363. package/skills/requesting-code-review/SKILL.md +0 -67
  364. package/skills/rust-pro/SKILL.md +0 -176
  365. package/skills/seo-fundamentals/SKILL.md +0 -129
  366. package/skills/seo-fundamentals/scripts/seo_checker.py +0 -219
  367. package/skills/server-management/SKILL.md +0 -161
  368. package/skills/subagent-driven-development/SKILL.md +0 -76
  369. package/skills/systematic-debugging/SKILL.md +0 -109
  370. package/skills/tailwind-patterns/SKILL.md +0 -269
  371. package/skills/tdd-workflow/SKILL.md +0 -173
  372. package/skills/testing-patterns/SKILL.md +0 -178
  373. package/skills/testing-patterns/scripts/test_runner.py +0 -219
  374. package/skills/using-git-worktrees/SKILL.md +0 -121
  375. package/skills/verification-before-completion/SKILL.md +0 -113
  376. package/skills/vulnerability-scanner/SKILL.md +0 -276
  377. package/skills/vulnerability-scanner/checklists.md +0 -121
  378. package/skills/vulnerability-scanner/scripts/security_scan.py +0 -458
  379. package/skills/web-design-guidelines/SKILL.md +0 -57
  380. package/skills/webapp-testing/SKILL.md +0 -187
  381. package/skills/webapp-testing/scripts/playwright_runner.py +0 -173
  382. package/skills/writing-skills/SKILL.md +0 -170
  383. package/workflows/brainstorm.md +0 -113
  384. package/workflows/create.md +0 -59
  385. package/workflows/debug.md +0 -103
  386. package/workflows/deploy.md +0 -176
  387. package/workflows/enhance.md +0 -63
  388. package/workflows/orchestrate.md +0 -237
  389. package/workflows/plan.md +0 -89
  390. package/workflows/preview.md +0 -81
  391. package/workflows/release.md +0 -42
  392. package/workflows/simple.md +0 -42
  393. package/workflows/status.md +0 -86
  394. package/workflows/task.md +0 -59
  395. package/workflows/test.md +0 -144
  396. package/workflows/ui-ux-pro-max.md +0 -296
@@ -1,150 +0,0 @@
1
- # 8. Advanced Patterns
2
-
3
- > **Impact:** VARIABLE
4
- > **Focus:** Advanced patterns for specific cases that require careful implementation.
5
-
6
- ---
7
-
8
- ## Overview
9
-
10
- This section contains **3 rules** focused on advanced patterns.
11
-
12
- ---
13
-
14
- ## Rule 8.1: Initialize App Once, Not Per Mount
15
-
16
- **Impact:** LOW-MEDIUM
17
- **Tags:** initialization, useEffect, app-startup, side-effects
18
-
19
- ## Initialize App Once, Not Per Mount
20
-
21
- Do not put app-wide initialization that must run once per app load inside `useEffect([])` of a component. Components can remount and effects will re-run. Use a module-level guard or top-level init in the entry module instead.
22
-
23
- **Incorrect (runs twice in dev, re-runs on remount):**
24
-
25
- ```tsx
26
- function Comp() {
27
- useEffect(() => {
28
- loadFromStorage()
29
- checkAuthToken()
30
- }, [])
31
-
32
- // ...
33
- }
34
- ```
35
-
36
- **Correct (once per app load):**
37
-
38
- ```tsx
39
- let didInit = false
40
-
41
- function Comp() {
42
- useEffect(() => {
43
- if (didInit) return
44
- didInit = true
45
- loadFromStorage()
46
- checkAuthToken()
47
- }, [])
48
-
49
- // ...
50
- }
51
- ```
52
-
53
- Reference: [Initializing the application](https://react.dev/learn/you-might-not-need-an-effect#initializing-the-application)
54
-
55
- ---
56
-
57
- ## Rule 8.2: Store Event Handlers in Refs
58
-
59
- **Impact:** LOW
60
- **Tags:** advanced, hooks, refs, event-handlers, optimization
61
-
62
- ## Store Event Handlers in Refs
63
-
64
- Store callbacks in refs when used in effects that shouldn't re-subscribe on callback changes.
65
-
66
- **Incorrect (re-subscribes on every render):**
67
-
68
- ```tsx
69
- function useWindowEvent(event: string, handler: (e) => void) {
70
- useEffect(() => {
71
- window.addEventListener(event, handler)
72
- return () => window.removeEventListener(event, handler)
73
- }, [event, handler])
74
- }
75
- ```
76
-
77
- **Correct (stable subscription):**
78
-
79
- ```tsx
80
- function useWindowEvent(event: string, handler: (e) => void) {
81
- const handlerRef = useRef(handler)
82
- useEffect(() => {
83
- handlerRef.current = handler
84
- }, [handler])
85
-
86
- useEffect(() => {
87
- const listener = (e) => handlerRef.current(e)
88
- window.addEventListener(event, listener)
89
- return () => window.removeEventListener(event, listener)
90
- }, [event])
91
- }
92
- ```
93
-
94
- **Alternative: use `useEffectEvent` if you're on latest React:**
95
-
96
- ```tsx
97
- import { useEffectEvent } from 'react'
98
-
99
- function useWindowEvent(event: string, handler: (e) => void) {
100
- const onEvent = useEffectEvent(handler)
101
-
102
- useEffect(() => {
103
- window.addEventListener(event, onEvent)
104
- return () => window.removeEventListener(event, onEvent)
105
- }, [event])
106
- }
107
- ```
108
-
109
- `useEffectEvent` provides a cleaner API for the same pattern: it creates a stable function reference that always calls the latest version of the handler.
110
-
111
- ---
112
-
113
- ## Rule 8.3: useEffectEvent for Stable Callback Refs
114
-
115
- **Impact:** LOW
116
- **Tags:** advanced, hooks, useEffectEvent, refs, optimization
117
-
118
- ## useEffectEvent for Stable Callback Refs
119
-
120
- Access latest values in callbacks without adding them to dependency arrays. Prevents effect re-runs while avoiding stale closures.
121
-
122
- **Incorrect (effect re-runs on every callback change):**
123
-
124
- ```tsx
125
- function SearchInput({ onSearch }: { onSearch: (q: string) => void }) {
126
- const [query, setQuery] = useState('')
127
-
128
- useEffect(() => {
129
- const timeout = setTimeout(() => onSearch(query), 300)
130
- return () => clearTimeout(timeout)
131
- }, [query, onSearch])
132
- }
133
- ```
134
-
135
- **Correct (using React's useEffectEvent):**
136
-
137
- ```tsx
138
- import { useEffectEvent } from 'react';
139
-
140
- function SearchInput({ onSearch }: { onSearch: (q: string) => void }) {
141
- const [query, setQuery] = useState('')
142
- const onSearchEvent = useEffectEvent(onSearch)
143
-
144
- useEffect(() => {
145
- const timeout = setTimeout(() => onSearchEvent(query), 300)
146
- return () => clearTimeout(timeout)
147
- }, [query])
148
- }
149
- ```
150
-
@@ -1,286 +0,0 @@
1
- ---
2
- name: react-best-practices
3
- description: React and Next.js performance optimization from Vercel Engineering. Use when building React components, optimizing performance, eliminating waterfalls, reducing bundle size, reviewing code for performance issues, or implementing server/client-side optimizations.
4
- allowed-tools: Read, Write, Edit, Glob, Grep, Bash
5
- ---
6
-
7
- # Next.js & React Performance Expert
8
-
9
- > **From Vercel Engineering** - 57 optimization rules prioritized by impact
10
- > **Philosophy:** Eliminate waterfalls first, optimize bundles second, then micro-optimize.
11
-
12
- ---
13
-
14
- ## 🎯 Selective Reading Rule (MANDATORY)
15
-
16
- **Read ONLY sections relevant to your task!** Check the content map below and load what you need.
17
-
18
- > 🔴 **For performance reviews: Start with CRITICAL sections (1-2), then move to HIGH/MEDIUM.**
19
-
20
- ---
21
-
22
- ## 📑 Content Map
23
-
24
- | File | Impact | Rules | When to Read |
25
- | --------------------------------------- | ------------------ | -------- | --------------------------------------------------------------- |
26
- | `1-async-eliminating-waterfalls.md` | 🔴 **CRITICAL** | 5 rules | Slow page loads, sequential API calls, data fetching waterfalls |
27
- | `2-bundle-bundle-size-optimization.md` | 🔴 **CRITICAL** | 5 rules | Large bundle size, slow Time to Interactive, First Load issues |
28
- | `3-server-server-side-performance.md` | 🟠 **HIGH** | 7 rules | Slow SSR, API route optimization, server-side waterfalls |
29
- | `4-client-client-side-data-fetching.md` | 🟡 **MEDIUM-HIGH** | 4 rules | Client data management, SWR patterns, deduplication |
30
- | `5-rerender-re-render-optimization.md` | 🟡 **MEDIUM** | 12 rules | Excessive re-renders, React performance, memoization |
31
- | `6-rendering-rendering-performance.md` | 🟡 **MEDIUM** | 9 rules | Rendering bottlenecks, virtualization, image optimization |
32
- | `7-js-javascript-performance.md` | ⚪ **LOW-MEDIUM** | 12 rules | Micro-optimizations, caching, loop performance |
33
- | `8-advanced-advanced-patterns.md` | 🔵 **VARIABLE** | 3 rules | Advanced React patterns, useLatest, init-once |
34
-
35
- **Total: 57 rules across 8 categories**
36
-
37
- ---
38
-
39
- ## 🚀 Quick Decision Tree
40
-
41
- **What's your performance issue?**
42
-
43
- ```
44
- 🐌 Slow page loads / Long Time to Interactive
45
- → Read Section 1: Eliminating Waterfalls
46
- → Read Section 2: Bundle Size Optimization
47
-
48
- 📦 Large bundle size (> 200KB)
49
- → Read Section 2: Bundle Size Optimization
50
- → Check: Dynamic imports, barrel imports, tree-shaking
51
-
52
- 🖥️ Slow Server-Side Rendering
53
- → Read Section 3: Server-Side Performance
54
- → Check: Parallel data fetching, streaming
55
-
56
- 🔄 Too many re-renders / UI lag
57
- → Read Section 5: Re-render Optimization
58
- → Check: React.memo, useMemo, useCallback
59
-
60
- 🎨 Rendering performance issues
61
- → Read Section 6: Rendering Performance
62
- → Check: Virtualization, layout thrashing
63
-
64
- 🌐 Client-side data fetching problems
65
- → Read Section 4: Client-Side Data Fetching
66
- → Check: SWR deduplication, localStorage
67
-
68
- ✨ Need advanced patterns
69
- → Read Section 8: Advanced Patterns
70
- ```
71
-
72
- ---
73
-
74
- ## 📊 Impact Priority Guide
75
-
76
- **Use this order when doing comprehensive optimization:**
77
-
78
- ```
79
- 1️⃣ CRITICAL (Biggest Gains - Do First):
80
- ├─ Section 1: Eliminating Waterfalls
81
- │ └─ Each waterfall adds full network latency (100-500ms+)
82
- └─ Section 2: Bundle Size Optimization
83
- └─ Affects Time to Interactive and Largest Contentful Paint
84
-
85
- 2️⃣ HIGH (Significant Impact - Do Second):
86
- └─ Section 3: Server-Side Performance
87
- └─ Eliminates server-side waterfalls, faster response times
88
-
89
- 3️⃣ MEDIUM (Moderate Gains - Do Third):
90
- ├─ Section 4: Client-Side Data Fetching
91
- ├─ Section 5: Re-render Optimization
92
- └─ Section 6: Rendering Performance
93
-
94
- 4️⃣ LOW (Polish - Do Last):
95
- ├─ Section 7: JavaScript Performance
96
- └─ Section 8: Advanced Patterns
97
- ```
98
-
99
- ---
100
-
101
- ## 🔗 Related Skills
102
-
103
- | Need | Skill |
104
- | ----------------------- | --------------------------------- |
105
- | API design patterns | `@[skills/api-patterns]` |
106
- | Database optimization | `@[skills/database-design]` |
107
- | Testing strategies | `@[skills/testing-patterns]` |
108
- | UI/UX design principles | `@[skills/frontend-design]` |
109
- | TypeScript patterns | `@[skills/typescript-expert]` |
110
- | Deployment & DevOps | `@[skills/deployment-procedures]` |
111
-
112
- ---
113
-
114
- ## ✅ Performance Review Checklist
115
-
116
- Before shipping to production:
117
-
118
- **Critical (Must Fix):**
119
-
120
- - [ ] No sequential data fetching (waterfalls eliminated)
121
- - [ ] Bundle size < 200KB for main bundle
122
- - [ ] No barrel imports in app code
123
- - [ ] Dynamic imports used for large components
124
- - [ ] Parallel data fetching where possible
125
-
126
- **High Priority:**
127
-
128
- - [ ] Server components used where appropriate
129
- - [ ] API routes optimized (no N+1 queries)
130
- - [ ] Suspense boundaries for data fetching
131
- - [ ] Static generation used where possible
132
-
133
- **Medium Priority:**
134
-
135
- - [ ] Expensive computations memoized
136
- - [ ] List rendering virtualized (if > 100 items)
137
- - [ ] Images optimized with next/image
138
- - [ ] No unnecessary re-renders
139
-
140
- **Low Priority (Polish):**
141
-
142
- - [ ] Hot path loops optimized
143
- - [ ] RegExp patterns hoisted
144
- - [ ] Property access cached in loops
145
-
146
- ---
147
-
148
- ## ❌ Anti-Patterns (Common Mistakes)
149
-
150
- **DON'T:**
151
-
152
- - ❌ Use sequential `await` for independent operations
153
- - ❌ Import entire libraries when you need one function
154
- - ❌ Use barrel exports (`index.ts` re-exports) in app code
155
- - ❌ Skip dynamic imports for large components/libraries
156
- - ❌ Fetch data in useEffect without deduplication
157
- - ❌ Forget to memoize expensive computations
158
- - ❌ Use client components when server components work
159
-
160
- **DO:**
161
-
162
- - ✅ Fetch data in parallel with `Promise.all()`
163
- - ✅ Use dynamic imports: `const Comp = dynamic(() => import('./Heavy'))`
164
- - ✅ Import directly: `import { specific } from 'library/specific'`
165
- - ✅ Use Suspense boundaries for better UX
166
- - ✅ Leverage React Server Components
167
- - ✅ Measure performance before optimizing
168
- - ✅ Use Next.js built-in optimizations (next/image, next/font)
169
-
170
- ---
171
-
172
- ## 🎯 How to Use This Skill
173
-
174
- ### For New Features:
175
-
176
- 1. Check **Section 1 & 2** while building (prevent waterfalls, keep bundle small)
177
- 2. Use server components by default (Section 3)
178
- 3. Apply memoization for expensive operations (Section 5)
179
-
180
- ### For Performance Reviews:
181
-
182
- 1. Start with **Section 1** (waterfalls = biggest impact)
183
- 2. Then **Section 2** (bundle size)
184
- 3. Then **Section 3** (server-side)
185
- 4. Finally other sections as needed
186
-
187
- ### For Debugging Slow Performance:
188
-
189
- 1. Identify the symptom (slow load, lag, etc.)
190
- 2. Use Quick Decision Tree above
191
- 3. Read relevant section
192
- 4. Apply fixes in priority order
193
-
194
- ---
195
-
196
- ## 📚 Learning Path
197
-
198
- **Beginner (Focus on Critical):**
199
- → Section 1: Eliminating Waterfalls
200
- → Section 2: Bundle Size Optimization
201
-
202
- **Intermediate (Add High Priority):**
203
- → Section 3: Server-Side Performance
204
- → Section 5: Re-render Optimization
205
-
206
- **Advanced (Full Optimization):**
207
- → All sections + Section 8: Advanced Patterns
208
-
209
- ---
210
-
211
- ## 🔍 Validation Script
212
-
213
- | Script | Purpose | Command |
214
- | -------------------------------------- | --------------------------- | ------------------------------------------------------------ |
215
- | `scripts/react_performance_checker.py` | Automated performance audit | `python scripts/react_performance_checker.py <project_path>` |
216
-
217
- ---
218
-
219
- ## 📖 Section Details
220
-
221
- ### Section 1: Eliminating Waterfalls (CRITICAL)
222
-
223
- **Impact:** Each waterfall adds 100-500ms+ latency
224
- **Key Concepts:** Parallel fetching, Promise.all(), Suspense boundaries, preloading
225
-
226
- ### Section 2: Bundle Size Optimization (CRITICAL)
227
-
228
- **Impact:** Directly affects Time to Interactive, Largest Contentful Paint
229
- **Key Concepts:** Dynamic imports, tree-shaking, barrel import avoidance
230
-
231
- ### Section 3: Server-Side Performance (HIGH)
232
-
233
- **Impact:** Faster server responses, better SEO
234
- **Key Concepts:** Parallel server fetching, streaming, API route optimization
235
-
236
- ### Section 4: Client-Side Data Fetching (MEDIUM-HIGH)
237
-
238
- **Impact:** Reduces redundant requests, better UX
239
- **Key Concepts:** SWR deduplication, localStorage caching, event listeners
240
-
241
- ### Section 5: Re-render Optimization (MEDIUM)
242
-
243
- **Impact:** Smoother UI, less wasted computation
244
- **Key Concepts:** React.memo, useMemo, useCallback, component structure
245
-
246
- ### Section 6: Rendering Performance (MEDIUM)
247
-
248
- **Impact:** Better rendering efficiency
249
- **Key Concepts:** Virtualization, image optimization, layout thrashing
250
-
251
- ### Section 7: JavaScript Performance (LOW-MEDIUM)
252
-
253
- **Impact:** Incremental improvements in hot paths
254
- **Key Concepts:** Loop optimization, caching, RegExp hoisting
255
-
256
- ### Section 8: Advanced Patterns (VARIABLE)
257
-
258
- **Impact:** Specific use cases
259
- **Key Concepts:** useLatest hook, init-once patterns, event handler refs
260
-
261
- ---
262
-
263
- ## 🎓 Best Practices Summary
264
-
265
- **Golden Rules:**
266
-
267
- 1. **Measure first** - Use React DevTools Profiler, Chrome DevTools
268
- 2. **Biggest impact first** - Waterfalls → Bundle → Server → Micro
269
- 3. **Don't over-optimize** - Focus on real bottlenecks
270
- 4. **Use platform features** - Next.js has optimizations built-in
271
- 5. **Think about users** - Real-world conditions matter
272
-
273
- **Performance Mindset:**
274
-
275
- - Every `await` in sequence = potential waterfall
276
- - Every `import` = potential bundle bloat
277
- - Every re-render = wasted computation (if unnecessary)
278
- - Server components = less JavaScript to ship
279
- - Measure, don't guess
280
-
281
- ---
282
-
283
- **Source:** Vercel Engineering
284
- **Date:** January 2026
285
- **Version:** 1.0.0
286
- **Total Rules:** 57 across 8 categories
@@ -1,222 +0,0 @@
1
- #!/usr/bin/env python3
2
- """
3
- Conversion Script: React Best Practices → .agent Format
4
- Merges 59 individual rules into 8 grouped section files
5
- """
6
-
7
- import os
8
- import re
9
- from pathlib import Path
10
- from typing import Dict, List, Tuple
11
-
12
- # Section metadata from _sections.md
13
- SECTIONS = {
14
- 'async': {
15
- 'number': 1,
16
- 'title': 'Eliminating Waterfalls',
17
- 'impact': 'CRITICAL',
18
- 'description': 'Waterfalls are the #1 performance killer. Each sequential await adds full network latency. Eliminating them yields the largest gains.'
19
- },
20
- 'bundle': {
21
- 'number': 2,
22
- 'title': 'Bundle Size Optimization',
23
- 'impact': 'CRITICAL',
24
- 'description': 'Reducing initial bundle size improves Time to Interactive and Largest Contentful Paint.'
25
- },
26
- 'server': {
27
- 'number': 3,
28
- 'title': 'Server-Side Performance',
29
- 'impact': 'HIGH',
30
- 'description': 'Optimizing server-side rendering and data fetching eliminates server-side waterfalls and reduces response times.'
31
- },
32
- 'client': {
33
- 'number': 4,
34
- 'title': 'Client-Side Data Fetching',
35
- 'impact': 'MEDIUM-HIGH',
36
- 'description': 'Automatic deduplication and efficient data fetching patterns reduce redundant network requests.'
37
- },
38
- 'rerender': {
39
- 'number': 5,
40
- 'title': 'Re-render Optimization',
41
- 'impact': 'MEDIUM',
42
- 'description': 'Reducing unnecessary re-renders minimizes wasted computation and improves UI responsiveness.'
43
- },
44
- 'rendering': {
45
- 'number': 6,
46
- 'title': 'Rendering Performance',
47
- 'impact': 'MEDIUM',
48
- 'description': 'Optimizing the rendering process reduces the work the browser needs to do.'
49
- },
50
- 'js': {
51
- 'number': 7,
52
- 'title': 'JavaScript Performance',
53
- 'impact': 'LOW-MEDIUM',
54
- 'description': 'Micro-optimizations for hot paths can add up to meaningful improvements.'
55
- },
56
- 'advanced': {
57
- 'number': 8,
58
- 'title': 'Advanced Patterns',
59
- 'impact': 'VARIABLE',
60
- 'description': 'Advanced patterns for specific cases that require careful implementation.'
61
- }
62
- }
63
-
64
-
65
- def parse_frontmatter(content: str) -> Tuple[Dict, str]:
66
- """Parse markdown frontmatter and body"""
67
- if not content.startswith('---'):
68
- return {}, content
69
-
70
- parts = content.split('---', 2)
71
- if len(parts) < 3:
72
- return {}, content
73
-
74
- # Parse YAML frontmatter manually (simple key: value)
75
- frontmatter = {}
76
- for line in parts[1].strip().split('\n'):
77
- if ':' in line:
78
- key, value = line.split(':', 1)
79
- frontmatter[key.strip()] = value.strip()
80
-
81
- body = parts[2].strip()
82
- return frontmatter, body
83
-
84
-
85
- def parse_rule_file(filepath: Path) -> Dict:
86
- """Parse a single rule file"""
87
- with open(filepath, 'r', encoding='utf-8') as f:
88
- content = f.read()
89
-
90
- frontmatter, body = parse_frontmatter(content)
91
-
92
- # Extract prefix from filename
93
- filename = filepath.stem
94
- prefix = filename.split('-')[0]
95
-
96
- return {
97
- 'filename': filepath.name,
98
- 'prefix': prefix,
99
- 'title': frontmatter.get('title', filename),
100
- 'impact': frontmatter.get('impact', ''),
101
- 'impactDescription': frontmatter.get('impactDescription', ''),
102
- 'tags': frontmatter.get('tags', ''),
103
- 'body': body,
104
- 'frontmatter': frontmatter
105
- }
106
-
107
-
108
- def group_rules_by_section(rules_dir: Path) -> Dict[str, List[Dict]]:
109
- """Group all rules by their section prefix"""
110
- grouped = {prefix: [] for prefix in SECTIONS.keys()}
111
-
112
- for rule_file in sorted(rules_dir.glob('*.md')):
113
- # Skip special files
114
- if rule_file.name.startswith('_'):
115
- continue
116
-
117
- rule = parse_rule_file(rule_file)
118
- prefix = rule['prefix']
119
-
120
- if prefix in grouped:
121
- grouped[prefix].append(rule)
122
- else:
123
- print(f"[WARNING] Unknown prefix '{prefix}' in file: {rule_file.name}")
124
-
125
- return grouped
126
-
127
-
128
- def generate_section_file(section_prefix: str, rules: List[Dict], output_dir: Path):
129
- """Generate a merged section file"""
130
- if not rules:
131
- print(f"[WARNING] No rules found for section: {section_prefix}")
132
- return
133
-
134
- section_meta = SECTIONS[section_prefix]
135
- section_num = section_meta['number']
136
- section_title = section_meta['title']
137
- impact = section_meta['impact']
138
- description = section_meta['description']
139
-
140
- # Sort rules by title
141
- rules.sort(key=lambda r: r['title'])
142
-
143
- # Build content
144
- content = f"""# {section_num}. {section_title}
145
-
146
- > **Impact:** {impact}
147
- > **Focus:** {description}
148
-
149
- ---
150
-
151
- ## Overview
152
-
153
- This section contains **{len(rules)} rules** focused on {section_title.lower()}.
154
-
155
- """
156
-
157
- # Add each rule
158
- for i, rule in enumerate(rules, 1):
159
- rule_id = f"{section_num}.{i}"
160
- title = rule['title']
161
- rule_impact = rule['impact']
162
- tags = rule['tags']
163
- body = rule['body']
164
-
165
- content += f"""---
166
-
167
- ## Rule {rule_id}: {title}
168
-
169
- """
170
-
171
- if rule_impact:
172
- content += f"**Impact:** {rule_impact} \n"
173
-
174
- if tags:
175
- content += f"**Tags:** {tags} \n"
176
-
177
- content += f"\n{body}\n\n"
178
-
179
- # Write file
180
- output_file = output_dir / f"{section_num}-{section_prefix}-{section_title.lower().replace(' ', '-')}.md"
181
- output_file.write_text(content, encoding='utf-8')
182
- print(f"[OK] Generated: {output_file.name} ({len(rules)} rules)")
183
-
184
-
185
- def main():
186
- """Main conversion function"""
187
- # Paths
188
- base_dir = Path(__file__).parent.parent.parent.parent.parent
189
- rules_dir = base_dir / "others/agent-skills/skills/react-best-practices/rules"
190
- output_dir = base_dir / ".agent/skills/react-best-practices"
191
-
192
- print(f"[*] Reading rules from: {rules_dir}")
193
- print(f"[*] Output to: {output_dir}")
194
- print()
195
-
196
- # Check if rules directory exists
197
- if not rules_dir.exists():
198
- print(f"[ERROR] Rules directory not found: {rules_dir}")
199
- return
200
-
201
- # Group rules
202
- print("[*] Grouping rules by section...")
203
- grouped_rules = group_rules_by_section(rules_dir)
204
-
205
- # Stats
206
- total_rules = sum(len(rules) for rules in grouped_rules.values())
207
- print(f"[*] Found {total_rules} total rules")
208
- print()
209
-
210
- # Generate section files
211
- print("[*] Generating section files...")
212
- for section_prefix in SECTIONS.keys():
213
- rules = grouped_rules[section_prefix]
214
- generate_section_file(section_prefix, rules, output_dir)
215
-
216
- print()
217
- print("[SUCCESS] Conversion complete!")
218
- print(f"[*] Generated 8 section files from {total_rules} rules")
219
-
220
-
221
- if __name__ == '__main__':
222
- main()