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,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()