aigroup-workflow 2.2.1 → 2.2.3

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 (653) hide show
  1. package/.claude/commands/fix-build.md +10 -5
  2. package/.claude/commands/init-project.md +13 -8
  3. package/.claude/commands/plan.md +15 -8
  4. package/.claude/commands/review.md +12 -6
  5. package/.claude/commands/tdd.md +11 -5
  6. package/.claude/commands/workflow-start.md +20 -11
  7. package/.claude/settings.json +28 -0
  8. package/.codex/agents/architect.toml +207 -0
  9. package/.codex/agents/build-error-resolver.toml +110 -0
  10. package/.codex/agents/code-reviewer.toml +233 -0
  11. package/.codex/agents/doc-updater.toml +103 -0
  12. package/.codex/agents/e2e-runner.toml +103 -0
  13. package/.codex/agents/get-current-datetime.toml +23 -0
  14. package/.codex/agents/init-architect.toml +181 -0
  15. package/.codex/agents/planner.toml +208 -0
  16. package/.codex/agents/refactor-cleaner.toml +81 -0
  17. package/.codex/agents/rust-reviewer.toml +90 -0
  18. package/.codex/agents/security-reviewer.toml +104 -0
  19. package/.codex/agents/tdd-guide.toml +87 -0
  20. package/.codex/config.toml +22 -39
  21. package/AGENTS.md +2 -2
  22. package/CLAUDE.md +23 -1
  23. package/LICENSE +20 -20
  24. package/README.md +333 -333
  25. package/agents/a11y-architect.md +141 -141
  26. package/agents/architect.md +211 -211
  27. package/agents/build-error-resolver.md +114 -114
  28. package/agents/chief-of-staff.md +151 -151
  29. package/agents/code-architect.md +71 -71
  30. package/agents/code-explorer.md +69 -69
  31. package/agents/code-reviewer.md +237 -237
  32. package/agents/code-simplifier.md +47 -47
  33. package/agents/comment-analyzer.md +45 -45
  34. package/agents/conversation-analyzer.md +52 -52
  35. package/agents/cpp-build-resolver.md +90 -90
  36. package/agents/cpp-reviewer.md +72 -72
  37. package/agents/csharp-reviewer.md +101 -101
  38. package/agents/dart-build-resolver.md +201 -201
  39. package/agents/database-reviewer.md +91 -91
  40. package/agents/doc-updater.md +107 -107
  41. package/agents/docs-lookup.md +68 -68
  42. package/agents/e2e-runner.md +107 -107
  43. package/agents/flutter-reviewer.md +243 -243
  44. package/agents/gan-evaluator.md +209 -209
  45. package/agents/gan-generator.md +131 -131
  46. package/agents/gan-planner.md +99 -99
  47. package/agents/get-current-datetime.md +26 -26
  48. package/agents/go-build-resolver.md +94 -94
  49. package/agents/go-reviewer.md +76 -76
  50. package/agents/harness-optimizer.md +35 -35
  51. package/agents/healthcare-reviewer.md +83 -83
  52. package/agents/java-build-resolver.md +153 -153
  53. package/agents/java-reviewer.md +92 -92
  54. package/agents/kotlin-build-resolver.md +118 -118
  55. package/agents/kotlin-reviewer.md +159 -159
  56. package/agents/loop-operator.md +36 -36
  57. package/agents/opensource-forker.md +198 -198
  58. package/agents/opensource-packager.md +249 -249
  59. package/agents/opensource-sanitizer.md +188 -188
  60. package/agents/performance-optimizer.md +446 -446
  61. package/agents/planner.md +212 -212
  62. package/agents/pr-test-analyzer.md +45 -45
  63. package/agents/python-reviewer.md +98 -98
  64. package/agents/pytorch-build-resolver.md +120 -120
  65. package/agents/refactor-cleaner.md +85 -85
  66. package/agents/rust-build-resolver.md +148 -148
  67. package/agents/rust-reviewer.md +94 -94
  68. package/agents/security-reviewer.md +108 -108
  69. package/agents/seo-specialist.md +59 -59
  70. package/agents/silent-failure-hunter.md +50 -50
  71. package/agents/tdd-guide.md +91 -91
  72. package/agents/type-design-analyzer.md +41 -41
  73. package/agents/typescript-reviewer.md +112 -112
  74. package/cli/commands/update.mjs +1 -1
  75. package/cli/utils/scaffold.mjs +53 -0
  76. package/docs/rules/agents.md +166 -50
  77. package/docs/rules/cpp/coding-style.md +44 -44
  78. package/docs/rules/cpp/hooks.md +39 -39
  79. package/docs/rules/cpp/patterns.md +51 -51
  80. package/docs/rules/cpp/security.md +51 -51
  81. package/docs/rules/cpp/testing.md +44 -44
  82. package/docs/rules/csharp/coding-style.md +72 -72
  83. package/docs/rules/csharp/hooks.md +25 -25
  84. package/docs/rules/csharp/patterns.md +50 -50
  85. package/docs/rules/csharp/security.md +58 -58
  86. package/docs/rules/csharp/testing.md +46 -46
  87. package/docs/rules/dart/coding-style.md +159 -159
  88. package/docs/rules/dart/hooks.md +66 -66
  89. package/docs/rules/dart/patterns.md +261 -261
  90. package/docs/rules/dart/security.md +135 -135
  91. package/docs/rules/dart/testing.md +215 -215
  92. package/docs/rules/golang/coding-style.md +32 -32
  93. package/docs/rules/golang/hooks.md +17 -17
  94. package/docs/rules/golang/patterns.md +45 -45
  95. package/docs/rules/golang/security.md +34 -34
  96. package/docs/rules/golang/testing.md +31 -31
  97. package/docs/rules/java/coding-style.md +114 -114
  98. package/docs/rules/java/hooks.md +18 -18
  99. package/docs/rules/java/patterns.md +146 -146
  100. package/docs/rules/java/security.md +100 -100
  101. package/docs/rules/java/testing.md +131 -131
  102. package/docs/rules/java_zn/coding-style.md +169 -0
  103. package/docs/rules/java_zn/mybatis.md +102 -0
  104. package/docs/rules/kotlin/coding-style.md +86 -86
  105. package/docs/rules/kotlin/hooks.md +17 -17
  106. package/docs/rules/kotlin/patterns.md +146 -146
  107. package/docs/rules/kotlin/security.md +82 -82
  108. package/docs/rules/kotlin/testing.md +128 -128
  109. package/docs/rules/perl/coding-style.md +46 -46
  110. package/docs/rules/perl/hooks.md +22 -22
  111. package/docs/rules/perl/patterns.md +76 -76
  112. package/docs/rules/perl/security.md +69 -69
  113. package/docs/rules/perl/testing.md +54 -54
  114. package/docs/rules/php/coding-style.md +40 -40
  115. package/docs/rules/php/hooks.md +24 -24
  116. package/docs/rules/php/patterns.md +33 -33
  117. package/docs/rules/php/security.md +37 -37
  118. package/docs/rules/php/testing.md +39 -39
  119. package/docs/rules/python/coding-style.md +42 -42
  120. package/docs/rules/python/hooks.md +19 -19
  121. package/docs/rules/python/patterns.md +39 -39
  122. package/docs/rules/python/security.md +30 -30
  123. package/docs/rules/python/testing.md +38 -38
  124. package/docs/rules/rust/coding-style.md +151 -151
  125. package/docs/rules/rust/hooks.md +16 -16
  126. package/docs/rules/rust/patterns.md +168 -168
  127. package/docs/rules/rust/security.md +141 -141
  128. package/docs/rules/rust/testing.md +154 -154
  129. package/docs/rules/swift/coding-style.md +47 -47
  130. package/docs/rules/swift/hooks.md +20 -20
  131. package/docs/rules/swift/patterns.md +66 -66
  132. package/docs/rules/swift/security.md +33 -33
  133. package/docs/rules/swift/testing.md +45 -45
  134. package/docs/rules/typescript/coding-style.md +199 -199
  135. package/docs/rules/typescript/hooks.md +22 -22
  136. package/docs/rules/typescript/patterns.md +52 -52
  137. package/docs/rules/typescript/security.md +28 -28
  138. package/docs/rules/typescript/testing.md +18 -18
  139. package/docs/rules/web/coding-style.md +96 -96
  140. package/docs/rules/web/design-quality.md +62 -62
  141. package/docs/rules/web/hooks.md +120 -120
  142. package/docs/rules/web/patterns.md +79 -79
  143. package/docs/rules/web/performance.md +64 -64
  144. package/docs/rules/web/security.md +57 -57
  145. package/docs/rules/web/testing.md +55 -55
  146. package/docs/templates/README.md +36 -36
  147. package/docs/templates/ai-project-final.md +124 -124
  148. package/docs/templates/ai-project.md +105 -105
  149. package/docs/templates/api.md +157 -157
  150. package/docs/templates/bug.md +62 -62
  151. package/docs/templates/code-review.md +87 -87
  152. package/docs/templates/generic.md +116 -116
  153. package/docs/templates/implementation-plan.md +1 -1
  154. package/docs/templates/meeting.md +68 -68
  155. package/docs/templates/prd.md +98 -98
  156. package/docs/templates/ui.md +134 -134
  157. package/docs/workflow-pipeline.md +5 -5
  158. package/package.json +40 -39
  159. package/skills/SUPERPOWERS-LICENSE +21 -21
  160. package/skills/ai-ml/fine-tuning-expert/SKILL.md +162 -162
  161. package/skills/ai-ml/fine-tuning-expert/references/dataset-preparation.md +540 -540
  162. package/skills/ai-ml/fine-tuning-expert/references/deployment-optimization.md +673 -673
  163. package/skills/ai-ml/fine-tuning-expert/references/evaluation-metrics.md +597 -597
  164. package/skills/ai-ml/fine-tuning-expert/references/hyperparameter-tuning.md +565 -565
  165. package/skills/ai-ml/fine-tuning-expert/references/lora-peft.md +347 -347
  166. package/skills/ai-ml/ml-pipeline/SKILL.md +159 -159
  167. package/skills/ai-ml/ml-pipeline/references/experiment-tracking.md +833 -833
  168. package/skills/ai-ml/ml-pipeline/references/feature-engineering.md +631 -631
  169. package/skills/ai-ml/ml-pipeline/references/model-validation.md +978 -978
  170. package/skills/ai-ml/ml-pipeline/references/pipeline-orchestration.md +907 -907
  171. package/skills/ai-ml/ml-pipeline/references/training-pipelines.md +782 -782
  172. package/skills/ai-ml/rag-architect/SKILL.md +194 -194
  173. package/skills/ai-ml/rag-architect/references/chunking-strategies.md +878 -878
  174. package/skills/ai-ml/rag-architect/references/embedding-models.md +561 -561
  175. package/skills/ai-ml/rag-architect/references/rag-evaluation.md +833 -833
  176. package/skills/ai-ml/rag-architect/references/retrieval-optimization.md +795 -795
  177. package/skills/ai-ml/rag-architect/references/vector-databases.md +589 -589
  178. package/skills/ai-ml/spark-engineer/SKILL.md +148 -148
  179. package/skills/ai-ml/spark-engineer/references/partitioning-caching.md +543 -543
  180. package/skills/ai-ml/spark-engineer/references/performance-tuning.md +544 -544
  181. package/skills/ai-ml/spark-engineer/references/rdd-operations.md +599 -599
  182. package/skills/ai-ml/spark-engineer/references/spark-sql-dataframes.md +474 -474
  183. package/skills/ai-ml/spark-engineer/references/streaming-patterns.md +786 -786
  184. package/skills/backend/api-designer/SKILL.md +217 -217
  185. package/skills/backend/api-designer/references/error-handling.md +541 -541
  186. package/skills/backend/api-designer/references/openapi.md +824 -824
  187. package/skills/backend/api-designer/references/pagination.md +494 -494
  188. package/skills/backend/api-designer/references/rest-patterns.md +335 -335
  189. package/skills/backend/api-designer/references/versioning.md +391 -391
  190. package/skills/backend/architecture-designer/SKILL.md +117 -117
  191. package/skills/backend/architecture-designer/references/adr-template.md +116 -116
  192. package/skills/backend/architecture-designer/references/architecture-patterns.md +111 -111
  193. package/skills/backend/architecture-designer/references/database-selection.md +102 -102
  194. package/skills/backend/architecture-designer/references/nfr-checklist.md +112 -112
  195. package/skills/backend/architecture-designer/references/system-design.md +100 -100
  196. package/skills/backend/code-documenter/SKILL.md +147 -147
  197. package/skills/backend/code-documenter/references/api-docs-fastapi-django.md +166 -166
  198. package/skills/backend/code-documenter/references/api-docs-nestjs-express.md +220 -220
  199. package/skills/backend/code-documenter/references/coverage-reports.md +125 -125
  200. package/skills/backend/code-documenter/references/documentation-systems.md +333 -333
  201. package/skills/backend/code-documenter/references/interactive-api-docs.md +531 -531
  202. package/skills/backend/code-documenter/references/python-docstrings.md +121 -121
  203. package/skills/backend/code-documenter/references/typescript-jsdoc.md +145 -145
  204. package/skills/backend/code-documenter/references/user-guides-tutorials.md +530 -530
  205. package/skills/backend/debugging-wizard/SKILL.md +105 -105
  206. package/skills/backend/debugging-wizard/references/common-patterns.md +132 -132
  207. package/skills/backend/debugging-wizard/references/debugging-tools.md +140 -140
  208. package/skills/backend/debugging-wizard/references/quick-fixes.md +177 -177
  209. package/skills/backend/debugging-wizard/references/strategies.md +142 -142
  210. package/skills/backend/debugging-wizard/references/systematic-debugging.md +367 -367
  211. package/skills/backend/feature-forge/SKILL.md +98 -98
  212. package/skills/backend/feature-forge/references/acceptance-criteria.md +104 -104
  213. package/skills/backend/feature-forge/references/ears-syntax.md +99 -99
  214. package/skills/backend/feature-forge/references/interview-questions.md +150 -150
  215. package/skills/backend/feature-forge/references/pre-discovery-subagents.md +54 -54
  216. package/skills/backend/feature-forge/references/specification-template.md +103 -103
  217. package/skills/backend/fullstack-guardian/SKILL.md +105 -105
  218. package/skills/backend/fullstack-guardian/references/api-design-standards.md +307 -307
  219. package/skills/backend/fullstack-guardian/references/architecture-decisions.md +350 -350
  220. package/skills/backend/fullstack-guardian/references/backend-patterns.md +237 -237
  221. package/skills/backend/fullstack-guardian/references/common-patterns.md +134 -134
  222. package/skills/backend/fullstack-guardian/references/deliverables-checklist.md +354 -354
  223. package/skills/backend/fullstack-guardian/references/design-template.md +91 -91
  224. package/skills/backend/fullstack-guardian/references/error-handling.md +135 -135
  225. package/skills/backend/fullstack-guardian/references/frontend-patterns.md +340 -340
  226. package/skills/backend/fullstack-guardian/references/integration-patterns.md +333 -333
  227. package/skills/backend/fullstack-guardian/references/security-checklist.md +106 -106
  228. package/skills/backend/graphql-architect/SKILL.md +146 -146
  229. package/skills/backend/graphql-architect/references/federation.md +418 -418
  230. package/skills/backend/graphql-architect/references/migration-from-rest.md +1141 -1141
  231. package/skills/backend/graphql-architect/references/resolvers.md +425 -425
  232. package/skills/backend/graphql-architect/references/schema-design.md +393 -393
  233. package/skills/backend/graphql-architect/references/security.md +569 -569
  234. package/skills/backend/graphql-architect/references/subscriptions.md +510 -510
  235. package/skills/backend/legacy-modernizer/SKILL.md +137 -137
  236. package/skills/backend/legacy-modernizer/references/legacy-testing.md +381 -381
  237. package/skills/backend/legacy-modernizer/references/migration-strategies.md +423 -423
  238. package/skills/backend/legacy-modernizer/references/refactoring-patterns.md +395 -395
  239. package/skills/backend/legacy-modernizer/references/strangler-fig-pattern.md +281 -281
  240. package/skills/backend/legacy-modernizer/references/system-assessment.md +487 -487
  241. package/skills/backend/microservices-architect/SKILL.md +164 -164
  242. package/skills/backend/microservices-architect/references/communication.md +499 -499
  243. package/skills/backend/microservices-architect/references/data.md +721 -721
  244. package/skills/backend/microservices-architect/references/decomposition.md +344 -344
  245. package/skills/backend/microservices-architect/references/observability.md +805 -805
  246. package/skills/backend/microservices-architect/references/patterns.md +603 -603
  247. package/skills/database/database-optimizer/SKILL.md +147 -147
  248. package/skills/database/database-optimizer/references/index-strategies.md +331 -331
  249. package/skills/database/database-optimizer/references/monitoring-analysis.md +501 -501
  250. package/skills/database/database-optimizer/references/mysql-tuning.md +452 -452
  251. package/skills/database/database-optimizer/references/postgresql-tuning.md +413 -413
  252. package/skills/database/database-optimizer/references/query-optimization.md +251 -251
  253. package/skills/database/postgres-pro/SKILL.md +152 -152
  254. package/skills/database/postgres-pro/references/extensions.md +404 -404
  255. package/skills/database/postgres-pro/references/jsonb.md +321 -321
  256. package/skills/database/postgres-pro/references/maintenance.md +481 -481
  257. package/skills/database/postgres-pro/references/performance.md +265 -265
  258. package/skills/database/postgres-pro/references/replication.md +446 -446
  259. package/skills/database/sql-pro/SKILL.md +129 -129
  260. package/skills/database/sql-pro/references/database-design.md +402 -402
  261. package/skills/database/sql-pro/references/dialect-differences.md +419 -419
  262. package/skills/database/sql-pro/references/optimization.md +384 -384
  263. package/skills/database/sql-pro/references/query-patterns.md +285 -285
  264. package/skills/database/sql-pro/references/window-functions.md +328 -328
  265. package/skills/dotnet/csharp-developer/SKILL.md +125 -125
  266. package/skills/dotnet/csharp-developer/references/aspnet-core.md +394 -394
  267. package/skills/dotnet/csharp-developer/references/blazor.md +553 -553
  268. package/skills/dotnet/csharp-developer/references/entity-framework.md +409 -409
  269. package/skills/dotnet/csharp-developer/references/modern-csharp.md +248 -248
  270. package/skills/dotnet/csharp-developer/references/performance.md +498 -498
  271. package/skills/dotnet/dotnet-core-expert/SKILL.md +138 -138
  272. package/skills/dotnet/dotnet-core-expert/references/authentication.md +546 -546
  273. package/skills/dotnet/dotnet-core-expert/references/clean-architecture.md +455 -455
  274. package/skills/dotnet/dotnet-core-expert/references/cloud-native.md +548 -548
  275. package/skills/dotnet/dotnet-core-expert/references/entity-framework.md +440 -440
  276. package/skills/dotnet/dotnet-core-expert/references/minimal-apis.md +319 -319
  277. package/skills/frontend/angular-architect/SKILL.md +152 -152
  278. package/skills/frontend/angular-architect/references/components.md +297 -297
  279. package/skills/frontend/angular-architect/references/ngrx.md +401 -401
  280. package/skills/frontend/angular-architect/references/routing.md +361 -361
  281. package/skills/frontend/angular-architect/references/rxjs.md +319 -319
  282. package/skills/frontend/angular-architect/references/testing.md +405 -405
  283. package/skills/frontend/design-commands/design.md +91 -91
  284. package/skills/frontend/design-commands/handoff.md +97 -97
  285. package/skills/frontend/design-commands/prototype.md +120 -120
  286. package/skills/frontend/design-commands/spec.md +160 -160
  287. package/skills/frontend/design-commands/style.md +78 -78
  288. package/skills/frontend/flutter-expert/SKILL.md +138 -138
  289. package/skills/frontend/flutter-expert/references/bloc-state.md +259 -259
  290. package/skills/frontend/flutter-expert/references/gorouter-navigation.md +119 -119
  291. package/skills/frontend/flutter-expert/references/performance.md +99 -99
  292. package/skills/frontend/flutter-expert/references/project-structure.md +118 -118
  293. package/skills/frontend/flutter-expert/references/riverpod-state.md +130 -130
  294. package/skills/frontend/flutter-expert/references/widget-patterns.md +123 -123
  295. package/skills/frontend/nextjs-developer/SKILL.md +143 -143
  296. package/skills/frontend/nextjs-developer/references/app-router.md +311 -311
  297. package/skills/frontend/nextjs-developer/references/data-fetching.md +482 -482
  298. package/skills/frontend/nextjs-developer/references/deployment.md +545 -545
  299. package/skills/frontend/nextjs-developer/references/server-actions.md +462 -462
  300. package/skills/frontend/nextjs-developer/references/server-components.md +384 -384
  301. package/skills/frontend/react-expert/SKILL.md +149 -149
  302. package/skills/frontend/react-expert/references/hooks-patterns.md +162 -162
  303. package/skills/frontend/react-expert/references/migration-class-to-modern.md +1119 -1119
  304. package/skills/frontend/react-expert/references/performance.md +168 -168
  305. package/skills/frontend/react-expert/references/react-19-features.md +174 -174
  306. package/skills/frontend/react-expert/references/server-components.md +143 -143
  307. package/skills/frontend/react-expert/references/state-management.md +171 -171
  308. package/skills/frontend/react-expert/references/testing-react.md +174 -174
  309. package/skills/frontend/react-native-expert/SKILL.md +185 -185
  310. package/skills/frontend/react-native-expert/references/expo-router.md +187 -187
  311. package/skills/frontend/react-native-expert/references/list-optimization.md +204 -204
  312. package/skills/frontend/react-native-expert/references/platform-handling.md +188 -188
  313. package/skills/frontend/react-native-expert/references/project-structure.md +171 -171
  314. package/skills/frontend/react-native-expert/references/storage-hooks.md +173 -173
  315. package/skills/frontend/senior-frontend/SKILL.md +477 -477
  316. package/skills/frontend/senior-frontend/references/frontend_best_practices.md +806 -806
  317. package/skills/frontend/senior-frontend/references/nextjs_optimization_guide.md +724 -724
  318. package/skills/frontend/senior-frontend/references/react_patterns.md +746 -746
  319. package/skills/frontend/senior-frontend/scripts/bundle_analyzer.py +407 -407
  320. package/skills/frontend/senior-frontend/scripts/component_generator.py +329 -329
  321. package/skills/frontend/senior-frontend/scripts/frontend_scaffolder.py +1005 -1005
  322. package/skills/frontend/ui-ux-pro-max/SKILL.md +386 -386
  323. package/skills/frontend/ui-ux-pro-max/data/charts.csv +26 -26
  324. package/skills/frontend/ui-ux-pro-max/data/colors.csv +97 -97
  325. package/skills/frontend/ui-ux-pro-max/data/icons.csv +101 -101
  326. package/skills/frontend/ui-ux-pro-max/data/landing.csv +31 -31
  327. package/skills/frontend/ui-ux-pro-max/data/products.csv +96 -96
  328. package/skills/frontend/ui-ux-pro-max/data/react-performance.csv +45 -45
  329. package/skills/frontend/ui-ux-pro-max/data/stacks/astro.csv +54 -54
  330. package/skills/frontend/ui-ux-pro-max/data/stacks/flutter.csv +53 -53
  331. package/skills/frontend/ui-ux-pro-max/data/stacks/html-tailwind.csv +56 -56
  332. package/skills/frontend/ui-ux-pro-max/data/stacks/jetpack-compose.csv +53 -53
  333. package/skills/frontend/ui-ux-pro-max/data/stacks/nextjs.csv +53 -53
  334. package/skills/frontend/ui-ux-pro-max/data/stacks/nuxt-ui.csv +51 -51
  335. package/skills/frontend/ui-ux-pro-max/data/stacks/nuxtjs.csv +59 -59
  336. package/skills/frontend/ui-ux-pro-max/data/stacks/react-native.csv +52 -52
  337. package/skills/frontend/ui-ux-pro-max/data/stacks/react.csv +54 -54
  338. package/skills/frontend/ui-ux-pro-max/data/stacks/shadcn.csv +61 -61
  339. package/skills/frontend/ui-ux-pro-max/data/stacks/svelte.csv +54 -54
  340. package/skills/frontend/ui-ux-pro-max/data/stacks/swiftui.csv +51 -51
  341. package/skills/frontend/ui-ux-pro-max/data/stacks/vue.csv +50 -50
  342. package/skills/frontend/ui-ux-pro-max/data/styles.csv +68 -68
  343. package/skills/frontend/ui-ux-pro-max/data/typography.csv +57 -57
  344. package/skills/frontend/ui-ux-pro-max/data/ui-reasoning.csv +101 -101
  345. package/skills/frontend/ui-ux-pro-max/data/ux-guidelines.csv +99 -99
  346. package/skills/frontend/ui-ux-pro-max/data/web-interface.csv +31 -31
  347. package/skills/frontend/ui-ux-pro-max/scripts/core.py +253 -253
  348. package/skills/frontend/ui-ux-pro-max/scripts/design_system.py +1067 -1067
  349. package/skills/frontend/ui-ux-pro-max/scripts/search.py +114 -114
  350. package/skills/frontend/vue-expert/SKILL.md +98 -98
  351. package/skills/frontend/vue-expert/references/build-tooling.md +480 -480
  352. package/skills/frontend/vue-expert/references/components.md +448 -448
  353. package/skills/frontend/vue-expert/references/composition-api.md +299 -299
  354. package/skills/frontend/vue-expert/references/mobile-hybrid.md +636 -636
  355. package/skills/frontend/vue-expert/references/nuxt.md +669 -669
  356. package/skills/frontend/vue-expert/references/state-management.md +449 -449
  357. package/skills/frontend/vue-expert/references/typescript.md +584 -584
  358. package/skills/frontend/vue-expert-js/SKILL.md +167 -167
  359. package/skills/frontend/vue-expert-js/references/component-architecture.md +219 -219
  360. package/skills/frontend/vue-expert-js/references/composables-patterns.md +183 -183
  361. package/skills/frontend/vue-expert-js/references/jsdoc-typing.md +535 -535
  362. package/skills/frontend/vue-expert-js/references/state-management.md +249 -249
  363. package/skills/frontend/vue-expert-js/references/testing-patterns.md +237 -237
  364. package/skills/go-rust-cpp/cpp-pro/SKILL.md +115 -115
  365. package/skills/go-rust-cpp/cpp-pro/references/build-tooling.md +440 -440
  366. package/skills/go-rust-cpp/cpp-pro/references/concurrency.md +437 -437
  367. package/skills/go-rust-cpp/cpp-pro/references/memory-performance.md +397 -397
  368. package/skills/go-rust-cpp/cpp-pro/references/modern-cpp.md +304 -304
  369. package/skills/go-rust-cpp/cpp-pro/references/templates.md +357 -357
  370. package/skills/go-rust-cpp/golang-pro/SKILL.md +122 -122
  371. package/skills/go-rust-cpp/golang-pro/references/concurrency.md +329 -329
  372. package/skills/go-rust-cpp/golang-pro/references/generics.md +442 -442
  373. package/skills/go-rust-cpp/golang-pro/references/interfaces.md +432 -432
  374. package/skills/go-rust-cpp/golang-pro/references/project-structure.md +477 -477
  375. package/skills/go-rust-cpp/golang-pro/references/testing.md +451 -451
  376. package/skills/go-rust-cpp/rust-engineer/SKILL.md +167 -167
  377. package/skills/go-rust-cpp/rust-engineer/references/async.md +458 -458
  378. package/skills/go-rust-cpp/rust-engineer/references/error-handling.md +334 -334
  379. package/skills/go-rust-cpp/rust-engineer/references/ownership.md +278 -278
  380. package/skills/go-rust-cpp/rust-engineer/references/testing.md +470 -470
  381. package/skills/go-rust-cpp/rust-engineer/references/traits.md +413 -413
  382. package/skills/infra/cli-developer/SKILL.md +113 -113
  383. package/skills/infra/cli-developer/references/design-patterns.md +221 -221
  384. package/skills/infra/cli-developer/references/go-cli.md +540 -540
  385. package/skills/infra/cli-developer/references/node-cli.md +383 -383
  386. package/skills/infra/cli-developer/references/python-cli.md +422 -422
  387. package/skills/infra/cli-developer/references/ux-patterns.md +448 -448
  388. package/skills/infra/cloud-architect/SKILL.md +216 -216
  389. package/skills/infra/cloud-architect/references/aws.md +394 -394
  390. package/skills/infra/cloud-architect/references/azure.md +562 -562
  391. package/skills/infra/cloud-architect/references/cost.md +582 -582
  392. package/skills/infra/cloud-architect/references/gcp.md +633 -633
  393. package/skills/infra/cloud-architect/references/multi-cloud.md +483 -483
  394. package/skills/infra/devops-engineer/SKILL.md +144 -144
  395. package/skills/infra/devops-engineer/references/deployment-strategies.md +241 -241
  396. package/skills/infra/devops-engineer/references/docker-patterns.md +113 -113
  397. package/skills/infra/devops-engineer/references/github-actions.md +139 -139
  398. package/skills/infra/devops-engineer/references/incident-response.md +331 -331
  399. package/skills/infra/devops-engineer/references/kubernetes.md +154 -154
  400. package/skills/infra/devops-engineer/references/platform-engineering.md +417 -417
  401. package/skills/infra/devops-engineer/references/release-automation.md +527 -527
  402. package/skills/infra/devops-engineer/references/terraform-iac.md +141 -141
  403. package/skills/infra/kubernetes-specialist/SKILL.md +241 -241
  404. package/skills/infra/kubernetes-specialist/references/configuration.md +452 -452
  405. package/skills/infra/kubernetes-specialist/references/cost-optimization.md +458 -458
  406. package/skills/infra/kubernetes-specialist/references/custom-operators.md +563 -563
  407. package/skills/infra/kubernetes-specialist/references/gitops.md +530 -530
  408. package/skills/infra/kubernetes-specialist/references/helm-charts.md +912 -912
  409. package/skills/infra/kubernetes-specialist/references/multi-cluster.md +507 -507
  410. package/skills/infra/kubernetes-specialist/references/networking.md +447 -447
  411. package/skills/infra/kubernetes-specialist/references/service-mesh.md +459 -459
  412. package/skills/infra/kubernetes-specialist/references/storage.md +535 -535
  413. package/skills/infra/kubernetes-specialist/references/troubleshooting.md +414 -414
  414. package/skills/infra/kubernetes-specialist/references/workloads.md +377 -377
  415. package/skills/infra/mcp-developer/SKILL.md +143 -143
  416. package/skills/infra/mcp-developer/references/protocol.md +244 -244
  417. package/skills/infra/mcp-developer/references/python-sdk.md +367 -367
  418. package/skills/infra/mcp-developer/references/resources.md +554 -554
  419. package/skills/infra/mcp-developer/references/tools.md +480 -480
  420. package/skills/infra/mcp-developer/references/typescript-sdk.md +350 -350
  421. package/skills/infra/monitoring-expert/SKILL.md +176 -176
  422. package/skills/infra/monitoring-expert/references/alerting-rules.md +141 -141
  423. package/skills/infra/monitoring-expert/references/application-profiling.md +331 -331
  424. package/skills/infra/monitoring-expert/references/capacity-planning.md +344 -344
  425. package/skills/infra/monitoring-expert/references/dashboards.md +126 -126
  426. package/skills/infra/monitoring-expert/references/opentelemetry.md +123 -123
  427. package/skills/infra/monitoring-expert/references/performance-testing.md +269 -269
  428. package/skills/infra/monitoring-expert/references/prometheus-metrics.md +136 -136
  429. package/skills/infra/monitoring-expert/references/structured-logging.md +142 -142
  430. package/skills/infra/sre-engineer/SKILL.md +181 -181
  431. package/skills/infra/sre-engineer/references/automation-toil.md +492 -492
  432. package/skills/infra/sre-engineer/references/error-budget-policy.md +334 -334
  433. package/skills/infra/sre-engineer/references/incident-chaos.md +576 -576
  434. package/skills/infra/sre-engineer/references/monitoring-alerting.md +424 -424
  435. package/skills/infra/sre-engineer/references/slo-sli-management.md +238 -238
  436. package/skills/infra/terraform-engineer/SKILL.md +143 -143
  437. package/skills/infra/terraform-engineer/references/best-practices.md +583 -583
  438. package/skills/infra/terraform-engineer/references/module-patterns.md +297 -297
  439. package/skills/infra/terraform-engineer/references/providers.md +452 -452
  440. package/skills/infra/terraform-engineer/references/state-management.md +371 -371
  441. package/skills/infra/terraform-engineer/references/testing.md +486 -486
  442. package/skills/infra/websocket-engineer/SKILL.md +168 -168
  443. package/skills/infra/websocket-engineer/references/alternatives.md +391 -391
  444. package/skills/infra/websocket-engineer/references/patterns.md +400 -400
  445. package/skills/infra/websocket-engineer/references/protocol.md +195 -195
  446. package/skills/infra/websocket-engineer/references/scaling.md +333 -333
  447. package/skills/infra/websocket-engineer/references/security.md +474 -474
  448. package/skills/java/java-architect/SKILL.md +132 -132
  449. package/skills/java/java-architect/references/jpa-optimization.md +393 -393
  450. package/skills/java/java-architect/references/reactive-webflux.md +356 -356
  451. package/skills/java/java-architect/references/spring-boot-setup.md +269 -269
  452. package/skills/java/java-architect/references/spring-security.md +445 -445
  453. package/skills/java/java-architect/references/testing-patterns.md +500 -500
  454. package/skills/java/kotlin-specialist/SKILL.md +147 -147
  455. package/skills/java/kotlin-specialist/references/android-compose.md +419 -419
  456. package/skills/java/kotlin-specialist/references/coroutines-flow.md +276 -276
  457. package/skills/java/kotlin-specialist/references/dsl-idioms.md +421 -421
  458. package/skills/java/kotlin-specialist/references/ktor-server.md +426 -426
  459. package/skills/java/kotlin-specialist/references/multiplatform-kmp.md +380 -380
  460. package/skills/java/spring-boot-engineer/SKILL.md +196 -195
  461. package/skills/java/spring-boot-engineer/references/cloud.md +498 -498
  462. package/skills/java/spring-boot-engineer/references/data.md +381 -381
  463. package/skills/java/spring-boot-engineer/references/mybatis-plus.md +592 -0
  464. package/skills/java/spring-boot-engineer/references/security.md +459 -459
  465. package/skills/java/spring-boot-engineer/references/testing.md +545 -545
  466. package/skills/java/spring-boot-engineer/references/web.md +295 -295
  467. package/skills/java/spring-boot-engineer_zn/SKILL.md +129 -0
  468. package/skills/java/spring-boot-engineer_zn/references/architecture.md +23 -0
  469. package/skills/java/spring-boot-engineer_zn/references/concurrency.md +9 -0
  470. package/skills/java/spring-boot-engineer_zn/references/exception-logging.md +31 -0
  471. package/skills/java/spring-boot-engineer_zn/references/persistence.md +13 -0
  472. package/skills/java/spring-boot-engineer_zn/references/pojo-lombok.md +48 -0
  473. package/skills/java/spring-boot-engineer_zn/references/security.md +9 -0
  474. package/skills/java/spring-boot-engineer_zn/references/testing.md +7 -0
  475. package/skills/java/spring-boot-engineer_zn/references/validation.md +80 -0
  476. package/skills/javascript/javascript-pro/SKILL.md +132 -132
  477. package/skills/javascript/javascript-pro/references/async-patterns.md +334 -334
  478. package/skills/javascript/javascript-pro/references/browser-apis.md +398 -398
  479. package/skills/javascript/javascript-pro/references/modern-syntax.md +272 -272
  480. package/skills/javascript/javascript-pro/references/modules.md +357 -357
  481. package/skills/javascript/javascript-pro/references/node-essentials.md +471 -471
  482. package/skills/javascript/nestjs-expert/SKILL.md +206 -206
  483. package/skills/javascript/nestjs-expert/references/authentication.md +166 -166
  484. package/skills/javascript/nestjs-expert/references/controllers-routing.md +111 -111
  485. package/skills/javascript/nestjs-expert/references/dtos-validation.md +153 -153
  486. package/skills/javascript/nestjs-expert/references/migration-from-express.md +1237 -1237
  487. package/skills/javascript/nestjs-expert/references/services-di.md +140 -140
  488. package/skills/javascript/nestjs-expert/references/testing-patterns.md +186 -186
  489. package/skills/javascript/typescript-pro/SKILL.md +145 -145
  490. package/skills/javascript/typescript-pro/references/advanced-types.md +259 -259
  491. package/skills/javascript/typescript-pro/references/configuration.md +445 -445
  492. package/skills/javascript/typescript-pro/references/patterns.md +484 -484
  493. package/skills/javascript/typescript-pro/references/type-guards.md +352 -352
  494. package/skills/javascript/typescript-pro/references/utility-types.md +329 -329
  495. package/skills/php/laravel-specialist/SKILL.md +262 -262
  496. package/skills/php/laravel-specialist/references/eloquent.md +351 -351
  497. package/skills/php/laravel-specialist/references/livewire.md +512 -512
  498. package/skills/php/laravel-specialist/references/queues.md +423 -423
  499. package/skills/php/laravel-specialist/references/routing.md +362 -362
  500. package/skills/php/laravel-specialist/references/testing.md +522 -522
  501. package/skills/php/php-pro/SKILL.md +206 -206
  502. package/skills/php/php-pro/references/async-patterns.md +412 -412
  503. package/skills/php/php-pro/references/laravel-patterns.md +377 -377
  504. package/skills/php/php-pro/references/modern-php-features.md +323 -323
  505. package/skills/php/php-pro/references/symfony-patterns.md +466 -466
  506. package/skills/php/php-pro/references/testing-quality.md +466 -466
  507. package/skills/product/competitive-analysis/SKILL.md +257 -257
  508. package/skills/product/meeting-notes/SKILL.md +266 -266
  509. package/skills/product/prd-template/SKILL.md +150 -150
  510. package/skills/product/stakeholder-update/SKILL.md +225 -225
  511. package/skills/product/user-research-synthesis/SKILL.md +235 -235
  512. package/skills/python/django-expert/SKILL.md +162 -162
  513. package/skills/python/django-expert/references/authentication.md +145 -145
  514. package/skills/python/django-expert/references/drf-serializers.md +148 -148
  515. package/skills/python/django-expert/references/models-orm.md +151 -151
  516. package/skills/python/django-expert/references/testing-django.md +204 -204
  517. package/skills/python/django-expert/references/viewsets-views.md +153 -153
  518. package/skills/python/fastapi-expert/SKILL.md +185 -185
  519. package/skills/python/fastapi-expert/references/async-sqlalchemy.md +146 -146
  520. package/skills/python/fastapi-expert/references/authentication.md +159 -159
  521. package/skills/python/fastapi-expert/references/endpoints-routing.md +142 -142
  522. package/skills/python/fastapi-expert/references/migration-from-django.md +996 -996
  523. package/skills/python/fastapi-expert/references/pydantic-v2.md +135 -135
  524. package/skills/python/fastapi-expert/references/testing-async.md +159 -159
  525. package/skills/python/pandas-pro/SKILL.md +178 -178
  526. package/skills/python/pandas-pro/references/aggregation-groupby.md +545 -545
  527. package/skills/python/pandas-pro/references/data-cleaning.md +500 -500
  528. package/skills/python/pandas-pro/references/dataframe-operations.md +420 -420
  529. package/skills/python/pandas-pro/references/merging-joining.md +596 -596
  530. package/skills/python/pandas-pro/references/performance-optimization.md +597 -597
  531. package/skills/python/python-pro/SKILL.md +177 -177
  532. package/skills/python/python-pro/references/async-patterns.md +356 -356
  533. package/skills/python/python-pro/references/packaging.md +460 -460
  534. package/skills/python/python-pro/references/standard-library.md +378 -378
  535. package/skills/python/python-pro/references/testing.md +404 -404
  536. package/skills/python/python-pro/references/type-system.md +290 -290
  537. package/skills/quality/chaos-engineer/SKILL.md +182 -182
  538. package/skills/quality/chaos-engineer/references/chaos-tools.md +511 -511
  539. package/skills/quality/chaos-engineer/references/experiment-design.md +229 -229
  540. package/skills/quality/chaos-engineer/references/game-days.md +434 -434
  541. package/skills/quality/chaos-engineer/references/infrastructure-chaos.md +348 -348
  542. package/skills/quality/chaos-engineer/references/kubernetes-chaos.md +432 -432
  543. package/skills/quality/code-reviewer/SKILL.md +119 -119
  544. package/skills/quality/code-reviewer/references/common-issues.md +142 -142
  545. package/skills/quality/code-reviewer/references/feedback-examples.md +144 -144
  546. package/skills/quality/code-reviewer/references/receiving-feedback.md +238 -238
  547. package/skills/quality/code-reviewer/references/report-template.md +109 -109
  548. package/skills/quality/code-reviewer/references/review-checklist.md +88 -88
  549. package/skills/quality/code-reviewer/references/spec-compliance-review.md +258 -258
  550. package/skills/quality/playwright-expert/SKILL.md +169 -169
  551. package/skills/quality/playwright-expert/references/api-mocking.md +140 -140
  552. package/skills/quality/playwright-expert/references/configuration.md +155 -155
  553. package/skills/quality/playwright-expert/references/debugging-flaky.md +150 -150
  554. package/skills/quality/playwright-expert/references/page-object-model.md +152 -152
  555. package/skills/quality/playwright-expert/references/selectors-locators.md +119 -119
  556. package/skills/quality/secure-code-guardian/SKILL.md +191 -191
  557. package/skills/quality/secure-code-guardian/references/authentication.md +136 -136
  558. package/skills/quality/secure-code-guardian/references/input-validation.md +146 -146
  559. package/skills/quality/secure-code-guardian/references/owasp-prevention.md +135 -135
  560. package/skills/quality/secure-code-guardian/references/security-headers.md +133 -133
  561. package/skills/quality/secure-code-guardian/references/xss-csrf.md +157 -157
  562. package/skills/quality/security-reviewer/SKILL.md +103 -103
  563. package/skills/quality/security-reviewer/references/infrastructure-security.md +268 -268
  564. package/skills/quality/security-reviewer/references/penetration-testing.md +268 -268
  565. package/skills/quality/security-reviewer/references/report-template.md +170 -170
  566. package/skills/quality/security-reviewer/references/sast-tools.md +117 -117
  567. package/skills/quality/security-reviewer/references/secret-scanning.md +125 -125
  568. package/skills/quality/security-reviewer/references/vulnerability-patterns.md +152 -152
  569. package/skills/quality/senior-qa/README.md +196 -196
  570. package/skills/quality/senior-qa/SKILL.md +399 -399
  571. package/skills/quality/senior-qa/references/qa_best_practices.md +964 -964
  572. package/skills/quality/senior-qa/references/test_automation_patterns.md +1009 -1009
  573. package/skills/quality/senior-qa/references/testing_strategies.md +649 -649
  574. package/skills/quality/senior-qa/scripts/coverage_analyzer.py +836 -836
  575. package/skills/quality/senior-qa/scripts/e2e_test_scaffolder.py +820 -820
  576. package/skills/quality/senior-qa/scripts/test_suite_generator.py +605 -605
  577. package/skills/quality/tdd-guide/HOW_TO_USE.md +313 -313
  578. package/skills/quality/tdd-guide/README.md +680 -680
  579. package/skills/quality/tdd-guide/SKILL.md +122 -122
  580. package/skills/quality/tdd-guide/assets/expected_output.json +77 -77
  581. package/skills/quality/tdd-guide/assets/sample_input_python.json +39 -39
  582. package/skills/quality/tdd-guide/assets/sample_input_typescript.json +36 -36
  583. package/skills/quality/tdd-guide/references/ci-integration.md +195 -195
  584. package/skills/quality/tdd-guide/references/framework-guide.md +206 -206
  585. package/skills/quality/tdd-guide/references/tdd-best-practices.md +128 -128
  586. package/skills/quality/tdd-guide/scripts/coverage_analyzer.py +434 -434
  587. package/skills/quality/tdd-guide/scripts/fixture_generator.py +440 -440
  588. package/skills/quality/tdd-guide/scripts/format_detector.py +384 -384
  589. package/skills/quality/tdd-guide/scripts/framework_adapter.py +428 -428
  590. package/skills/quality/tdd-guide/scripts/metrics_calculator.py +456 -456
  591. package/skills/quality/tdd-guide/scripts/output_formatter.py +354 -354
  592. package/skills/quality/tdd-guide/scripts/tdd_workflow.py +474 -474
  593. package/skills/quality/tdd-guide/scripts/test_generator.py +438 -438
  594. package/skills/quality/test-master/SKILL.md +94 -94
  595. package/skills/quality/test-master/references/automation-frameworks.md +294 -294
  596. package/skills/quality/test-master/references/e2e-testing.md +128 -128
  597. package/skills/quality/test-master/references/integration-testing.md +120 -120
  598. package/skills/quality/test-master/references/performance-testing.md +118 -118
  599. package/skills/quality/test-master/references/qa-methodology.md +247 -247
  600. package/skills/quality/test-master/references/security-testing.md +127 -127
  601. package/skills/quality/test-master/references/tdd-iron-laws.md +174 -174
  602. package/skills/quality/test-master/references/test-reports.md +104 -104
  603. package/skills/quality/test-master/references/testing-anti-patterns.md +231 -231
  604. package/skills/quality/test-master/references/unit-testing.md +113 -113
  605. package/skills/ruby/rails-expert/SKILL.md +154 -154
  606. package/skills/ruby/rails-expert/references/active-record.md +244 -244
  607. package/skills/ruby/rails-expert/references/api-development.md +401 -401
  608. package/skills/ruby/rails-expert/references/background-jobs.md +272 -272
  609. package/skills/ruby/rails-expert/references/hotwire-turbo.md +228 -228
  610. package/skills/ruby/rails-expert/references/rspec-testing.md +367 -367
  611. package/skills/swift/swift-expert/SKILL.md +163 -163
  612. package/skills/swift/swift-expert/references/async-concurrency.md +360 -360
  613. package/skills/swift/swift-expert/references/memory-performance.md +377 -377
  614. package/skills/swift/swift-expert/references/protocol-oriented.md +354 -354
  615. package/skills/swift/swift-expert/references/swiftui-patterns.md +291 -291
  616. package/skills/swift/swift-expert/references/testing-patterns.md +399 -399
  617. package/skills/workflow/brainstorming/SKILL.md +164 -164
  618. package/skills/workflow/brainstorming/scripts/frame-template.html +214 -214
  619. package/skills/workflow/brainstorming/scripts/helper.js +88 -88
  620. package/skills/workflow/brainstorming/scripts/server.cjs +354 -354
  621. package/skills/workflow/brainstorming/scripts/start-server.sh +148 -148
  622. package/skills/workflow/brainstorming/scripts/stop-server.sh +56 -56
  623. package/skills/workflow/brainstorming/spec-document-reviewer-prompt.md +49 -49
  624. package/skills/workflow/brainstorming/visual-companion.md +287 -287
  625. package/skills/workflow/documentation/SKILL.md +45 -45
  626. package/skills/workflow/entropy-management/SKILL.md +115 -115
  627. package/skills/workflow/executing-plans/SKILL.md +70 -70
  628. package/skills/workflow/finishing-a-development-branch/SKILL.md +200 -200
  629. package/skills/workflow/receiving-code-review/SKILL.md +213 -213
  630. package/skills/workflow/requesting-code-review/SKILL.md +105 -105
  631. package/skills/workflow/requesting-code-review/code-reviewer.md +146 -146
  632. package/skills/workflow/requirement-engineering/SKILL.md +111 -111
  633. package/skills/workflow/systematic-debugging/CREATION-LOG.md +119 -119
  634. package/skills/workflow/systematic-debugging/SKILL.md +296 -296
  635. package/skills/workflow/systematic-debugging/condition-based-waiting-example.ts +158 -158
  636. package/skills/workflow/systematic-debugging/condition-based-waiting.md +115 -115
  637. package/skills/workflow/systematic-debugging/defense-in-depth.md +122 -122
  638. package/skills/workflow/systematic-debugging/find-polluter.sh +63 -63
  639. package/skills/workflow/systematic-debugging/root-cause-tracing.md +169 -169
  640. package/skills/workflow/systematic-debugging/test-academic.md +14 -14
  641. package/skills/workflow/systematic-debugging/test-pressure-1.md +58 -58
  642. package/skills/workflow/systematic-debugging/test-pressure-2.md +68 -68
  643. package/skills/workflow/systematic-debugging/test-pressure-3.md +69 -69
  644. package/skills/workflow/using-git-worktrees/SKILL.md +218 -218
  645. package/skills/workflow/verification-before-completion/SKILL.md +139 -139
  646. package/skills/workflow/writing-plans/SKILL.md +151 -151
  647. package/skills/workflow/writing-plans/plan-document-reviewer-prompt.md +49 -49
  648. package/skills/workflow/writing-skills/SKILL.md +655 -655
  649. package/skills/workflow/writing-skills/anthropic-best-practices.md +1150 -1150
  650. package/skills/workflow/writing-skills/examples/CLAUDE_MD_TESTING.md +189 -189
  651. package/skills/workflow/writing-skills/persuasion-principles.md +187 -187
  652. package/skills/workflow/writing-skills/render-graphs.js +168 -168
  653. package/skills/workflow/writing-skills/testing-skills-with-subagents.md +384 -384
