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,182 +0,0 @@
1
- ---
2
- name: golang-testing
3
- description: Go testing patterns with table-driven tests, interface mocking, HTTP handler testing, benchmarks, and race detector. Use when writing Go tests, setting up test suites, implementing TDD in Go.
4
- allowed-tools: Bash, Read, Edit, Write
5
- ---
6
-
7
- # Go Testing Patterns
8
-
9
- ## Table-Driven Tests (Standard Go Pattern)
10
-
11
- ```go
12
- func TestAdd(t *testing.T) {
13
- tests := []struct {
14
- name string
15
- a, b int
16
- expected int
17
- }{
18
- {"positive numbers", 2, 3, 5},
19
- {"negative numbers", -1, -2, -3},
20
- {"zero values", 0, 0, 0},
21
- {"mixed signs", -1, 1, 0},
22
- }
23
-
24
- for _, tt := range tests {
25
- t.Run(tt.name, func(t *testing.T) {
26
- got := Add(tt.a, tt.b)
27
- if got != tt.expected {
28
- t.Errorf("Add(%d, %d) = %d; want %d", tt.a, tt.b, got, tt.expected)
29
- }
30
- })
31
- }
32
- }
33
- ```
34
-
35
- ## Interface-Based Mocking
36
-
37
- ```go
38
- // Define interface
39
- type UserRepository interface {
40
- GetUser(id string) (*User, error)
41
- SaveUser(user *User) error
42
- }
43
-
44
- // Mock for tests
45
- type MockUserRepository struct {
46
- GetUserFunc func(id string) (*User, error)
47
- SaveUserFunc func(user *User) error
48
- }
49
-
50
- func (m *MockUserRepository) GetUser(id string) (*User, error) { return m.GetUserFunc(id) }
51
- func (m *MockUserRepository) SaveUser(user *User) error { return m.SaveUserFunc(user) }
52
-
53
- // Test using mock
54
- func TestUserService(t *testing.T) {
55
- mock := &MockUserRepository{
56
- GetUserFunc: func(id string) (*User, error) {
57
- if id == "123" { return &User{ID: "123", Name: "Alice"}, nil }
58
- return nil, ErrNotFound
59
- },
60
- }
61
-
62
- service := NewUserService(mock)
63
- user, err := service.GetUserProfile("123")
64
- if err != nil { t.Fatalf("unexpected error: %v", err) }
65
- if user.Name != "Alice" { t.Errorf("got %q; want %q", user.Name, "Alice") }
66
- }
67
- ```
68
-
69
- ## HTTP Handler Testing
70
-
71
- ```go
72
- func TestAPIHandler(t *testing.T) {
73
- tests := []struct {
74
- name string
75
- method string
76
- path string
77
- body string
78
- wantStatus int
79
- }{
80
- {"get user", http.MethodGet, "/users/123", "", http.StatusOK},
81
- {"not found", http.MethodGet, "/users/999", "", http.StatusNotFound},
82
- {"create user", http.MethodPost, "/users", `{"name":"Bob"}`, http.StatusCreated},
83
- }
84
-
85
- handler := NewAPIHandler()
86
-
87
- for _, tt := range tests {
88
- t.Run(tt.name, func(t *testing.T) {
89
- var body io.Reader
90
- if tt.body != "" { body = strings.NewReader(tt.body) }
91
-
92
- req := httptest.NewRequest(tt.method, tt.path, body)
93
- req.Header.Set("Content-Type", "application/json")
94
- w := httptest.NewRecorder()
95
-
96
- handler.ServeHTTP(w, req)
97
-
98
- if w.Code != tt.wantStatus {
99
- t.Errorf("got status %d; want %d", w.Code, tt.wantStatus)
100
- }
101
- })
102
- }
103
- }
104
- ```
105
-
106
- ## Parallel Tests
107
-
108
- ```go
109
- func TestUserService(t *testing.T) {
110
- tests := []struct{ name, id string }{...}
111
-
112
- for _, tt := range tests {
113
- tt := tt // capture range variable
114
- t.Run(tt.name, func(t *testing.T) {
115
- t.Parallel()
116
- // test body
117
- })
118
- }
119
- }
120
- ```
121
-
122
- ## Helper Functions
123
-
124
- ```go
125
- func assertNoError(t *testing.T, err error) {
126
- t.Helper() // marks this as a helper, shows caller in failure output
127
- if err != nil {
128
- t.Fatalf("unexpected error: %v", err)
129
- }
130
- }
131
- ```
132
-
133
- ## Benchmarks
134
-
135
- ```go
136
- func BenchmarkAdd(b *testing.B) {
137
- for b.Loop() { // Go 1.24+; use b.N for earlier versions
138
- Add(2, 3)
139
- }
140
- }
141
- ```
142
-
143
- ## Test Commands
144
-
145
- ```bash
146
- go test ./... # Run all tests
147
- go test -v ./... # Verbose
148
- go test -race ./... # With race detector (always in CI)
149
- go test -run TestUser ./... # Specific test
150
- go test -cover -coverprofile=out ./... # Coverage
151
- go test -bench=. -benchmem ./... # Benchmarks
152
- go test -timeout 30s ./... # With timeout
153
- go test -count=10 ./... # Repeat (flaky detection)
154
- ```
155
-
156
- ## CI/CD (GitHub Actions)
157
-
158
- ```yaml
159
- - name: Run tests
160
- run: go test -race -coverprofile=coverage.out ./...
161
-
162
- - name: Check 80% coverage
163
- run: |
164
- go tool cover -func=coverage.out | grep total | awk '{print $3}' | \
165
- awk -F'%' '{if ($1 < 80) exit 1}'
166
- ```
167
-
168
- ## Best Practices
169
-
170
- **DO:**
171
- - Write tests first (TDD)
172
- - Table-driven tests for comprehensive coverage
173
- - Test behavior, not implementation
174
- - `t.Helper()` in helper functions
175
- - `t.Cleanup()` for resource cleanup
176
- - Race detector always on in CI
177
-
178
- **DON'T:**
179
- - Test private functions directly (test through public API)
180
- - `time.Sleep()` in tests (use channels/conditions)
181
- - Ignore flaky tests
182
- - Mock everything (prefer integration tests where possible)
@@ -1,154 +0,0 @@
1
- ---
2
- name: i18n-localization
3
- description: Internationalization and localization patterns. Detecting hardcoded strings, managing translations, locale files, RTL support.
4
- allowed-tools: Read, Glob, Grep
5
- ---
6
-
7
- # i18n & Localization
8
-
9
- > Internationalization (i18n) and Localization (L10n) best practices.
10
-
11
- ---
12
-
13
- ## 1. Core Concepts
14
-
15
- | Term | Meaning |
16
- |------|---------|
17
- | **i18n** | Internationalization - making app translatable |
18
- | **L10n** | Localization - actual translations |
19
- | **Locale** | Language + Region (en-US, tr-TR) |
20
- | **RTL** | Right-to-left languages (Arabic, Hebrew) |
21
-
22
- ---
23
-
24
- ## 2. When to Use i18n
25
-
26
- | Project Type | i18n Needed? |
27
- |--------------|--------------|
28
- | Public web app | ✅ Yes |
29
- | SaaS product | ✅ Yes |
30
- | Internal tool | ⚠️ Maybe |
31
- | Single-region app | ⚠️ Consider future |
32
- | Personal project | ❌ Optional |
33
-
34
- ---
35
-
36
- ## 3. Implementation Patterns
37
-
38
- ### React (react-i18next)
39
-
40
- ```tsx
41
- import { useTranslation } from 'react-i18next';
42
-
43
- function Welcome() {
44
- const { t } = useTranslation();
45
- return <h1>{t('welcome.title')}</h1>;
46
- }
47
- ```
48
-
49
- ### Next.js (next-intl)
50
-
51
- ```tsx
52
- import { useTranslations } from 'next-intl';
53
-
54
- export default function Page() {
55
- const t = useTranslations('Home');
56
- return <h1>{t('title')}</h1>;
57
- }
58
- ```
59
-
60
- ### Python (gettext)
61
-
62
- ```python
63
- from gettext import gettext as _
64
-
65
- print(_("Welcome to our app"))
66
- ```
67
-
68
- ---
69
-
70
- ## 4. File Structure
71
-
72
- ```
73
- locales/
74
- ├── en/
75
- │ ├── common.json
76
- │ ├── auth.json
77
- │ └── errors.json
78
- ├── tr/
79
- │ ├── common.json
80
- │ ├── auth.json
81
- │ └── errors.json
82
- └── ar/ # RTL
83
- └── ...
84
- ```
85
-
86
- ---
87
-
88
- ## 5. Best Practices
89
-
90
- ### DO ✅
91
-
92
- - Use translation keys, not raw text
93
- - Namespace translations by feature
94
- - Support pluralization
95
- - Handle date/number formats per locale
96
- - Plan for RTL from the start
97
- - Use ICU message format for complex strings
98
-
99
- ### DON'T ❌
100
-
101
- - Hardcode strings in components
102
- - Concatenate translated strings
103
- - Assume text length (German is 30% longer)
104
- - Forget about RTL layout
105
- - Mix languages in same file
106
-
107
- ---
108
-
109
- ## 6. Common Issues
110
-
111
- | Issue | Solution |
112
- |-------|----------|
113
- | Missing translation | Fallback to default language |
114
- | Hardcoded strings | Use linter/checker script |
115
- | Date format | Use Intl.DateTimeFormat |
116
- | Number format | Use Intl.NumberFormat |
117
- | Pluralization | Use ICU message format |
118
-
119
- ---
120
-
121
- ## 7. RTL Support
122
-
123
- ```css
124
- /* CSS Logical Properties */
125
- .container {
126
- margin-inline-start: 1rem; /* Not margin-left */
127
- padding-inline-end: 1rem; /* Not padding-right */
128
- }
129
-
130
- [dir="rtl"] .icon {
131
- transform: scaleX(-1);
132
- }
133
- ```
134
-
135
- ---
136
-
137
- ## 8. Checklist
138
-
139
- Before shipping:
140
-
141
- - [ ] All user-facing strings use translation keys
142
- - [ ] Locale files exist for all supported languages
143
- - [ ] Date/number formatting uses Intl API
144
- - [ ] RTL layout tested (if applicable)
145
- - [ ] Fallback language configured
146
- - [ ] No hardcoded strings in components
147
-
148
- ---
149
-
150
- ## Script
151
-
152
- | Script | Purpose | Command |
153
- |--------|---------|---------|
154
- | `scripts/i18n_checker.py` | Detect hardcoded strings & missing translations | `python scripts/i18n_checker.py <project_path>` |
@@ -1,241 +0,0 @@
1
- #!/usr/bin/env python3
2
- """
3
- i18n Checker - Detects hardcoded strings and missing translations.
4
- Scans for untranslated text in React, Vue, and Python files.
5
- """
6
- import sys
7
- import re
8
- import json
9
- from pathlib import Path
10
-
11
- # Fix Windows console encoding for Unicode output
12
- try:
13
- sys.stdout.reconfigure(encoding='utf-8', errors='replace')
14
- sys.stderr.reconfigure(encoding='utf-8', errors='replace')
15
- except AttributeError:
16
- pass # Python < 3.7
17
-
18
- # Patterns that indicate hardcoded strings (should be translated)
19
- HARDCODED_PATTERNS = {
20
- 'jsx': [
21
- # Text directly in JSX: <div>Hello World</div>
22
- r'>\s*[A-Z][a-zA-Z\s]{3,30}\s*</',
23
- # JSX attribute strings: title="Welcome"
24
- r'(title|placeholder|label|alt|aria-label)="[A-Z][a-zA-Z\s]{2,}"',
25
- # Button/heading text
26
- r'<(button|h[1-6]|p|span|label)[^>]*>\s*[A-Z][a-zA-Z\s!?.,]{3,}\s*</',
27
- ],
28
- 'vue': [
29
- # Vue template text
30
- r'>\s*[A-Z][a-zA-Z\s]{3,30}\s*</',
31
- r'(placeholder|label|title)="[A-Z][a-zA-Z\s]{2,}"',
32
- ],
33
- 'python': [
34
- # print/raise with string literals
35
- r'(print|raise\s+\w+)\s*\(\s*["\'][A-Z][^"\']{5,}["\']',
36
- # Flask flash messages
37
- r'flash\s*\(\s*["\'][A-Z][^"\']{5,}["\']',
38
- ]
39
- }
40
-
41
- # Patterns that indicate proper i18n usage
42
- I18N_PATTERNS = [
43
- r't\(["\']', # t('key') - react-i18next
44
- r'useTranslation', # React hook
45
- r'\$t\(', # Vue i18n
46
- r'_\(["\']', # Python gettext
47
- r'gettext\(', # Python gettext
48
- r'useTranslations', # next-intl
49
- r'FormattedMessage', # react-intl
50
- r'i18n\.', # Generic i18n
51
- ]
52
-
53
- def find_locale_files(project_path: Path) -> list:
54
- """Find translation/locale files."""
55
- patterns = [
56
- "**/locales/**/*.json",
57
- "**/translations/**/*.json",
58
- "**/lang/**/*.json",
59
- "**/i18n/**/*.json",
60
- "**/messages/*.json",
61
- "**/*.po", # gettext
62
- ]
63
-
64
- files = []
65
- for pattern in patterns:
66
- files.extend(project_path.glob(pattern))
67
-
68
- return [f for f in files if 'node_modules' not in str(f)]
69
-
70
- def check_locale_completeness(locale_files: list) -> dict:
71
- """Check if all locales have the same keys."""
72
- issues = []
73
- passed = []
74
-
75
- if not locale_files:
76
- return {'passed': [], 'issues': ["[!] No locale files found"]}
77
-
78
- # Group by parent folder (language)
79
- locales = {}
80
- for f in locale_files:
81
- if f.suffix == '.json':
82
- try:
83
- lang = f.parent.name
84
- content = json.loads(f.read_text(encoding='utf-8'))
85
- if lang not in locales:
86
- locales[lang] = {}
87
- locales[lang][f.stem] = set(flatten_keys(content))
88
- except:
89
- continue
90
-
91
- if len(locales) < 2:
92
- passed.append(f"[OK] Found {len(locale_files)} locale file(s)")
93
- return {'passed': passed, 'issues': issues}
94
-
95
- passed.append(f"[OK] Found {len(locales)} language(s): {', '.join(locales.keys())}")
96
-
97
- # Compare keys across locales
98
- all_langs = list(locales.keys())
99
- base_lang = all_langs[0]
100
-
101
- for namespace in locales.get(base_lang, {}):
102
- base_keys = locales[base_lang].get(namespace, set())
103
-
104
- for lang in all_langs[1:]:
105
- other_keys = locales.get(lang, {}).get(namespace, set())
106
-
107
- missing = base_keys - other_keys
108
- if missing:
109
- issues.append(f"[X] {lang}/{namespace}: Missing {len(missing)} keys")
110
-
111
- extra = other_keys - base_keys
112
- if extra:
113
- issues.append(f"[!] {lang}/{namespace}: {len(extra)} extra keys")
114
-
115
- if not issues:
116
- passed.append("[OK] All locales have matching keys")
117
-
118
- return {'passed': passed, 'issues': issues}
119
-
120
- def flatten_keys(d, prefix=''):
121
- """Flatten nested dict keys."""
122
- keys = set()
123
- for k, v in d.items():
124
- new_key = f"{prefix}.{k}" if prefix else k
125
- if isinstance(v, dict):
126
- keys.update(flatten_keys(v, new_key))
127
- else:
128
- keys.add(new_key)
129
- return keys
130
-
131
- def check_hardcoded_strings(project_path: Path) -> dict:
132
- """Check for hardcoded strings in code files."""
133
- issues = []
134
- passed = []
135
-
136
- # Find code files
137
- extensions = {
138
- '.tsx': 'jsx', '.jsx': 'jsx', '.ts': 'jsx', '.js': 'jsx',
139
- '.vue': 'vue',
140
- '.py': 'python'
141
- }
142
-
143
- code_files = []
144
- for ext in extensions:
145
- code_files.extend(project_path.rglob(f"*{ext}"))
146
-
147
- code_files = [f for f in code_files if not any(x in str(f) for x in
148
- ['node_modules', '.git', 'dist', 'build', '__pycache__', 'venv', 'test', 'spec'])]
149
-
150
- if not code_files:
151
- return {'passed': ["[!] No code files found"], 'issues': []}
152
-
153
- files_with_i18n = 0
154
- files_with_hardcoded = 0
155
- hardcoded_examples = []
156
-
157
- for file_path in code_files[:50]: # Limit
158
- try:
159
- content = file_path.read_text(encoding='utf-8', errors='ignore')
160
- ext = file_path.suffix
161
- file_type = extensions.get(ext, 'jsx')
162
-
163
- # Check for i18n usage
164
- has_i18n = any(re.search(p, content) for p in I18N_PATTERNS)
165
- if has_i18n:
166
- files_with_i18n += 1
167
-
168
- # Check for hardcoded strings
169
- patterns = HARDCODED_PATTERNS.get(file_type, [])
170
- hardcoded_found = False
171
-
172
- for pattern in patterns:
173
- matches = re.findall(pattern, content)
174
- if matches and not has_i18n:
175
- hardcoded_found = True
176
- if len(hardcoded_examples) < 5:
177
- hardcoded_examples.append(f"{file_path.name}: {str(matches[0])[:40]}...")
178
-
179
- if hardcoded_found:
180
- files_with_hardcoded += 1
181
-
182
- except:
183
- continue
184
-
185
- passed.append(f"[OK] Analyzed {len(code_files)} code files")
186
-
187
- if files_with_i18n > 0:
188
- passed.append(f"[OK] {files_with_i18n} files use i18n")
189
-
190
- if files_with_hardcoded > 0:
191
- issues.append(f"[X] {files_with_hardcoded} files may have hardcoded strings")
192
- for ex in hardcoded_examples:
193
- issues.append(f" → {ex}")
194
- else:
195
- passed.append("[OK] No obvious hardcoded strings detected")
196
-
197
- return {'passed': passed, 'issues': issues}
198
-
199
- def main():
200
- target = sys.argv[1] if len(sys.argv) > 1 else "."
201
- project_path = Path(target)
202
-
203
- print("\n" + "=" * 60)
204
- print(" i18n CHECKER - Internationalization Audit")
205
- print("=" * 60 + "\n")
206
-
207
- # Check locale files
208
- locale_files = find_locale_files(project_path)
209
- locale_result = check_locale_completeness(locale_files)
210
-
211
- # Check hardcoded strings
212
- code_result = check_hardcoded_strings(project_path)
213
-
214
- # Print results
215
- print("[LOCALE FILES]")
216
- print("-" * 40)
217
- for item in locale_result['passed']:
218
- print(f" {item}")
219
- for item in locale_result['issues']:
220
- print(f" {item}")
221
-
222
- print("\n[CODE ANALYSIS]")
223
- print("-" * 40)
224
- for item in code_result['passed']:
225
- print(f" {item}")
226
- for item in code_result['issues']:
227
- print(f" {item}")
228
-
229
- # Summary
230
- critical_issues = sum(1 for i in locale_result['issues'] + code_result['issues'] if i.startswith("[X]"))
231
-
232
- print("\n" + "=" * 60)
233
- if critical_issues == 0:
234
- print("[OK] i18n CHECK: PASSED")
235
- sys.exit(0)
236
- else:
237
- print(f"[X] i18n CHECK: {critical_issues} issues found")
238
- sys.exit(1)
239
-
240
- if __name__ == "__main__":
241
- main()