@@ -0,0 +1,129 @@
1
+ ---
2
+ name: spring-boot-engineer_zn
3
+ description: 中文版 Java / Spring Boot 工程规约与代码 Review 标准。覆盖 Jakarta Validation 参数校验、空安全工具类、常量与枚举、Lombok/POJO、异常与日志、安全、MySQL/ORM、并发、单元测试、工程分层与 Review 清单。当用中文进行 Java/Spring Boot 代码生成、改造或 Review 时加载。
4
+ license: MIT
5
+ metadata:
6
+ version: "1.0.0"
7
+ domain: backend
8
+ triggers: Java 代码规约, Spring Boot 规约, Jakarta Validation, Lombok, MyBatis, 阿里巴巴 Java 开发手册, 代码 Review, 工程分层
9
+ role: specialist
10
+ scope: standards
11
+ output-format: code
12
+ related-skills: spring-boot-engineer, java-architect
13
+ language: zh-CN
14
+ ---
15
+
16
+ # Spring Boot 工程规约(中文)
17
+
18
+ ## 适用范围
19
+
20
+ 本 skill 以《Java 开发手册》为基准,适用于 Java / Spring / Spring Boot 项目的代码生成、修改和 Review,强制遵守命名、格式、异常日志、安全、数据库、分层与设计规约。
21
+
22
+ 加载时机:当用中文进行 Java / Spring Boot 代码生成、改造或 Review,且需要超出纯编码风格(见 `docs/rules/java_zn/coding-style.md`)的工程规约时,加载本 skill。生成代码时优先遵守项目现有约定;项目无明确约定时按本 skill 执行。
23
+
24
+ ## 参考指南
25
+
26
+ 按上下文加载对应参考文件:
27
+
28
+ | 主题 | 参考文件 | 何时加载 |
29
+ |------|----------|----------|
30
+ | DTO 与参数校验 | `references/validation.md` | Jakarta Validation 注解、`@Valid`/`@Validated`、跨字段与业务校验 |
31
+ | OOP / POJO / Lombok | `references/pojo-lombok.md` | POJO 设计、Lombok 注解组合、Builder、`@Data` 取舍 |
32
+ | 异常与日志 | `references/exception-logging.md` | 异常处理完整规则、SLF4J 日志、脱敏 |
33
+ | 安全 | `references/security.md` | 参数校验、权限、脱敏、SQL 注入、CSRF、幂等防刷 |
34
+ | MySQL 与 ORM | `references/persistence.md` | 表结构规约、MyBatis、分页、事务 |
35
+ | 并发 | `references/concurrency.md` | 线程池、`ThreadLocal`、锁、并发更新 |
36
+ | 单元测试 | `references/testing.md` | 测试编写、覆盖范围、独立可重复 |
37
+ | 工程结构与设计 | `references/architecture.md` | 重复代码抽象、分层依赖、单一职责、设计原则 |
38
+
39
+ ## 核心规约
40
+
41
+ 以下为高频内联规约,完整迁移自原规则。
42
+
43
+ ### 值判断与工具类使用
44
+
45
+ - 字符串、包装类型、对象、集合、数组等值判断,应优先使用空安全工具类或 JDK 工具方法,避免直接使用 `==` / `!=` 做相等判断。
46
+ - 字符串空白判断优先使用 `org.apache.commons.lang3.StringUtils.isBlank` / `isNotBlank`,或项目已有的 `org.springframework.util.StringUtils.hasText`。
47
+ - 字符串相等优先使用 `org.apache.commons.lang3.StringUtils.equals` / `equalsIgnoreCase`。
48
+ - 对象相等优先使用 `java.util.Objects.equals`。
49
+ - Boolean 包装类型判断优先使用 `org.apache.commons.lang3.BooleanUtils.isTrue` / `isFalse`。
50
+ - 集合或 Map 判空优先使用 `org.springframework.util.CollectionUtils.isEmpty`。
51
+ - 数组、对象整体判空可使用 `org.springframework.util.ObjectUtils.isEmpty`。
52
+ - 枚举相等在明确非空语义下可以使用 `EnumConstant == value`;如果枚举变量可能为 null,优先使用 `Objects.equals(value, EnumConstant)` 或将常量放左侧。
53
+ - 基本类型大小比较仍使用 `>`、`<`、`>=`、`<=`。
54
+
55
+ 禁止写法:
56
+
57
+ ```java
58
+ if (userName == "") {
59
+ return;
60
+ }
61
+
62
+ if (status == 1) {
63
+ return;
64
+ }
65
+
66
+ if (enabled == true) {
67
+ return;
68
+ }
69
+ ```
70
+
71
+ 推荐写法:
72
+
73
+ ```java
74
+ if (StringUtils.isBlank(userName)) {
75
+ return;
76
+ }
77
+
78
+ if (Objects.equals(status, ENABLED_STATUS)) {
79
+ return;
80
+ }
81
+
82
+ if (BooleanUtils.isTrue(enabled)) {
83
+ return;
84
+ }
85
+
86
+ if (CollectionUtils.isEmpty(userList)) {
87
+ return;
88
+ }
89
+ ```
90
+
91
+ ### 常量与枚举
92
+
93
+ - 禁止魔法值直接出现在代码中,应定义为常量或枚举。
94
+ - `Long` 字面量使用大写 `L`,例如 `1L`。
95
+ - 固定范围的状态、类型、渠道、来源等优先使用枚举。
96
+ - 常量按功能归类,不要维护一个“大而全”的常量类。
97
+ - 枚举类建议以 `Enum` 结尾,枚举项全大写并使用下划线分隔。
98
+
99
+ ### DTO 与参数校验要点
100
+
101
+ - DTO 字段校验优先使用 `jakarta.validation` 注解,Controller 入参用 `@Valid` / `@Validated` 触发,嵌套对象与集合元素用 `@Valid` 级联。
102
+ - 禁止使用 `javax.validation` 包;Spring Boot 3+ 统一 Jakarta Validation。
103
+ - 简单字段校验交给 DTO 注解,不在 Service 中重复写 `if`;跨字段、依赖外部数据、权限幂等等复杂校验才用代码校验。
104
+
105
+ > 完整规则与示例见 `references/validation.md`。
106
+
107
+ ### Lombok 与 POJO 要点
108
+
109
+ - 创建 DO / DTO / VO / BO / Query / Command 等数据承载对象时,优先使用 Lombok 注解生成 getter、setter、构造器、`toString`、Builder 等样板代码。
110
+ - 字段较多或可选参数较多时优先 `@Builder` + `Xxx.builder().field(value).build()`;框架反射创建对象时保留无参构造器。
111
+ - 谨慎使用 `@Data`:涉及继承、实体、缓存 key、集合元素去重或需精确控制 `equals` / `hashCode` 的类,改用更明确的 `@Getter`、`@Setter`、`@ToString`、`@EqualsAndHashCode`。
112
+
113
+ > 完整规则与示例见 `references/pojo-lombok.md`。
114
+
115
+ ## Review 检查清单
116
+
117
+ Review Java 代码时至少检查:
118
+
119
+ - DTO 字段校验是否优先使用 `jakarta.validation` 注解。
120
+ - 是否误用了 `javax.validation`。
121
+ - 字符串、包装类型、对象、集合判断是否使用空安全工具类。
122
+ - 是否存在 `==` 比较字符串、包装类型或业务值对象。
123
+ - 数据承载对象是否优先使用 Lombok 注解,字段较多的对象创建是否优先使用 Builder。
124
+ - 是否出现魔法值。
125
+ - 同类或跨类重复代码是否出现 3 次及以上。
126
+ - 是否存在过深嵌套、超长方法或复杂条件表达式。
127
+ - 异常是否被吞掉,日志是否重复打印或泄露敏感信息。
128
+ - SQL 是否显式列字段、使用参数绑定并命中必要索引。
129
+ - 新增核心逻辑是否有单元测试覆盖。
@@ -0,0 +1,23 @@
1
+ # 工程结构与设计
2
+
3
+ ## 重复代码与抽象
4
+
5
+ - 同一段或高度相似代码出现 3 次及以上,必须评估抽取。
6
+ - 简单业务复用优先抽为 `private` 方法或领域服务方法。
7
+ - 跨类复用优先抽为公共组件、工具类、模板方法或策略类。
8
+ - 跨层、横切关注点优先考虑 AOP、Filter、Interceptor、注解驱动组件,例如:
9
+ - 登录态、权限、租户、审计、幂等、限流、防重放。
10
+ - 统一日志、埋点、异常转换、接口耗时统计。
11
+ - 重复的通用参数校验逻辑。
12
+ - DTO 简单字段校验重复出现时,不要抽 `checkXxx` 方法,应优先回到 DTO 上加 Jakarta Validation 注解。
13
+
14
+ ## 工程结构与设计
15
+
16
+ - 上层可以依赖下层,下层不要反向依赖上层。
17
+ - Web 层负责协议适配、基础参数校验和转发,不承载复杂业务。
18
+ - Service / Manager 层承载业务编排和领域逻辑。
19
+ - DAO 层只处理持久化,不写业务逻辑。
20
+ - 类应遵守单一职责。
21
+ - 优先组合 / 聚合,谨慎使用继承。
22
+ - 依赖抽象而非具体实现,保持扩展开放、修改封闭。
23
+ - 状态超过 3 个、对象协作复杂、调用链涉及对象超过 3 个时,应考虑补充状态图、时序图或类图辅助设计。
@@ -0,0 +1,9 @@
1
+ # 并发规则
2
+
3
+ - 线程资源必须通过线程池提供,不允许随意 `new Thread`。
4
+ - 线程池不使用 `Executors` 快捷方法,应通过 `ThreadPoolExecutor` 明确核心参数。
5
+ - 线程和线程池必须有可识别的业务名称。
6
+ - `ThreadLocal` 使用后必须在 `finally` 中清理。
7
+ - 多资源加锁必须保持一致顺序,避免死锁。
8
+ - 并发更新同一记录必须考虑锁、版本号、幂等或唯一约束。
9
+ - `SimpleDateFormat` 不得作为共享静态变量;优先使用 `java.time`。
@@ -0,0 +1,31 @@
1
+ # 异常处理与日志
2
+
3
+ ## 异常处理
4
+
5
+ - 异常不得用于流程控制。
6
+ - 能通过预检查避免的 RuntimeException,不应依赖 catch 兜底。
7
+ - catch 后必须处理、转换或记录,不允许空 catch。
8
+ - 事务代码中 catch 后如果需要回滚,必须显式处理回滚或继续抛出异常。
9
+ - `finally` 中禁止 `return`。
10
+ - 流和资源优先使用 `try-with-resources`。
11
+ - 对外接口使用统一错误码或统一响应结构;应用内部优先通过明确的业务异常表达失败。
12
+ - 方法返回值允许为 null 时,必须通过注释、Optional 或调用约定说明清楚。
13
+
14
+ ## 日志规则
15
+
16
+ - 使用 SLF4J 等统一日志门面,不直接依赖具体日志实现 API。
17
+ - 日志变量拼接使用占位符,不使用字符串拼接。
18
+ - `trace` / `debug` / 大量 `info` 日志输出前必须判断日志级别。
19
+ - 不要重复打印同一个异常;上层已记录时下层不要重复记录完整堆栈。
20
+ - 异常日志必须包含现场信息和异常堆栈。
21
+ - 生产环境禁止输出敏感数据,用户敏感信息必须脱敏。
22
+
23
+ 示例:
24
+
25
+ ```java
26
+ if (log.isDebugEnabled()) {
27
+ log.debug("Create user request, orgId={}, userName={}", orgId, userName);
28
+ }
29
+
30
+ log.error("Create user failed, orgId={}, userName={}", orgId, userName, exception);
31
+ ```
@@ -0,0 +1,13 @@
1
+ # MySQL 与 ORM
2
+
3
+ - 表名、字段名使用小写字母、数字和下划线,禁止保留字。
4
+ - 表名不使用复数。
5
+ - 表必须包含 `id`、`create_time`、`update_time` 等基础字段,除非项目规范另有说明。
6
+ - 表达是与否的数据库字段使用 `is_xxx`,Java POJO 字段不要使用 `is` 前缀,并在映射中处理。
7
+ - 小数类型使用 `decimal`,禁止用 `float` / `double` 存储精确金额。
8
+ - 具备唯一业务语义的字段必须建立唯一索引。
9
+ - 查询字段必须显式列出,禁止 `select *`。
10
+ - MyBatis 参数使用 `#{}`,禁止 `${}` 拼接用户输入。
11
+ - 分页查询时如果 `count` 为 0,应直接返回,不继续执行分页查询。
12
+ - 更新记录时必须维护更新时间字段。
13
+ - `@Transactional` 不要滥用,事务范围应尽量小且语义明确。
@@ -0,0 +1,48 @@
1
+ # OOP 与 POJO
2
+
3
+ ## OOP 与 POJO 通用规则
4
+
5
+ - 所有覆写方法必须添加 `@Override`。
6
+ - 禁止使用过时类或过时方法。
7
+ - DO / DTO / VO 等 POJO 字段必须使用包装类型,局部变量可使用基本类型。
8
+ - POJO 类必须提供可读的 `toString`,避免遗漏关键字段;优先使用 Lombok `@ToString` 生成。
9
+ - POJO 布尔字段不要以 `is` 开头,避免序列化和反序列化歧义。
10
+ - 构造方法中禁止写业务逻辑;初始化逻辑放到明确的初始化方法或工厂方法。
11
+ - `BigDecimal` 禁止使用 `new BigDecimal(double)`,应使用字符串或 `BigDecimal.valueOf`。
12
+ - 循环体内字符串拼接优先使用 `StringBuilder`。
13
+ - 访问控制从严,能 `private` 不 `protected`,能包内可见不 `public`。
14
+
15
+ ## Lombok 使用规则
16
+
17
+ - 创建 DO / DTO / VO / BO / Query / Command 等数据承载对象时,优先使用 Lombok 注解生成 getter、setter、构造器、`toString`、Builder 等样板代码。
18
+ - 常用组合:
19
+ - 可变 DTO / VO:`@Getter`、`@Setter`、`@ToString`、`@NoArgsConstructor`
20
+ - 需要全参构造:增加 `@AllArgsConstructor`
21
+ - 字段较多或可选参数较多:增加 `@Builder`,创建对象时优先使用 `Xxx.builder().field(value).build()`
22
+ - 继承结构下的 Builder:使用 `@SuperBuilder`
23
+ - 不可变值对象:优先使用 `@Value` 或 `@Getter` + `final` 字段,按项目约定选择
24
+ - Jackson、MyBatis、JPA 等框架需要反射创建对象时,应保留无参构造器,例如 `@NoArgsConstructor`。
25
+ - DTO 字段不要为了 Lombok `@Builder.Default` 设置默认值;确有业务默认值时,应在业务层、工厂方法或明确的初始化流程中处理。
26
+ - 谨慎使用 `@Data`:纯 DTO / VO 可按项目约定使用;涉及继承、实体、缓存 key、集合元素去重或需要精确控制 `equals` / `hashCode` 的类,应改用更明确的 `@Getter`、`@Setter`、`@ToString`、`@EqualsAndHashCode`。
27
+
28
+ 推荐写法:
29
+
30
+ ```java
31
+ @Getter
32
+ @Setter
33
+ @ToString
34
+ @NoArgsConstructor
35
+ @AllArgsConstructor
36
+ @Builder
37
+ public class UserDTO {
38
+
39
+ private Long id;
40
+
41
+ private String userName;
42
+ }
43
+
44
+ UserDTO user = UserDTO.builder()
45
+ .id(userId)
46
+ .userName(userName)
47
+ .build();
48
+ ```
@@ -0,0 +1,9 @@
1
+ # 安全规则
2
+
3
+ - 用户请求传入的任何参数必须做有效性验证。
4
+ - 用户个人页面或功能必须做权限控制,避免越权访问。
5
+ - 敏感数据展示、日志输出、接口返回必须脱敏。
6
+ - SQL 参数必须使用参数绑定,禁止拼接用户输入。
7
+ - HTML 输出用户数据必须正确转义或过滤。
8
+ - 表单和 AJAX 提交按项目规范执行 CSRF 校验。
9
+ - 下单、支付、短信、邮件等资源消耗型接口必须考虑幂等、防重放、防刷和频率限制。
@@ -0,0 +1,7 @@
1
+ # 单元测试
2
+
3
+ - 单元测试应自动化、独立、可重复执行。
4
+ - 测试代码放在 `src/test/java`。
5
+ - 核心业务、核心模块和缺陷修复必须补充测试。
6
+ - 测试不要依赖外部环境顺序、数据库已有数据或测试执行顺序。
7
+ - 对复杂分支、边界条件、异常路径、参数校验规则应覆盖测试。
@@ -0,0 +1,80 @@
1
+ # DTO 与参数校验
2
+
3
+ ## Jakarta Validation 优先
4
+
5
+ - DTO 字段非空、长度、范围、格式等校验,必须优先使用 `jakarta.validation` 包下的注解。
6
+ - 禁止使用 `javax.validation` 包;Spring Boot 3+ 项目统一使用 Jakarta Validation。
7
+ - Controller 入参 DTO 使用 `@Valid` 或 `@Validated` 触发校验。
8
+ - 嵌套对象、集合元素需要级联校验时使用 `@Valid`。
9
+ - DTO 字段不要设置默认值,避免框架反序列化和业务语义混淆。
10
+
11
+ 常用注解优先级:
12
+
13
+ ```java
14
+ import jakarta.validation.Valid;
15
+ import jakarta.validation.constraints.AssertTrue;
16
+ import jakarta.validation.constraints.Email;
17
+ import jakarta.validation.constraints.Max;
18
+ import jakarta.validation.constraints.Min;
19
+ import jakarta.validation.constraints.NotBlank;
20
+ import jakarta.validation.constraints.NotEmpty;
21
+ import jakarta.validation.constraints.NotNull;
22
+ import jakarta.validation.constraints.Pattern;
23
+ import jakarta.validation.constraints.Positive;
24
+ import jakarta.validation.constraints.Size;
25
+ ```
26
+
27
+ 推荐写法:
28
+
29
+ ```java
30
+ public class CreateUserDTO {
31
+
32
+ @NotBlank(message = "用户名不能为空")
33
+ @Size(max = 64, message = "用户名长度不能超过64")
34
+ private String userName;
35
+
36
+ @NotNull(message = "组织ID不能为空")
37
+ @Positive(message = "组织ID必须为正数")
38
+ private Long orgId;
39
+
40
+ @Email(message = "邮箱格式不正确")
41
+ private String email;
42
+
43
+ @Valid
44
+ @NotEmpty(message = "明细不能为空")
45
+ private List<CreateUserItemDTO> items;
46
+ }
47
+ ```
48
+
49
+ Controller 示例:
50
+
51
+ ```java
52
+ @PostMapping("/users")
53
+ public Result<Void> createUser(@Valid @RequestBody CreateUserDTO request) {
54
+ userService.createUser(request);
55
+ return Result.success();
56
+ }
57
+ ```
58
+
59
+ ## 代码校验只作为补充
60
+
61
+ - 简单字段校验不得在 Service 中重复写 `if` 判断,应交给 DTO 注解。
62
+ - 以下场景可以使用代码校验:
63
+ - 跨字段关系,例如 `startTime` 必须早于 `endTime`。
64
+ - 依赖数据库、缓存、外部服务的业务校验。
65
+ - 权限、幂等、防重放、防刷等上下文相关校验。
66
+ - 注解表达成本过高或会显著降低可读性的复杂条件。
67
+ - 跨字段规则优先考虑 `@AssertTrue`、自定义约束注解或类级别 Validator;仍不适合时才写业务代码校验。
68
+ - 方法参数校验可在类上使用 `@Validated`,并在 public 方法参数上使用 Jakarta Validation 注解。
69
+
70
+ 示例:
71
+
72
+ ```java
73
+ @AssertTrue(message = "开始时间必须早于结束时间")
74
+ public boolean isTimeRangeValid() {
75
+ if (startTime == null || endTime == null) {
76
+ return true;
77
+ }
78
+ return startTime.isBefore(endTime);
79
+ }
80
+ ```
@@ -1,132 +1,132 @@
1
- ---
2
- name: javascript-pro
3
- description: Writes, debugs, and refactors JavaScript code using modern ES2023+ features, async/await patterns, ESM module systems, and Node.js APIs. Use when building vanilla JavaScript applications, implementing Promise-based async flows, optimising browser or Node.js performance, working with Web Workers or Fetch API, or reviewing .js/.mjs/.cjs files for correctness and best practices.
4
- license: MIT
5
- metadata:
6
- author: https://github.com/Jeffallan
7
- version: "1.1.0"
8
- domain: language
9
- triggers: JavaScript, ES2023, async await, Node.js, vanilla JavaScript, Web Workers, Fetch API, browser API, module system
10
- role: specialist
11
- scope: implementation
12
- output-format: code
13
- related-skills: fullstack-guardian
14
- ---
15
-
16
- # JavaScript Pro
17
-
18
- ## When to Use This Skill
19
-
20
- - Building vanilla JavaScript applications
21
- - Implementing async/await patterns and Promise handling
22
- - Working with modern module systems (ESM/CJS)
23
- - Optimizing browser performance and memory usage
24
- - Developing Node.js backend services
25
- - Implementing Web Workers, Service Workers, or browser APIs
26
-
27
- ## Core Workflow
28
-
29
- 1. **Analyze requirements** — Review `package.json`, module system, Node version, browser targets; confirm `.js`/`.mjs`/`.cjs` conventions
30
- 2. **Design architecture** — Plan modules, async flows, and error handling strategies
31
- 3. **Implement** — Write ES2023+ code with proper patterns and optimisations
32
- 4. **Validate** — Run linter (`eslint --fix`); if linter fails, fix all reported issues and re-run before proceeding. Check for memory leaks with DevTools or `--inspect`, verify bundle size; if leaks are found, resolve them before continuing
33
- 5. **Test** — Write comprehensive tests with Jest achieving 85%+ coverage; if coverage falls short, add missing cases and re-run. Confirm no unhandled Promise rejections
34
-
35
- ## Reference Guide
36
-
37
- Load detailed guidance based on context:
38
-
39
- | Topic | Reference | Load When |
40
- |-------|-----------|-----------|
41
- | Modern Syntax | `references/modern-syntax.md` | ES2023+ features, optional chaining, private fields |
42
- | Async Patterns | `references/async-patterns.md` | Promises, async/await, error handling, event loop |
43
- | Modules | `references/modules.md` | ESM vs CJS, dynamic imports, package.json exports |
44
- | Browser APIs | `references/browser-apis.md` | Fetch, Web Workers, Storage, IntersectionObserver |
45
- | Node Essentials | `references/node-essentials.md` | fs/promises, streams, EventEmitter, worker threads |
46
-
47
- ## Constraints
48
-
49
- ### MUST DO
50
- - Use ES2023+ features exclusively
51
- - Use `X | null` or `X | undefined` patterns
52
- - Use optional chaining (`?.`) and nullish coalescing (`??`)
53
- - Use async/await for all asynchronous operations
54
- - Use ESM (`import`/`export`) for new projects
55
- - Implement proper error handling with try/catch
56
- - Add JSDoc comments for complex functions
57
- - Follow functional programming principles
58
-
59
- ### MUST NOT DO
60
- - Use `var` (always use `const` or `let`)
61
- - Use callback-based patterns (prefer Promises)
62
- - Mix CommonJS and ESM in the same module
63
- - Ignore memory leaks or performance issues
64
- - Skip error handling in async functions
65
- - Use synchronous I/O in Node.js
66
- - Mutate function parameters
67
- - Create blocking operations in the browser
68
-
69
- ## Key Patterns with Examples
70
-
71
- ### Async/Await Error Handling
72
- ```js
73
- // ✅ Correct — always handle async errors explicitly
74
- async function fetchUser(id) {
75
- try {
76
- const response = await fetch(`/api/users/${id}`);
77
- if (!response.ok) throw new Error(`HTTP ${response.status}`);
78
- return await response.json();
79
- } catch (err) {
80
- console.error("fetchUser failed:", err);
81
- return null;
82
- }
83
- }
84
-
85
- // ❌ Incorrect — unhandled rejection, no null guard
86
- async function fetchUser(id) {
87
- const response = await fetch(`/api/users/${id}`);
88
- return response.json();
89
- }
90
- ```
91
-
92
- ### Optional Chaining & Nullish Coalescing
93
- ```js
94
- // ✅ Correct
95
- const city = user?.address?.city ?? "Unknown";
96
-
97
- // ❌ Incorrect — throws if address is undefined
98
- const city = user.address.city || "Unknown";
99
- ```
100
-
101
- ### ESM Module Structure
102
- ```js
103
- // ✅ Correct — named exports, no default-only exports for libraries
104
- // utils/math.mjs
105
- export const add = (a, b) => a + b;
106
- export const multiply = (a, b) => a * b;
107
-
108
- // consumer.mjs
109
- import { add } from "./utils/math.mjs";
110
-
111
- // ❌ Incorrect — mixing require() with ESM
112
- const { add } = require("./utils/math.mjs");
113
- ```
114
-
115
- ### Avoid var / Prefer const
116
- ```js
117
- // ✅ Correct
118
- const MAX_RETRIES = 3;
119
- let attempts = 0;
120
-
121
- // ❌ Incorrect
122
- var MAX_RETRIES = 3;
123
- var attempts = 0;
124
- ```
125
-
126
- ## Output Templates
127
-
128
- When implementing JavaScript features, provide:
129
- 1. Module file with clean exports
130
- 2. Test file with comprehensive coverage
131
- 3. JSDoc documentation for public APIs
132
- 4. Brief explanation of patterns used
1
+ ---
2
+ name: javascript-pro
3
+ description: Writes, debugs, and refactors JavaScript code using modern ES2023+ features, async/await patterns, ESM module systems, and Node.js APIs. Use when building vanilla JavaScript applications, implementing Promise-based async flows, optimising browser or Node.js performance, working with Web Workers or Fetch API, or reviewing .js/.mjs/.cjs files for correctness and best practices.
4
+ license: MIT
5
+ metadata:
6
+ author: https://github.com/Jeffallan
7
+ version: "1.1.0"
8
+ domain: language
9
+ triggers: JavaScript, ES2023, async await, Node.js, vanilla JavaScript, Web Workers, Fetch API, browser API, module system
10
+ role: specialist
11
+ scope: implementation
12
+ output-format: code
13
+ related-skills: fullstack-guardian
14
+ ---
15
+
16
+ # JavaScript Pro
17
+
18
+ ## When to Use This Skill
19
+
20
+ - Building vanilla JavaScript applications
21
+ - Implementing async/await patterns and Promise handling
22
+ - Working with modern module systems (ESM/CJS)
23
+ - Optimizing browser performance and memory usage
24
+ - Developing Node.js backend services
25
+ - Implementing Web Workers, Service Workers, or browser APIs
26
+
27
+ ## Core Workflow
28
+
29
+ 1. **Analyze requirements** — Review `package.json`, module system, Node version, browser targets; confirm `.js`/`.mjs`/`.cjs` conventions
30
+ 2. **Design architecture** — Plan modules, async flows, and error handling strategies
31
+ 3. **Implement** — Write ES2023+ code with proper patterns and optimisations
32
+ 4. **Validate** — Run linter (`eslint --fix`); if linter fails, fix all reported issues and re-run before proceeding. Check for memory leaks with DevTools or `--inspect`, verify bundle size; if leaks are found, resolve them before continuing
33
+ 5. **Test** — Write comprehensive tests with Jest achieving 85%+ coverage; if coverage falls short, add missing cases and re-run. Confirm no unhandled Promise rejections
34
+
35
+ ## Reference Guide
36
+
37
+ Load detailed guidance based on context:
38
+
39
+ | Topic | Reference | Load When |
40
+ |-------|-----------|-----------|
41
+ | Modern Syntax | `references/modern-syntax.md` | ES2023+ features, optional chaining, private fields |
42
+ | Async Patterns | `references/async-patterns.md` | Promises, async/await, error handling, event loop |
43
+ | Modules | `references/modules.md` | ESM vs CJS, dynamic imports, package.json exports |
44
+ | Browser APIs | `references/browser-apis.md` | Fetch, Web Workers, Storage, IntersectionObserver |
45
+ | Node Essentials | `references/node-essentials.md` | fs/promises, streams, EventEmitter, worker threads |
46
+
47
+ ## Constraints
48
+
49
+ ### MUST DO
50
+ - Use ES2023+ features exclusively
51
+ - Use `X | null` or `X | undefined` patterns
52
+ - Use optional chaining (`?.`) and nullish coalescing (`??`)
53
+ - Use async/await for all asynchronous operations
54
+ - Use ESM (`import`/`export`) for new projects
55
+ - Implement proper error handling with try/catch
56
+ - Add JSDoc comments for complex functions
57
+ - Follow functional programming principles
58
+
59
+ ### MUST NOT DO
60
+ - Use `var` (always use `const` or `let`)
61
+ - Use callback-based patterns (prefer Promises)
62
+ - Mix CommonJS and ESM in the same module
63
+ - Ignore memory leaks or performance issues
64
+ - Skip error handling in async functions
65
+ - Use synchronous I/O in Node.js
66
+ - Mutate function parameters
67
+ - Create blocking operations in the browser
68
+
69
+ ## Key Patterns with Examples
70
+
71
+ ### Async/Await Error Handling
72
+ ```js
73
+ // ✅ Correct — always handle async errors explicitly
74
+ async function fetchUser(id) {
75
+ try {
76
+ const response = await fetch(`/api/users/${id}`);
77
+ if (!response.ok) throw new Error(`HTTP ${response.status}`);
78
+ return await response.json();
79
+ } catch (err) {
80
+ console.error("fetchUser failed:", err);
81
+ return null;
82
+ }
83
+ }
84
+
85
+ // ❌ Incorrect — unhandled rejection, no null guard
86
+ async function fetchUser(id) {
87
+ const response = await fetch(`/api/users/${id}`);
88
+ return response.json();
89
+ }
90
+ ```
91
+
92
+ ### Optional Chaining & Nullish Coalescing
93
+ ```js
94
+ // ✅ Correct
95
+ const city = user?.address?.city ?? "Unknown";
96
+
97
+ // ❌ Incorrect — throws if address is undefined
98
+ const city = user.address.city || "Unknown";
99
+ ```
100
+
101
+ ### ESM Module Structure
102
+ ```js
103
+ // ✅ Correct — named exports, no default-only exports for libraries
104
+ // utils/math.mjs
105
+ export const add = (a, b) => a + b;
106
+ export const multiply = (a, b) => a * b;
107
+
108
+ // consumer.mjs
109
+ import { add } from "./utils/math.mjs";
110
+
111
+ // ❌ Incorrect — mixing require() with ESM
112
+ const { add } = require("./utils/math.mjs");
113
+ ```
114
+
115
+ ### Avoid var / Prefer const
116
+ ```js
117
+ // ✅ Correct
118
+ const MAX_RETRIES = 3;
119
+ let attempts = 0;
120
+
121
+ // ❌ Incorrect
122
+ var MAX_RETRIES = 3;
123
+ var attempts = 0;
124
+ ```
125
+
126
+ ## Output Templates
127
+
128
+ When implementing JavaScript features, provide:
129
+ 1. Module file with clean exports
130
+ 2. Test file with comprehensive coverage
131
+ 3. JSDoc documentation for public APIs
132
+ 4. Brief explanation of patterns used