@ngxtm/devkit 3.7.0 → 3.9.0

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 (772) hide show
  1. package/cli/init.js +23 -7
  2. package/cli/update.js +21 -6
  3. package/merged-commands/3d-web-experience.md +254 -0
  4. package/merged-commands/ab-test-setup.md +232 -0
  5. package/merged-commands/accessibility-compliance-accessibility-audit.md +42 -0
  6. package/merged-commands/active-directory-attacks.md +383 -0
  7. package/merged-commands/address-github-comments.md +55 -0
  8. package/merged-commands/aesthetic.md +134 -0
  9. package/merged-commands/agent-evaluation.md +64 -0
  10. package/merged-commands/agent-framework-azure-hosted-agents.md +332 -0
  11. package/merged-commands/agent-manager-skill.md +40 -0
  12. package/merged-commands/agent-memory-mcp.md +82 -0
  13. package/merged-commands/agent-memory-systems.md +67 -0
  14. package/merged-commands/agent-orchestration-improve-agent.md +349 -0
  15. package/merged-commands/agent-orchestration-multi-agent-optimize.md +239 -0
  16. package/merged-commands/agent-tool-builder.md +53 -0
  17. package/merged-commands/agile-product-owner.md +31 -0
  18. package/merged-commands/ai-agents-architect.md +90 -0
  19. package/merged-commands/ai-artist.md +75 -0
  20. package/merged-commands/ai-engineer.md +171 -0
  21. package/merged-commands/ai-multimodal.md +109 -0
  22. package/merged-commands/ai-product.md +54 -0
  23. package/merged-commands/ai-wrapper-product.md +273 -0
  24. package/merged-commands/airflow-dag-patterns.md +41 -0
  25. package/merged-commands/algolia-search.md +66 -0
  26. package/merged-commands/algorithmic-art.md +405 -0
  27. package/merged-commands/analytics-tracking.md +404 -0
  28. package/merged-commands/angular-architect.md +97 -0
  29. package/merged-commands/angular-migration.md +428 -0
  30. package/merged-commands/anti-reversing-techniques.md +42 -0
  31. package/merged-commands/api-design-principles.md +37 -0
  32. package/merged-commands/api-designer.md +101 -0
  33. package/merged-commands/api-documentation-generator.md +484 -0
  34. package/merged-commands/api-documenter.md +184 -0
  35. package/merged-commands/api-fuzzing-bug-bounty.md +433 -0
  36. package/merged-commands/api-patterns.md +81 -0
  37. package/merged-commands/api-security-best-practices.md +907 -0
  38. package/merged-commands/api-testing-observability-api-mock.md +46 -0
  39. package/merged-commands/app-builder.md +75 -0
  40. package/merged-commands/app-store-optimization.md +403 -0
  41. package/merged-commands/application-performance-performance-optimization.md +154 -0
  42. package/merged-commands/architect-review.md +174 -0
  43. package/merged-commands/architecture-decision-records.md +441 -0
  44. package/merged-commands/architecture-designer.md +89 -0
  45. package/merged-commands/architecture-patterns.md +37 -0
  46. package/merged-commands/architecture.md +55 -0
  47. package/merged-commands/arm-cortex-expert.md +306 -0
  48. package/merged-commands/artifacts-builder.md +74 -0
  49. package/merged-commands/ask-questions-if-underspecified.md +81 -0
  50. package/merged-commands/async-python-patterns.md +39 -0
  51. package/merged-commands/atlassian-mcp.md +100 -0
  52. package/merged-commands/attack-tree-construction.md +38 -0
  53. package/merged-commands/auth-implementation-patterns.md +39 -0
  54. package/merged-commands/automate-whatsapp.md +257 -0
  55. package/merged-commands/autonomous-agent-patterns.md +761 -0
  56. package/merged-commands/autonomous-agents.md +68 -0
  57. package/merged-commands/avalonia-layout-zafiro.md +59 -0
  58. package/merged-commands/avalonia-viewmodels-zafiro.md +29 -0
  59. package/merged-commands/avalonia-zafiro-development.md +29 -0
  60. package/merged-commands/aws-agentic-ai.md +117 -0
  61. package/merged-commands/aws-cdk-development.md +278 -0
  62. package/merged-commands/aws-cost-operations.md +317 -0
  63. package/merged-commands/aws-penetration-testing.md +405 -0
  64. package/merged-commands/aws-serverless-eda.md +757 -0
  65. package/merged-commands/aws-serverless.md +323 -0
  66. package/merged-commands/aws-skills.md +22 -0
  67. package/merged-commands/azd-deployment.md +296 -0
  68. package/merged-commands/azure-ai-agents-python.md +277 -0
  69. package/merged-commands/azure-ai-search-python.md +198 -0
  70. package/merged-commands/azure-ai-voicelive-skill.md +294 -0
  71. package/merged-commands/azure-functions.md +42 -0
  72. package/merged-commands/backend-architect.md +333 -0
  73. package/merged-commands/backend-dev-guidelines.md +342 -0
  74. package/merged-commands/backend-development-feature-development.md +180 -0
  75. package/merged-commands/backend-development.md +155 -0
  76. package/merged-commands/backend-security-coder.md +156 -0
  77. package/merged-commands/backtesting-frameworks.md +39 -0
  78. package/merged-commands/bash-defensive-patterns.md +43 -0
  79. package/merged-commands/bash-linux.md +199 -0
  80. package/merged-commands/bash-pro.md +310 -0
  81. package/merged-commands/bats-testing-patterns.md +34 -0
  82. package/merged-commands/bazel-build-optimization.md +397 -0
  83. package/merged-commands/beautiful-prose.md +22 -0
  84. package/merged-commands/behavioral-modes.md +242 -0
  85. package/merged-commands/best-practices.md +500 -0
  86. package/merged-commands/better-auth.md +204 -0
  87. package/merged-commands/billing-automation.md +42 -0
  88. package/merged-commands/binary-analysis-patterns.md +450 -0
  89. package/merged-commands/blockchain-developer.md +208 -0
  90. package/merged-commands/blockrun.md +292 -0
  91. package/merged-commands/brainstorming.md +230 -0
  92. package/merged-commands/brand-guidelines-anthropic.md +73 -0
  93. package/merged-commands/brand-guidelines-community.md +73 -0
  94. package/merged-commands/brand-guidelines.md +73 -0
  95. package/merged-commands/broken-authentication.md +476 -0
  96. package/merged-commands/browser-automation.md +70 -0
  97. package/merged-commands/browser-extension-builder.md +261 -0
  98. package/merged-commands/building-ai-agent-on-cloudflare.md +391 -0
  99. package/merged-commands/building-mcp-server-on-cloudflare.md +265 -0
  100. package/merged-commands/bullmq-specialist.md +57 -0
  101. package/merged-commands/bun-development.md +691 -0
  102. package/merged-commands/burp-suite-testing.md +380 -0
  103. package/merged-commands/business-analyst.md +182 -0
  104. package/merged-commands/busybox-on-windows.md +30 -0
  105. package/merged-commands/c-pro.md +56 -0
  106. package/merged-commands/c4-architecture-c4-architecture.md +389 -0
  107. package/merged-commands/c4-code.md +244 -0
  108. package/merged-commands/c4-component.md +153 -0
  109. package/merged-commands/c4-container.md +171 -0
  110. package/merged-commands/c4-context.md +150 -0
  111. package/merged-commands/canvas-design.md +130 -0
  112. package/merged-commands/cc-skill-backend-patterns.md +584 -0
  113. package/merged-commands/cc-skill-clickhouse-io.md +431 -0
  114. package/merged-commands/cc-skill-coding-standards.md +522 -0
  115. package/merged-commands/cc-skill-continuous-learning.md +10 -0
  116. package/merged-commands/cc-skill-frontend-patterns.md +633 -0
  117. package/merged-commands/cc-skill-project-guidelines-example.md +352 -0
  118. package/merged-commands/cc-skill-security-review.md +496 -0
  119. package/merged-commands/cc-skill-strategic-compact.md +10 -0
  120. package/merged-commands/changelog-automation.md +38 -0
  121. package/merged-commands/changelog-generator.md +104 -0
  122. package/merged-commands/chaos-engineer.md +98 -0
  123. package/merged-commands/chrome-devtools.md +407 -0
  124. package/merged-commands/cicd-automation-workflow-automate.md +51 -0
  125. package/merged-commands/clarity-gate.md +22 -0
  126. package/merged-commands/claude-ally-health.md +22 -0
  127. package/merged-commands/claude-code-guide.md +68 -0
  128. package/merged-commands/claude-d3js-skill.md +820 -0
  129. package/merged-commands/claude-scientific-skills.md +22 -0
  130. package/merged-commands/claude-speed-reader.md +22 -0
  131. package/merged-commands/claude-win11-speckit-update-skill.md +22 -0
  132. package/merged-commands/clean-code.md +201 -0
  133. package/merged-commands/clerk-auth.md +56 -0
  134. package/merged-commands/cli-developer.md +97 -0
  135. package/merged-commands/cloud-architect.md +135 -0
  136. package/merged-commands/cloud-penetration-testing.md +501 -0
  137. package/merged-commands/cloudflare-expert.md +227 -0
  138. package/merged-commands/code-documentation-code-explain.md +46 -0
  139. package/merged-commands/code-documentation-doc-generate.md +48 -0
  140. package/merged-commands/code-documentation.md +263 -0
  141. package/merged-commands/code-documenter.md +95 -0
  142. package/merged-commands/code-refactoring-context-restore.md +179 -0
  143. package/merged-commands/code-refactoring-refactor-clean.md +51 -0
  144. package/merged-commands/code-refactoring-tech-debt.md +386 -0
  145. package/merged-commands/code-refactoring.md +209 -0
  146. package/merged-commands/code-review-ai-ai-review.md +450 -0
  147. package/merged-commands/code-review-checklist.md +444 -0
  148. package/merged-commands/code-review-excellence.md +40 -0
  149. package/merged-commands/code-review.md +121 -0
  150. package/merged-commands/code-reviewer.md +178 -0
  151. package/merged-commands/codebase-cleanup-deps-audit.md +51 -0
  152. package/merged-commands/codebase-cleanup-refactor-clean.md +51 -0
  153. package/merged-commands/codebase-cleanup-tech-debt.md +386 -0
  154. package/merged-commands/codex-review.md +37 -0
  155. package/merged-commands/commit.md +171 -0
  156. package/merged-commands/competitive-ads-extractor.md +293 -0
  157. package/merged-commands/competitive-landscape.md +34 -0
  158. package/merged-commands/competitor-alternatives.md +750 -0
  159. package/merged-commands/comprehensive-review-full-review.md +146 -0
  160. package/merged-commands/comprehensive-review-pr-enhance.md +46 -0
  161. package/merged-commands/computer-use-agents.md +315 -0
  162. package/merged-commands/concise-planning.md +62 -0
  163. package/merged-commands/conductor-implement.md +388 -0
  164. package/merged-commands/conductor-manage.md +39 -0
  165. package/merged-commands/conductor-new-track.md +433 -0
  166. package/merged-commands/conductor-revert.md +372 -0
  167. package/merged-commands/conductor-setup.md +426 -0
  168. package/merged-commands/conductor-status.md +338 -0
  169. package/merged-commands/conductor-validator.md +62 -0
  170. package/merged-commands/content-creator.md +248 -0
  171. package/merged-commands/content-marketer.md +170 -0
  172. package/merged-commands/content-research-writer.md +538 -0
  173. package/merged-commands/context-compression.md +266 -0
  174. package/merged-commands/context-degradation.md +238 -0
  175. package/merged-commands/context-driven-development.md +400 -0
  176. package/merged-commands/context-engineering.md +107 -0
  177. package/merged-commands/context-fundamentals.md +192 -0
  178. package/merged-commands/context-management-context-restore.md +179 -0
  179. package/merged-commands/context-management-context-save.md +177 -0
  180. package/merged-commands/context-manager.md +185 -0
  181. package/merged-commands/context-optimization.md +186 -0
  182. package/merged-commands/context-window-management.md +53 -0
  183. package/merged-commands/context7-auto-research.md +36 -0
  184. package/merged-commands/conversation-memory.md +61 -0
  185. package/merged-commands/copy-editing.md +439 -0
  186. package/merged-commands/copywriting.md +225 -0
  187. package/merged-commands/core-components.md +264 -0
  188. package/merged-commands/cosmos-db-python-skill.md +198 -0
  189. package/merged-commands/cost-optimization.md +286 -0
  190. package/merged-commands/cpp-pro.md +59 -0
  191. package/merged-commands/cqrs-implementation.md +35 -0
  192. package/merged-commands/create-pr.md +192 -0
  193. package/merged-commands/crewai.md +243 -0
  194. package/merged-commands/csharp-developer.md +94 -0
  195. package/merged-commands/csharp-pro.md +59 -0
  196. package/merged-commands/culture-index.md +43 -0
  197. package/merged-commands/customer-support.md +170 -0
  198. package/merged-commands/daily-news-report.md +356 -0
  199. package/merged-commands/data-engineer.md +224 -0
  200. package/merged-commands/data-engineering-data-driven-feature.md +182 -0
  201. package/merged-commands/data-engineering-data-pipeline.md +201 -0
  202. package/merged-commands/data-quality-frameworks.md +40 -0
  203. package/merged-commands/data-scientist.md +199 -0
  204. package/merged-commands/data-storytelling.md +465 -0
  205. package/merged-commands/database-admin.md +165 -0
  206. package/merged-commands/database-architect.md +268 -0
  207. package/merged-commands/database-cloud-optimization-cost-optimize.md +44 -0
  208. package/merged-commands/database-design.md +52 -0
  209. package/merged-commands/database-migration.md +436 -0
  210. package/merged-commands/database-migrations-migration-observability.md +420 -0
  211. package/merged-commands/database-migrations-sql-migrations.md +53 -0
  212. package/merged-commands/database-optimizer.md +167 -0
  213. package/merged-commands/databases.md +232 -0
  214. package/merged-commands/dbt-transformation-patterns.md +34 -0
  215. package/merged-commands/debugger.md +49 -0
  216. package/merged-commands/debugging-strategies.md +34 -0
  217. package/merged-commands/debugging-toolkit-smart-debug.md +197 -0
  218. package/merged-commands/debugging-wizard.md +93 -0
  219. package/merged-commands/debugging.md +84 -0
  220. package/merged-commands/deep-research.md +114 -0
  221. package/merged-commands/defi-protocol-templates.md +466 -0
  222. package/merged-commands/dependency-management-deps-audit.md +44 -0
  223. package/merged-commands/dependency-upgrade.md +421 -0
  224. package/merged-commands/deployment-engineer.md +170 -0
  225. package/merged-commands/deployment-pipeline-design.md +371 -0
  226. package/merged-commands/deployment-procedures.md +241 -0
  227. package/merged-commands/deployment-validation-config-validate.md +496 -0
  228. package/merged-commands/design-md.md +178 -0
  229. package/merged-commands/design-orchestration.md +167 -0
  230. package/merged-commands/developer-growth-analysis.md +322 -0
  231. package/merged-commands/devops-engineer.md +92 -0
  232. package/merged-commands/devops-troubleshooter.md +161 -0
  233. package/merged-commands/devops.md +285 -0
  234. package/merged-commands/discord-bot-architect.md +277 -0
  235. package/merged-commands/dispatching-parallel-agents.md +180 -0
  236. package/merged-commands/distributed-debugging-debug-trace.md +44 -0
  237. package/merged-commands/distributed-tracing.md +450 -0
  238. package/merged-commands/django-expert.md +89 -0
  239. package/merged-commands/django-pro.md +180 -0
  240. package/merged-commands/doc-coauthoring.md +375 -0
  241. package/merged-commands/docker-expert.md +409 -0
  242. package/merged-commands/docs-architect.md +98 -0
  243. package/merged-commands/docs-seeker.md +102 -0
  244. package/merged-commands/documentation-generation-doc-generate.md +48 -0
  245. package/merged-commands/documentation-templates.md +194 -0
  246. package/merged-commands/docx-official.md +197 -0
  247. package/merged-commands/docx.md +197 -0
  248. package/merged-commands/domain-name-brainstormer.md +212 -0
  249. package/merged-commands/dotnet-architect.md +197 -0
  250. package/merged-commands/dotnet-backend-patterns.md +37 -0
  251. package/merged-commands/dotnet-core-expert.md +96 -0
  252. package/merged-commands/dx-optimizer.md +83 -0
  253. package/merged-commands/e2e-testing-patterns.md +41 -0
  254. package/merged-commands/elixir-pro.md +59 -0
  255. package/merged-commands/email-sequence.md +925 -0
  256. package/merged-commands/email-systems.md +54 -0
  257. package/merged-commands/embedded-systems.md +98 -0
  258. package/merged-commands/embedding-strategies.md +491 -0
  259. package/merged-commands/employment-contract-templates.md +39 -0
  260. package/merged-commands/environment-setup-guide.md +479 -0
  261. package/merged-commands/error-debugging-error-analysis.md +47 -0
  262. package/merged-commands/error-debugging-error-trace.md +43 -0
  263. package/merged-commands/error-debugging-multi-agent-review.md +216 -0
  264. package/merged-commands/error-detective.md +53 -0
  265. package/merged-commands/error-diagnostics-error-analysis.md +47 -0
  266. package/merged-commands/error-diagnostics-error-trace.md +48 -0
  267. package/merged-commands/error-diagnostics-smart-debug.md +197 -0
  268. package/merged-commands/error-handling-patterns.md +35 -0
  269. package/merged-commands/ethical-hacking-methodology.md +466 -0
  270. package/merged-commands/evaluation.md +238 -0
  271. package/merged-commands/event-sourcing-architect.md +58 -0
  272. package/merged-commands/event-store-design.md +449 -0
  273. package/merged-commands/exa-search.md +36 -0
  274. package/merged-commands/executing-plans.md +76 -0
  275. package/merged-commands/expo-app-design.md +22 -0
  276. package/merged-commands/expo-deployment.md +72 -0
  277. package/merged-commands/fal-audio.md +22 -0
  278. package/merged-commands/fal-generate.md +22 -0
  279. package/merged-commands/fal-image-edit.md +22 -0
  280. package/merged-commands/fal-platform.md +22 -0
  281. package/merged-commands/fal-upscale.md +22 -0
  282. package/merged-commands/fal-workflow.md +22 -0
  283. package/merged-commands/fastapi-expert.md +93 -0
  284. package/merged-commands/fastapi-pro.md +192 -0
  285. package/merged-commands/fastapi-router.md +52 -0
  286. package/merged-commands/fastapi-templates.md +32 -0
  287. package/merged-commands/feature-forge.md +90 -0
  288. package/merged-commands/ffuf-claude-skill.md +22 -0
  289. package/merged-commands/file-organizer.md +250 -0
  290. package/merged-commands/file-path-traversal.md +486 -0
  291. package/merged-commands/file-uploads.md +22 -0
  292. package/merged-commands/find-bugs.md +86 -0
  293. package/merged-commands/fine-tuning-expert.md +98 -0
  294. package/merged-commands/finishing-a-development-branch.md +200 -0
  295. package/merged-commands/firebase.md +56 -0
  296. package/merged-commands/firecrawl-scraper.md +37 -0
  297. package/merged-commands/firmware-analyst.md +320 -0
  298. package/merged-commands/fix-review.md +53 -0
  299. package/merged-commands/fixing.md +72 -0
  300. package/merged-commands/flutter-expert.md +200 -0
  301. package/merged-commands/form-cro.md +441 -0
  302. package/merged-commands/foundry-iq-agent.md +15 -0
  303. package/merged-commands/foundry-iq-python.md +275 -0
  304. package/merged-commands/foundry-nextgen-frontend.md +555 -0
  305. package/merged-commands/foundry-sdk-python.md +290 -0
  306. package/merged-commands/fp-ts-errors.md +856 -0
  307. package/merged-commands/fp-ts-pragmatic.md +598 -0
  308. package/merged-commands/fp-ts-react.md +796 -0
  309. package/merged-commands/framework-migration-code-migrate.md +48 -0
  310. package/merged-commands/framework-migration-deps-upgrade.md +48 -0
  311. package/merged-commands/framework-migration-legacy-modernize.md +132 -0
  312. package/merged-commands/free-tool-strategy.md +576 -0
  313. package/merged-commands/frontend-design.md +272 -0
  314. package/merged-commands/frontend-dev-guidelines.md +359 -0
  315. package/merged-commands/frontend-developer.md +171 -0
  316. package/merged-commands/frontend-development.md +399 -0
  317. package/merged-commands/frontend-mobile-development-component-scaffold.md +403 -0
  318. package/merged-commands/frontend-mobile-security-xss-scan.md +322 -0
  319. package/merged-commands/frontend-security-coder.md +170 -0
  320. package/merged-commands/frontend-slides.md +770 -0
  321. package/merged-commands/full-stack-orchestration-full-stack-feature.md +135 -0
  322. package/merged-commands/fullstack-guardian.md +99 -0
  323. package/merged-commands/game-developer.md +94 -0
  324. package/merged-commands/game-development.md +167 -0
  325. package/merged-commands/gcp-cloud-run.md +288 -0
  326. package/merged-commands/gdpr-data-handling.md +33 -0
  327. package/merged-commands/geo-fundamentals.md +156 -0
  328. package/merged-commands/git-advanced-workflows.md +412 -0
  329. package/merged-commands/git-pr-workflows-git-workflow.md +140 -0
  330. package/merged-commands/git-pr-workflows-onboard.md +416 -0
  331. package/merged-commands/git-pr-workflows-pr-enhance.md +48 -0
  332. package/merged-commands/git-pushing.md +33 -0
  333. package/merged-commands/github-actions-templates.md +345 -0
  334. package/merged-commands/github-workflow-automation.md +846 -0
  335. package/merged-commands/gitlab-ci-patterns.md +283 -0
  336. package/merged-commands/gitops-workflow.md +303 -0
  337. package/merged-commands/go-concurrency-patterns.md +33 -0
  338. package/merged-commands/godot-gdscript-patterns.md +33 -0
  339. package/merged-commands/golang-pro.md +179 -0
  340. package/merged-commands/google-adk-python.md +243 -0
  341. package/merged-commands/grafana-dashboards.md +381 -0
  342. package/merged-commands/graphql-architect.md +182 -0
  343. package/merged-commands/graphql.md +68 -0
  344. package/merged-commands/haskell-pro.md +56 -0
  345. package/merged-commands/helm-chart-scaffolding.md +34 -0
  346. package/merged-commands/hr-pro.md +126 -0
  347. package/merged-commands/html-injection-testing.md +498 -0
  348. package/merged-commands/hubspot-integration.md +42 -0
  349. package/merged-commands/hugging-face-cli.md +198 -0
  350. package/merged-commands/hugging-face-jobs.md +1038 -0
  351. package/merged-commands/hybrid-cloud-architect.md +168 -0
  352. package/merged-commands/hybrid-cloud-networking.md +238 -0
  353. package/merged-commands/hybrid-search-implementation.md +32 -0
  354. package/merged-commands/i18n-localization.md +154 -0
  355. package/merged-commands/idor-testing.md +442 -0
  356. package/merged-commands/image-enhancer.md +99 -0
  357. package/merged-commands/imagen.md +77 -0
  358. package/merged-commands/incident-responder.md +213 -0
  359. package/merged-commands/incident-response-incident-response.md +168 -0
  360. package/merged-commands/incident-response-smart-fix.md +29 -0
  361. package/merged-commands/incident-runbook-templates.md +395 -0
  362. package/merged-commands/infinite-gratitude.md +26 -0
  363. package/merged-commands/inngest.md +55 -0
  364. package/merged-commands/interactive-portfolio.md +223 -0
  365. package/merged-commands/internal-comms-anthropic.md +32 -0
  366. package/merged-commands/internal-comms-community.md +32 -0
  367. package/merged-commands/internal-comms.md +32 -0
  368. package/merged-commands/invoice-organizer.md +446 -0
  369. package/merged-commands/ios-developer.md +219 -0
  370. package/merged-commands/issue-creator.md +137 -0
  371. package/merged-commands/istio-traffic-management.md +337 -0
  372. package/merged-commands/iterate-pr.md +150 -0
  373. package/merged-commands/java-architect.md +95 -0
  374. package/merged-commands/java-pro.md +177 -0
  375. package/merged-commands/javascript-mastery.md +645 -0
  376. package/merged-commands/javascript-pro.md +57 -0
  377. package/merged-commands/javascript-testing-patterns.md +35 -0
  378. package/merged-commands/javascript-typescript-typescript-scaffold.md +361 -0
  379. package/merged-commands/javascript-typescript.md +142 -0
  380. package/merged-commands/jira-issues.md +181 -0
  381. package/merged-commands/job-application.md +90 -0
  382. package/merged-commands/julia-pro.md +209 -0
  383. package/merged-commands/k8s-manifest-generator.md +35 -0
  384. package/merged-commands/k8s-security-policies.md +346 -0
  385. package/merged-commands/kaizen.md +730 -0
  386. package/merged-commands/kotlin-specialist.md +94 -0
  387. package/merged-commands/kpi-dashboard-design.md +440 -0
  388. package/merged-commands/kubernetes-architect.md +170 -0
  389. package/merged-commands/kubernetes-specialist.md +117 -0
  390. package/merged-commands/langchain-architecture.md +350 -0
  391. package/merged-commands/langfuse.md +238 -0
  392. package/merged-commands/langgraph.md +287 -0
  393. package/merged-commands/laravel-specialist.md +101 -0
  394. package/merged-commands/last30days.md +421 -0
  395. package/merged-commands/launch-strategy.md +344 -0
  396. package/merged-commands/lead-research-assistant.md +199 -0
  397. package/merged-commands/learn.md +476 -0
  398. package/merged-commands/legacy-modernizer.md +53 -0
  399. package/merged-commands/legal-advisor.md +70 -0
  400. package/merged-commands/linear-claude-skill.md +543 -0
  401. package/merged-commands/linkerd-patterns.md +321 -0
  402. package/merged-commands/lint-and-validate.md +45 -0
  403. package/merged-commands/linux-privilege-escalation.md +504 -0
  404. package/merged-commands/linux-shell-scripting.md +504 -0
  405. package/merged-commands/llm-app-patterns.md +760 -0
  406. package/merged-commands/llm-application-dev-ai-assistant.md +35 -0
  407. package/merged-commands/llm-application-dev-langchain-agent.md +246 -0
  408. package/merged-commands/llm-application-dev-prompt-optimize.md +37 -0
  409. package/merged-commands/llm-application-dev.md +216 -0
  410. package/merged-commands/llm-evaluation.md +483 -0
  411. package/merged-commands/loki-mode.md +721 -0
  412. package/merged-commands/machine-learning-ops-ml-pipeline.md +314 -0
  413. package/merged-commands/makepad-skills.md +22 -0
  414. package/merged-commands/malware-analyst.md +247 -0
  415. package/merged-commands/markdown-novel-viewer.md +281 -0
  416. package/merged-commands/market-sizing-analysis.md +425 -0
  417. package/merged-commands/marketing-ideas.md +221 -0
  418. package/merged-commands/marketing-psychology.md +255 -0
  419. package/merged-commands/mcp-builder.md +236 -0
  420. package/merged-commands/mcp-developer.md +94 -0
  421. package/merged-commands/mcp-management.md +209 -0
  422. package/merged-commands/media-processing.md +358 -0
  423. package/merged-commands/meeting-insights-analyzer.md +327 -0
  424. package/merged-commands/memory-forensics.md +491 -0
  425. package/merged-commands/memory-safety-patterns.md +33 -0
  426. package/merged-commands/memory-systems.md +228 -0
  427. package/merged-commands/mermaid-expert.md +59 -0
  428. package/merged-commands/mermaidjs-v11.md +115 -0
  429. package/merged-commands/metasploit-framework.md +478 -0
  430. package/merged-commands/micro-saas-launcher.md +212 -0
  431. package/merged-commands/microservices-architect.md +102 -0
  432. package/merged-commands/microservices-patterns.md +35 -0
  433. package/merged-commands/minecraft-bukkit-pro.md +126 -0
  434. package/merged-commands/ml-engineer.md +168 -0
  435. package/merged-commands/ml-pipeline-workflow.md +257 -0
  436. package/merged-commands/ml-pipeline.md +111 -0
  437. package/merged-commands/mlops-engineer.md +219 -0
  438. package/merged-commands/mobile-design.md +284 -0
  439. package/merged-commands/mobile-developer.md +205 -0
  440. package/merged-commands/mobile-development.md +212 -0
  441. package/merged-commands/mobile-security-coder.md +184 -0
  442. package/merged-commands/modern-javascript-patterns.md +35 -0
  443. package/merged-commands/monitoring-expert.md +92 -0
  444. package/merged-commands/monorepo-architect.md +61 -0
  445. package/merged-commands/monorepo-management.md +35 -0
  446. package/merged-commands/moodle-external-api-development.md +597 -0
  447. package/merged-commands/mtls-configuration.md +359 -0
  448. package/merged-commands/multi-agent-brainstorming.md +256 -0
  449. package/merged-commands/multi-agent-patterns.md +262 -0
  450. package/merged-commands/multi-cloud-architecture.md +189 -0
  451. package/merged-commands/multi-platform-apps-multi-platform.md +203 -0
  452. package/merged-commands/n8n-code-python.md +750 -0
  453. package/merged-commands/n8n-mcp-tools-expert.md +654 -0
  454. package/merged-commands/n8n-node-configuration.md +796 -0
  455. package/merged-commands/nanobanana-ppt-skills.md +22 -0
  456. package/merged-commands/neon-postgres.md +56 -0
  457. package/merged-commands/nestjs-expert.md +552 -0
  458. package/merged-commands/network-101.md +342 -0
  459. package/merged-commands/network-engineer.md +169 -0
  460. package/merged-commands/nextjs-app-router-patterns.md +33 -0
  461. package/merged-commands/nextjs-best-practices.md +203 -0
  462. package/merged-commands/nextjs-developer.md +97 -0
  463. package/merged-commands/nextjs-supabase-auth.md +56 -0
  464. package/merged-commands/nft-standards.md +395 -0
  465. package/merged-commands/nodejs-backend-patterns.md +35 -0
  466. package/merged-commands/nodejs-best-practices.md +333 -0
  467. package/merged-commands/nosql-expert.md +111 -0
  468. package/merged-commands/notebooklm-skill.md +269 -0
  469. package/merged-commands/notebooklm.md +269 -0
  470. package/merged-commands/notion-template-business.md +216 -0
  471. package/merged-commands/nx-workspace-patterns.md +464 -0
  472. package/merged-commands/observability-engineer.md +237 -0
  473. package/merged-commands/observability-monitoring-monitor-setup.md +48 -0
  474. package/merged-commands/observability-monitoring-slo-implement.md +43 -0
  475. package/merged-commands/observe-whatsapp.md +109 -0
  476. package/merged-commands/obsidian-clipper-template-creator.md +64 -0
  477. package/merged-commands/on-call-handoff-patterns.md +453 -0
  478. package/merged-commands/onboarding-cro.md +433 -0
  479. package/merged-commands/openapi-spec-generation.md +33 -0
  480. package/merged-commands/page-cro.md +343 -0
  481. package/merged-commands/paid-ads.md +551 -0
  482. package/merged-commands/pandas-pro.md +96 -0
  483. package/merged-commands/parallel-agents.md +175 -0
  484. package/merged-commands/payment-integration.md +77 -0
  485. package/merged-commands/paypal-integration.md +479 -0
  486. package/merged-commands/paywall-upgrade-cro.md +570 -0
  487. package/merged-commands/pci-compliance.md +478 -0
  488. package/merged-commands/pdf-official.md +294 -0
  489. package/merged-commands/pdf.md +294 -0
  490. package/merged-commands/pentest-checklist.md +334 -0
  491. package/merged-commands/pentest-commands.md +438 -0
  492. package/merged-commands/performance-engineer.md +180 -0
  493. package/merged-commands/performance-profiling.md +143 -0
  494. package/merged-commands/performance-testing-review-ai-review.md +450 -0
  495. package/merged-commands/performance-testing-review-multi-agent-review.md +216 -0
  496. package/merged-commands/personal-tool-builder.md +289 -0
  497. package/merged-commands/php-pro.md +63 -0
  498. package/merged-commands/plaid-fintech.md +50 -0
  499. package/merged-commands/plan-writing.md +152 -0
  500. package/merged-commands/planning-with-files.md +211 -0
  501. package/merged-commands/planning.md +95 -0
  502. package/merged-commands/plans-kanban.md +166 -0
  503. package/merged-commands/playwright-expert.md +87 -0
  504. package/merged-commands/playwright-skill.md +453 -0
  505. package/merged-commands/podcast-generation.md +121 -0
  506. package/merged-commands/popup-cro.md +346 -0
  507. package/merged-commands/posix-shell-pro.md +304 -0
  508. package/merged-commands/postgres-best-practices.md +57 -0
  509. package/merged-commands/postgres-pro.md +98 -0
  510. package/merged-commands/postgresql.md +230 -0
  511. package/merged-commands/postmortem-writing.md +386 -0
  512. package/merged-commands/powershell-windows.md +167 -0
  513. package/merged-commands/pptx-official.md +484 -0
  514. package/merged-commands/pptx.md +484 -0
  515. package/merged-commands/pricing-strategy.md +356 -0
  516. package/merged-commands/prisma-expert.md +355 -0
  517. package/merged-commands/privilege-escalation-methods.md +333 -0
  518. package/merged-commands/problem-solving.md +96 -0
  519. package/merged-commands/product-manager-toolkit.md +351 -0
  520. package/merged-commands/product-strategist.md +26 -0
  521. package/merged-commands/production-code-audit.md +540 -0
  522. package/merged-commands/programmatic-seo.md +351 -0
  523. package/merged-commands/projection-patterns.md +33 -0
  524. package/merged-commands/prometheus-configuration.md +404 -0
  525. package/merged-commands/prompt-caching.md +61 -0
  526. package/merged-commands/prompt-engineer.md +272 -0
  527. package/merged-commands/prompt-engineering-patterns.md +213 -0
  528. package/merged-commands/prompt-engineering.md +171 -0
  529. package/merged-commands/prompt-library.md +322 -0
  530. package/merged-commands/protocol-reverse-engineering.md +29 -0
  531. package/merged-commands/pydantic-models.md +58 -0
  532. package/merged-commands/pypict-skill.md +22 -0
  533. package/merged-commands/python-development-python-scaffold.md +331 -0
  534. package/merged-commands/python-development.md +139 -0
  535. package/merged-commands/python-packaging.md +36 -0
  536. package/merged-commands/python-patterns.md +441 -0
  537. package/merged-commands/python-performance-optimization.md +36 -0
  538. package/merged-commands/python-pro.md +158 -0
  539. package/merged-commands/python-testing-patterns.md +37 -0
  540. package/merged-commands/qa-regression.md +337 -0
  541. package/merged-commands/quant-analyst.md +53 -0
  542. package/merged-commands/radix-ui-design-system.md +847 -0
  543. package/merged-commands/raffle-winner-picker.md +159 -0
  544. package/merged-commands/rag-architect.md +100 -0
  545. package/merged-commands/rag-engineer.md +90 -0
  546. package/merged-commands/rag-implementation.md +421 -0
  547. package/merged-commands/rails-expert.md +97 -0
  548. package/merged-commands/react-best-practices.md +121 -0
  549. package/merged-commands/react-expert.md +98 -0
  550. package/merged-commands/react-flow-node.md +66 -0
  551. package/merged-commands/react-modernization.md +34 -0
  552. package/merged-commands/react-native-architecture.md +33 -0
  553. package/merged-commands/react-native-expert.md +88 -0
  554. package/merged-commands/react-patterns.md +198 -0
  555. package/merged-commands/react-state-management.md +441 -0
  556. package/merged-commands/react-ui-patterns.md +289 -0
  557. package/merged-commands/readme.md +775 -0
  558. package/merged-commands/receiving-code-review.md +213 -0
  559. package/merged-commands/red-team-tactics.md +199 -0
  560. package/merged-commands/red-team-tools.md +310 -0
  561. package/merged-commands/reference-builder.md +188 -0
  562. package/merged-commands/referral-program.md +602 -0
  563. package/merged-commands/remotion-best-practices.md +45 -0
  564. package/merged-commands/repomix.md +275 -0
  565. package/merged-commands/requesting-code-review.md +105 -0
  566. package/merged-commands/research-engineer.md +135 -0
  567. package/merged-commands/research.md +191 -0
  568. package/merged-commands/reverse-engineer.md +173 -0
  569. package/merged-commands/risk-manager.md +61 -0
  570. package/merged-commands/risk-metrics-calculation.md +33 -0
  571. package/merged-commands/ruby-pro.md +56 -0
  572. package/merged-commands/rust-async-patterns.md +33 -0
  573. package/merged-commands/rust-engineer.md +96 -0
  574. package/merged-commands/rust-pro.md +178 -0
  575. package/merged-commands/saga-orchestration.md +496 -0
  576. package/merged-commands/sales-automator.md +55 -0
  577. package/merged-commands/salesforce-developer.md +105 -0
  578. package/merged-commands/salesforce-development.md +51 -0
  579. package/merged-commands/sast-configuration.md +212 -0
  580. package/merged-commands/scala-pro.md +82 -0
  581. package/merged-commands/scanning-tools.md +589 -0
  582. package/merged-commands/schema-markup.md +360 -0
  583. package/merged-commands/screen-reader-testing.md +33 -0
  584. package/merged-commands/screenshots.md +401 -0
  585. package/merged-commands/scroll-experience.md +263 -0
  586. package/merged-commands/search-specialist.md +80 -0
  587. package/merged-commands/secrets-management.md +364 -0
  588. package/merged-commands/secure-code-guardian.md +93 -0
  589. package/merged-commands/security-auditor.md +169 -0
  590. package/merged-commands/security-bluebook-builder.md +22 -0
  591. package/merged-commands/security-compliance-compliance-check.md +55 -0
  592. package/merged-commands/security-requirement-extraction.md +33 -0
  593. package/merged-commands/security-reviewer.md +94 -0
  594. package/merged-commands/security-scanning-security-dependencies.md +43 -0
  595. package/merged-commands/security-scanning-security-hardening.md +147 -0
  596. package/merged-commands/security-scanning-security-sast.md +495 -0
  597. package/merged-commands/segment-cdp.md +50 -0
  598. package/merged-commands/senior-architect.md +209 -0
  599. package/merged-commands/senior-backend.md +209 -0
  600. package/merged-commands/senior-computer-vision.md +226 -0
  601. package/merged-commands/senior-data-engineer.md +226 -0
  602. package/merged-commands/senior-data-scientist.md +226 -0
  603. package/merged-commands/senior-devops.md +209 -0
  604. package/merged-commands/senior-frontend.md +209 -0
  605. package/merged-commands/senior-fullstack.md +209 -0
  606. package/merged-commands/senior-ml-engineer.md +226 -0
  607. package/merged-commands/senior-prompt-engineer.md +226 -0
  608. package/merged-commands/senior-qa.md +209 -0
  609. package/merged-commands/senior-secops.md +209 -0
  610. package/merged-commands/senior-security.md +209 -0
  611. package/merged-commands/seo-audit.md +487 -0
  612. package/merged-commands/seo-authority-builder.md +136 -0
  613. package/merged-commands/seo-cannibalization-detector.md +123 -0
  614. package/merged-commands/seo-content-auditor.md +83 -0
  615. package/merged-commands/seo-content-planner.md +108 -0
  616. package/merged-commands/seo-content-refresher.md +118 -0
  617. package/merged-commands/seo-content-writer.md +96 -0
  618. package/merged-commands/seo-fundamentals.md +173 -0
  619. package/merged-commands/seo-keyword-strategist.md +95 -0
  620. package/merged-commands/seo-meta-optimizer.md +92 -0
  621. package/merged-commands/seo-snippet-hunter.md +114 -0
  622. package/merged-commands/seo-structure-architect.md +108 -0
  623. package/merged-commands/sequential-thinking.md +94 -0
  624. package/merged-commands/server-management.md +161 -0
  625. package/merged-commands/service-mesh-expert.md +58 -0
  626. package/merged-commands/service-mesh-observability.md +395 -0
  627. package/merged-commands/sharp-edges.md +70 -0
  628. package/merged-commands/shellcheck-configuration.md +466 -0
  629. package/merged-commands/shodan-reconnaissance.md +503 -0
  630. package/merged-commands/shopify-apps.md +42 -0
  631. package/merged-commands/shopify-development.md +366 -0
  632. package/merged-commands/shopify-expert.md +102 -0
  633. package/merged-commands/signup-flow-cro.md +355 -0
  634. package/merged-commands/similarity-search-patterns.md +33 -0
  635. package/merged-commands/skill-creator.md +356 -0
  636. package/merged-commands/skill-developer.md +426 -0
  637. package/merged-commands/skill-rails-upgrade.md +408 -0
  638. package/merged-commands/skill-seekers.md +22 -0
  639. package/merged-commands/skill-share.md +80 -0
  640. package/merged-commands/slack-bot-builder.md +264 -0
  641. package/merged-commands/slack-gif-creator.md +254 -0
  642. package/merged-commands/slo-implementation.md +341 -0
  643. package/merged-commands/smtp-penetration-testing.md +500 -0
  644. package/merged-commands/social-content.md +807 -0
  645. package/merged-commands/software-architecture.md +75 -0
  646. package/merged-commands/solidity-security.md +34 -0
  647. package/merged-commands/spark-engineer.md +100 -0
  648. package/merged-commands/spark-optimization.md +427 -0
  649. package/merged-commands/spec-miner.md +88 -0
  650. package/merged-commands/spring-boot-engineer.md +104 -0
  651. package/merged-commands/sql-injection-testing.md +448 -0
  652. package/merged-commands/sql-optimization-patterns.md +35 -0
  653. package/merged-commands/sql-pro.md +173 -0
  654. package/merged-commands/sqlmap-database-pentesting.md +400 -0
  655. package/merged-commands/sre-engineer.md +98 -0
  656. package/merged-commands/ssh-penetration-testing.md +488 -0
  657. package/merged-commands/startup-analyst.md +328 -0
  658. package/merged-commands/startup-business-analyst-business-case.md +487 -0
  659. package/merged-commands/startup-business-analyst-financial-projections.md +353 -0
  660. package/merged-commands/startup-business-analyst-market-opportunity.md +240 -0
  661. package/merged-commands/startup-financial-modeling.md +467 -0
  662. package/merged-commands/startup-metrics-framework.md +34 -0
  663. package/merged-commands/stitch-ui-design.md +378 -0
  664. package/merged-commands/stride-analysis-patterns.md +33 -0
  665. package/merged-commands/stripe-integration.md +454 -0
  666. package/merged-commands/subagent-driven-development.md +240 -0
  667. package/merged-commands/superpowers-lab.md +22 -0
  668. package/merged-commands/swift-expert.md +94 -0
  669. package/merged-commands/swiftui-expert-skill.md +275 -0
  670. package/merged-commands/systematic-debugging.md +296 -0
  671. package/merged-commands/systems-programming-rust-project.md +440 -0
  672. package/merged-commands/tailwind-design-system.md +33 -0
  673. package/merged-commands/tailwind-patterns.md +269 -0
  674. package/merged-commands/tavily-web.md +36 -0
  675. package/merged-commands/tdd-orchestrator.md +205 -0
  676. package/merged-commands/tdd-workflow.md +149 -0
  677. package/merged-commands/tdd-workflows-tdd-cycle.md +221 -0
  678. package/merged-commands/tdd-workflows-tdd-green.md +73 -0
  679. package/merged-commands/tdd-workflows-tdd-red.md +164 -0
  680. package/merged-commands/tdd-workflows-tdd-refactor.md +187 -0
  681. package/merged-commands/team-collaboration-issue.md +37 -0
  682. package/merged-commands/team-collaboration-standup-notes.md +44 -0
  683. package/merged-commands/team-composition-analysis.md +413 -0
  684. package/merged-commands/telegram-bot-builder.md +254 -0
  685. package/merged-commands/telegram-mini-app.md +279 -0
  686. package/merged-commands/template-skill.md +6 -0
  687. package/merged-commands/temporal-python-pro.md +370 -0
  688. package/merged-commands/temporal-python-testing.md +170 -0
  689. package/merged-commands/terraform-engineer.md +97 -0
  690. package/merged-commands/terraform-module-library.md +261 -0
  691. package/merged-commands/terraform-skill.md +517 -0
  692. package/merged-commands/terraform-specialist.md +166 -0
  693. package/merged-commands/test-automator.md +224 -0
  694. package/merged-commands/test-driven-development.md +371 -0
  695. package/merged-commands/test-fixing.md +119 -0
  696. package/merged-commands/test-master.md +104 -0
  697. package/merged-commands/testing-patterns.md +259 -0
  698. package/merged-commands/theme-factory.md +59 -0
  699. package/merged-commands/threat-mitigation-mapping.md +33 -0
  700. package/merged-commands/threat-modeling-expert.md +60 -0
  701. package/merged-commands/threejs-skills.md +22 -0
  702. package/merged-commands/threejs.md +89 -0
  703. package/merged-commands/tool-design.md +318 -0
  704. package/merged-commands/top-web-vulnerabilities.md +543 -0
  705. package/merged-commands/track-management.md +38 -0
  706. package/merged-commands/trigger-dev.md +67 -0
  707. package/merged-commands/turborepo-caching.md +419 -0
  708. package/merged-commands/tutorial-engineer.md +139 -0
  709. package/merged-commands/twilio-communications.md +295 -0
  710. package/merged-commands/typescript-advanced-types.md +35 -0
  711. package/merged-commands/typescript-expert.md +429 -0
  712. package/merged-commands/typescript-pro.md +55 -0
  713. package/merged-commands/ui-design-system.md +32 -0
  714. package/merged-commands/ui-skills.md +22 -0
  715. package/merged-commands/ui-styling.md +321 -0
  716. package/merged-commands/ui-ux-designer.md +209 -0
  717. package/merged-commands/ui-ux-pro-max.md +351 -0
  718. package/merged-commands/ui-visual-validator.md +214 -0
  719. package/merged-commands/unit-testing-test-generate.md +319 -0
  720. package/merged-commands/unity-developer.md +230 -0
  721. package/merged-commands/unity-ecs-patterns.md +33 -0
  722. package/merged-commands/unreal-engine-cpp-pro.md +114 -0
  723. package/merged-commands/upgrading-expo.md +118 -0
  724. package/merged-commands/upstash-qstash.md +68 -0
  725. package/merged-commands/using-git-worktrees.md +217 -0
  726. package/merged-commands/using-neon.md +84 -0
  727. package/merged-commands/using-superpowers.md +87 -0
  728. package/merged-commands/uv-package-manager.md +37 -0
  729. package/merged-commands/ux-researcher-designer.md +30 -0
  730. package/merged-commands/varlock-claude-skill.md +22 -0
  731. package/merged-commands/vector-database-engineer.md +60 -0
  732. package/merged-commands/vector-index-tuning.md +42 -0
  733. package/merged-commands/vercel-deploy-claimable.md +120 -0
  734. package/merged-commands/vercel-deploy.md +22 -0
  735. package/merged-commands/vercel-deployment.md +79 -0
  736. package/merged-commands/verification-before-completion.md +139 -0
  737. package/merged-commands/vexor.md +22 -0
  738. package/merged-commands/video-downloader.md +106 -0
  739. package/merged-commands/viral-generator-builder.md +199 -0
  740. package/merged-commands/voice-agents.md +68 -0
  741. package/merged-commands/voice-ai-development.md +302 -0
  742. package/merged-commands/voice-ai-engine-development.md +721 -0
  743. package/merged-commands/vue-expert-js.md +91 -0
  744. package/merged-commands/vue-expert.md +374 -0
  745. package/merged-commands/vulnerability-scanner.md +276 -0
  746. package/merged-commands/wcag-audit-patterns.md +41 -0
  747. package/merged-commands/web-artifacts-builder.md +74 -0
  748. package/merged-commands/web-design-guidelines.md +36 -0
  749. package/merged-commands/web-frameworks.md +324 -0
  750. package/merged-commands/web-performance-optimization.md +646 -0
  751. package/merged-commands/web3-testing.md +427 -0
  752. package/merged-commands/webapp-testing.md +96 -0
  753. package/merged-commands/websocket-engineer.md +96 -0
  754. package/merged-commands/windows-privilege-escalation.md +496 -0
  755. package/merged-commands/wireshark-analysis.md +497 -0
  756. package/merged-commands/wordpress-penetration-testing.md +485 -0
  757. package/merged-commands/wordpress-pro.md +105 -0
  758. package/merged-commands/workflow-automation.md +68 -0
  759. package/merged-commands/workflow-orchestration-patterns.md +333 -0
  760. package/merged-commands/workflow-patterns.md +38 -0
  761. package/merged-commands/writing-plans.md +116 -0
  762. package/merged-commands/writing-skills.md +125 -0
  763. package/merged-commands/x-article-publisher-skill.md +22 -0
  764. package/merged-commands/xlsx-official.md +289 -0
  765. package/merged-commands/xlsx.md +289 -0
  766. package/merged-commands/xss-html-injection.md +499 -0
  767. package/merged-commands/youtube-transcript.md +415 -0
  768. package/merged-commands/zapier-make-patterns.md +67 -0
  769. package/merged-commands/zustand-store.md +68 -0
  770. package/package.json +1 -1
  771. package/scripts/merge-commands.js +21 -0
  772. package/templates/base/rules/auto-skill.md +131 -0
@@ -0,0 +1,441 @@
1
+ ---
2
+ name: react-state-management
3
+ description: Master modern React state management with Redux Toolkit, Zustand, Jotai, and React Query. Use when setting up global state, managing server state, or choosing between state management solutions.
4
+ ---
5
+
6
+ # React State Management
7
+
8
+ Comprehensive guide to modern React state management patterns, from local component state to global stores and server state synchronization.
9
+
10
+ ## Do not use this skill when
11
+
12
+ - The task is unrelated to react state management
13
+ - You need a different domain or tool outside this scope
14
+
15
+ ## Instructions
16
+
17
+ - Clarify goals, constraints, and required inputs.
18
+ - Apply relevant best practices and validate outcomes.
19
+ - Provide actionable steps and verification.
20
+ - If detailed examples are required, open `resources/implementation-playbook.md`.
21
+
22
+ ## Use this skill when
23
+
24
+ - Setting up global state management in a React app
25
+ - Choosing between Redux Toolkit, Zustand, or Jotai
26
+ - Managing server state with React Query or SWR
27
+ - Implementing optimistic updates
28
+ - Debugging state-related issues
29
+ - Migrating from legacy Redux to modern patterns
30
+
31
+ ## Core Concepts
32
+
33
+ ### 1. State Categories
34
+
35
+ | Type | Description | Solutions |
36
+ |------|-------------|-----------|
37
+ | **Local State** | Component-specific, UI state | useState, useReducer |
38
+ | **Global State** | Shared across components | Redux Toolkit, Zustand, Jotai |
39
+ | **Server State** | Remote data, caching | React Query, SWR, RTK Query |
40
+ | **URL State** | Route parameters, search | React Router, nuqs |
41
+ | **Form State** | Input values, validation | React Hook Form, Formik |
42
+
43
+ ### 2. Selection Criteria
44
+
45
+ ```
46
+ Small app, simple state → Zustand or Jotai
47
+ Large app, complex state → Redux Toolkit
48
+ Heavy server interaction → React Query + light client state
49
+ Atomic/granular updates → Jotai
50
+ ```
51
+
52
+ ## Quick Start
53
+
54
+ ### Zustand (Simplest)
55
+
56
+ ```typescript
57
+ // store/useStore.ts
58
+ import { create } from 'zustand'
59
+ import { devtools, persist } from 'zustand/middleware'
60
+
61
+ interface AppState {
62
+ user: User | null
63
+ theme: 'light' | 'dark'
64
+ setUser: (user: User | null) => void
65
+ toggleTheme: () => void
66
+ }
67
+
68
+ export const useStore = create<AppState>()(
69
+ devtools(
70
+ persist(
71
+ (set) => ({
72
+ user: null,
73
+ theme: 'light',
74
+ setUser: (user) => set({ user }),
75
+ toggleTheme: () => set((state) => ({
76
+ theme: state.theme === 'light' ? 'dark' : 'light'
77
+ })),
78
+ }),
79
+ { name: 'app-storage' }
80
+ )
81
+ )
82
+ )
83
+
84
+ // Usage in component
85
+ function Header() {
86
+ const { user, theme, toggleTheme } = useStore()
87
+ return (
88
+ <header className={theme}>
89
+ {user?.name}
90
+ <button onClick={toggleTheme}>Toggle Theme</button>
91
+ </header>
92
+ )
93
+ }
94
+ ```
95
+
96
+ ## Patterns
97
+
98
+ ### Pattern 1: Redux Toolkit with TypeScript
99
+
100
+ ```typescript
101
+ // store/index.ts
102
+ import { configureStore } from '@reduxjs/toolkit'
103
+ import { TypedUseSelectorHook, useDispatch, useSelector } from 'react-redux'
104
+ import userReducer from './slices/userSlice'
105
+ import cartReducer from './slices/cartSlice'
106
+
107
+ export const store = configureStore({
108
+ reducer: {
109
+ user: userReducer,
110
+ cart: cartReducer,
111
+ },
112
+ middleware: (getDefaultMiddleware) =>
113
+ getDefaultMiddleware({
114
+ serializableCheck: {
115
+ ignoredActions: ['persist/PERSIST'],
116
+ },
117
+ }),
118
+ })
119
+
120
+ export type RootState = ReturnType<typeof store.getState>
121
+ export type AppDispatch = typeof store.dispatch
122
+
123
+ // Typed hooks
124
+ export const useAppDispatch: () => AppDispatch = useDispatch
125
+ export const useAppSelector: TypedUseSelectorHook<RootState> = useSelector
126
+ ```
127
+
128
+ ```typescript
129
+ // store/slices/userSlice.ts
130
+ import { createSlice, createAsyncThunk, PayloadAction } from '@reduxjs/toolkit'
131
+
132
+ interface User {
133
+ id: string
134
+ email: string
135
+ name: string
136
+ }
137
+
138
+ interface UserState {
139
+ current: User | null
140
+ status: 'idle' | 'loading' | 'succeeded' | 'failed'
141
+ error: string | null
142
+ }
143
+
144
+ const initialState: UserState = {
145
+ current: null,
146
+ status: 'idle',
147
+ error: null,
148
+ }
149
+
150
+ export const fetchUser = createAsyncThunk(
151
+ 'user/fetchUser',
152
+ async (userId: string, { rejectWithValue }) => {
153
+ try {
154
+ const response = await fetch(`/api/users/${userId}`)
155
+ if (!response.ok) throw new Error('Failed to fetch user')
156
+ return await response.json()
157
+ } catch (error) {
158
+ return rejectWithValue((error as Error).message)
159
+ }
160
+ }
161
+ )
162
+
163
+ const userSlice = createSlice({
164
+ name: 'user',
165
+ initialState,
166
+ reducers: {
167
+ setUser: (state, action: PayloadAction<User>) => {
168
+ state.current = action.payload
169
+ state.status = 'succeeded'
170
+ },
171
+ clearUser: (state) => {
172
+ state.current = null
173
+ state.status = 'idle'
174
+ },
175
+ },
176
+ extraReducers: (builder) => {
177
+ builder
178
+ .addCase(fetchUser.pending, (state) => {
179
+ state.status = 'loading'
180
+ state.error = null
181
+ })
182
+ .addCase(fetchUser.fulfilled, (state, action) => {
183
+ state.status = 'succeeded'
184
+ state.current = action.payload
185
+ })
186
+ .addCase(fetchUser.rejected, (state, action) => {
187
+ state.status = 'failed'
188
+ state.error = action.payload as string
189
+ })
190
+ },
191
+ })
192
+
193
+ export const { setUser, clearUser } = userSlice.actions
194
+ export default userSlice.reducer
195
+ ```
196
+
197
+ ### Pattern 2: Zustand with Slices (Scalable)
198
+
199
+ ```typescript
200
+ // store/slices/createUserSlice.ts
201
+ import { StateCreator } from 'zustand'
202
+
203
+ export interface UserSlice {
204
+ user: User | null
205
+ isAuthenticated: boolean
206
+ login: (credentials: Credentials) => Promise<void>
207
+ logout: () => void
208
+ }
209
+
210
+ export const createUserSlice: StateCreator<
211
+ UserSlice & CartSlice, // Combined store type
212
+ [],
213
+ [],
214
+ UserSlice
215
+ > = (set, get) => ({
216
+ user: null,
217
+ isAuthenticated: false,
218
+ login: async (credentials) => {
219
+ const user = await authApi.login(credentials)
220
+ set({ user, isAuthenticated: true })
221
+ },
222
+ logout: () => {
223
+ set({ user: null, isAuthenticated: false })
224
+ // Can access other slices
225
+ // get().clearCart()
226
+ },
227
+ })
228
+
229
+ // store/index.ts
230
+ import { create } from 'zustand'
231
+ import { createUserSlice, UserSlice } from './slices/createUserSlice'
232
+ import { createCartSlice, CartSlice } from './slices/createCartSlice'
233
+
234
+ type StoreState = UserSlice & CartSlice
235
+
236
+ export const useStore = create<StoreState>()((...args) => ({
237
+ ...createUserSlice(...args),
238
+ ...createCartSlice(...args),
239
+ }))
240
+
241
+ // Selective subscriptions (prevents unnecessary re-renders)
242
+ export const useUser = () => useStore((state) => state.user)
243
+ export const useCart = () => useStore((state) => state.cart)
244
+ ```
245
+
246
+ ### Pattern 3: Jotai for Atomic State
247
+
248
+ ```typescript
249
+ // atoms/userAtoms.ts
250
+ import { atom } from 'jotai'
251
+ import { atomWithStorage } from 'jotai/utils'
252
+
253
+ // Basic atom
254
+ export const userAtom = atom<User | null>(null)
255
+
256
+ // Derived atom (computed)
257
+ export const isAuthenticatedAtom = atom((get) => get(userAtom) !== null)
258
+
259
+ // Atom with localStorage persistence
260
+ export const themeAtom = atomWithStorage<'light' | 'dark'>('theme', 'light')
261
+
262
+ // Async atom
263
+ export const userProfileAtom = atom(async (get) => {
264
+ const user = get(userAtom)
265
+ if (!user) return null
266
+ const response = await fetch(`/api/users/${user.id}/profile`)
267
+ return response.json()
268
+ })
269
+
270
+ // Write-only atom (action)
271
+ export const logoutAtom = atom(null, (get, set) => {
272
+ set(userAtom, null)
273
+ set(cartAtom, [])
274
+ localStorage.removeItem('token')
275
+ })
276
+
277
+ // Usage
278
+ function Profile() {
279
+ const [user] = useAtom(userAtom)
280
+ const [, logout] = useAtom(logoutAtom)
281
+ const [profile] = useAtom(userProfileAtom) // Suspense-enabled
282
+
283
+ return (
284
+ <Suspense fallback={<Skeleton />}>
285
+ <ProfileContent profile={profile} onLogout={logout} />
286
+ </Suspense>
287
+ )
288
+ }
289
+ ```
290
+
291
+ ### Pattern 4: React Query for Server State
292
+
293
+ ```typescript
294
+ // hooks/useUsers.ts
295
+ import { useQuery, useMutation, useQueryClient } from '@tanstack/react-query'
296
+
297
+ // Query keys factory
298
+ export const userKeys = {
299
+ all: ['users'] as const,
300
+ lists: () => [...userKeys.all, 'list'] as const,
301
+ list: (filters: UserFilters) => [...userKeys.lists(), filters] as const,
302
+ details: () => [...userKeys.all, 'detail'] as const,
303
+ detail: (id: string) => [...userKeys.details(), id] as const,
304
+ }
305
+
306
+ // Fetch hook
307
+ export function useUsers(filters: UserFilters) {
308
+ return useQuery({
309
+ queryKey: userKeys.list(filters),
310
+ queryFn: () => fetchUsers(filters),
311
+ staleTime: 5 * 60 * 1000, // 5 minutes
312
+ gcTime: 30 * 60 * 1000, // 30 minutes (formerly cacheTime)
313
+ })
314
+ }
315
+
316
+ // Single user hook
317
+ export function useUser(id: string) {
318
+ return useQuery({
319
+ queryKey: userKeys.detail(id),
320
+ queryFn: () => fetchUser(id),
321
+ enabled: !!id, // Don't fetch if no id
322
+ })
323
+ }
324
+
325
+ // Mutation with optimistic update
326
+ export function useUpdateUser() {
327
+ const queryClient = useQueryClient()
328
+
329
+ return useMutation({
330
+ mutationFn: updateUser,
331
+ onMutate: async (newUser) => {
332
+ // Cancel outgoing refetches
333
+ await queryClient.cancelQueries({ queryKey: userKeys.detail(newUser.id) })
334
+
335
+ // Snapshot previous value
336
+ const previousUser = queryClient.getQueryData(userKeys.detail(newUser.id))
337
+
338
+ // Optimistically update
339
+ queryClient.setQueryData(userKeys.detail(newUser.id), newUser)
340
+
341
+ return { previousUser }
342
+ },
343
+ onError: (err, newUser, context) => {
344
+ // Rollback on error
345
+ queryClient.setQueryData(
346
+ userKeys.detail(newUser.id),
347
+ context?.previousUser
348
+ )
349
+ },
350
+ onSettled: (data, error, variables) => {
351
+ // Refetch after mutation
352
+ queryClient.invalidateQueries({ queryKey: userKeys.detail(variables.id) })
353
+ },
354
+ })
355
+ }
356
+ ```
357
+
358
+ ### Pattern 5: Combining Client + Server State
359
+
360
+ ```typescript
361
+ // Zustand for client state
362
+ const useUIStore = create<UIState>((set) => ({
363
+ sidebarOpen: true,
364
+ modal: null,
365
+ toggleSidebar: () => set((s) => ({ sidebarOpen: !s.sidebarOpen })),
366
+ openModal: (modal) => set({ modal }),
367
+ closeModal: () => set({ modal: null }),
368
+ }))
369
+
370
+ // React Query for server state
371
+ function Dashboard() {
372
+ const { sidebarOpen, toggleSidebar } = useUIStore()
373
+ const { data: users, isLoading } = useUsers({ active: true })
374
+ const { data: stats } = useStats()
375
+
376
+ if (isLoading) return <DashboardSkeleton />
377
+
378
+ return (
379
+ <div className={sidebarOpen ? 'with-sidebar' : ''}>
380
+ <Sidebar open={sidebarOpen} onToggle={toggleSidebar} />
381
+ <main>
382
+ <StatsCards stats={stats} />
383
+ <UserTable users={users} />
384
+ </main>
385
+ </div>
386
+ )
387
+ }
388
+ ```
389
+
390
+ ## Best Practices
391
+
392
+ ### Do's
393
+ - **Colocate state** - Keep state as close to where it's used as possible
394
+ - **Use selectors** - Prevent unnecessary re-renders with selective subscriptions
395
+ - **Normalize data** - Flatten nested structures for easier updates
396
+ - **Type everything** - Full TypeScript coverage prevents runtime errors
397
+ - **Separate concerns** - Server state (React Query) vs client state (Zustand)
398
+
399
+ ### Don'ts
400
+ - **Don't over-globalize** - Not everything needs to be in global state
401
+ - **Don't duplicate server state** - Let React Query manage it
402
+ - **Don't mutate directly** - Always use immutable updates
403
+ - **Don't store derived data** - Compute it instead
404
+ - **Don't mix paradigms** - Pick one primary solution per category
405
+
406
+ ## Migration Guides
407
+
408
+ ### From Legacy Redux to RTK
409
+
410
+ ```typescript
411
+ // Before (legacy Redux)
412
+ const ADD_TODO = 'ADD_TODO'
413
+ const addTodo = (text) => ({ type: ADD_TODO, payload: text })
414
+ function todosReducer(state = [], action) {
415
+ switch (action.type) {
416
+ case ADD_TODO:
417
+ return [...state, { text: action.payload, completed: false }]
418
+ default:
419
+ return state
420
+ }
421
+ }
422
+
423
+ // After (Redux Toolkit)
424
+ const todosSlice = createSlice({
425
+ name: 'todos',
426
+ initialState: [],
427
+ reducers: {
428
+ addTodo: (state, action: PayloadAction<string>) => {
429
+ // Immer allows "mutations"
430
+ state.push({ text: action.payload, completed: false })
431
+ },
432
+ },
433
+ })
434
+ ```
435
+
436
+ ## Resources
437
+
438
+ - [Redux Toolkit Documentation](https://redux-toolkit.js.org/)
439
+ - [Zustand GitHub](https://github.com/pmndrs/zustand)
440
+ - [Jotai Documentation](https://jotai.org/)
441
+ - [TanStack Query](https://tanstack.com/query)
@@ -0,0 +1,289 @@
1
+ ---
2
+ name: react-ui-patterns
3
+ description: Modern React UI patterns for loading states, error handling, and data fetching. Use when building UI components, handling async data, or managing UI states.
4
+ ---
5
+
6
+ # React UI Patterns
7
+
8
+ ## Core Principles
9
+
10
+ 1. **Never show stale UI** - Loading spinners only when actually loading
11
+ 2. **Always surface errors** - Users must know when something fails
12
+ 3. **Optimistic updates** - Make the UI feel instant
13
+ 4. **Progressive disclosure** - Show content as it becomes available
14
+ 5. **Graceful degradation** - Partial data is better than no data
15
+
16
+ ## Loading State Patterns
17
+
18
+ ### The Golden Rule
19
+
20
+ **Show loading indicator ONLY when there's no data to display.**
21
+
22
+ ```typescript
23
+ // CORRECT - Only show loading when no data exists
24
+ const { data, loading, error } = useGetItemsQuery();
25
+
26
+ if (error) return <ErrorState error={error} onRetry={refetch} />;
27
+ if (loading && !data) return <LoadingState />;
28
+ if (!data?.items.length) return <EmptyState />;
29
+
30
+ return <ItemList items={data.items} />;
31
+ ```
32
+
33
+ ```typescript
34
+ // WRONG - Shows spinner even when we have cached data
35
+ if (loading) return <LoadingState />; // Flashes on refetch!
36
+ ```
37
+
38
+ ### Loading State Decision Tree
39
+
40
+ ```
41
+ Is there an error?
42
+ → Yes: Show error state with retry option
43
+ → No: Continue
44
+
45
+ Is it loading AND we have no data?
46
+ → Yes: Show loading indicator (spinner/skeleton)
47
+ → No: Continue
48
+
49
+ Do we have data?
50
+ → Yes, with items: Show the data
51
+ → Yes, but empty: Show empty state
52
+ → No: Show loading (fallback)
53
+ ```
54
+
55
+ ### Skeleton vs Spinner
56
+
57
+ | Use Skeleton When | Use Spinner When |
58
+ |-------------------|------------------|
59
+ | Known content shape | Unknown content shape |
60
+ | List/card layouts | Modal actions |
61
+ | Initial page load | Button submissions |
62
+ | Content placeholders | Inline operations |
63
+
64
+ ## Error Handling Patterns
65
+
66
+ ### The Error Handling Hierarchy
67
+
68
+ ```
69
+ 1. Inline error (field-level) → Form validation errors
70
+ 2. Toast notification → Recoverable errors, user can retry
71
+ 3. Error banner → Page-level errors, data still partially usable
72
+ 4. Full error screen → Unrecoverable, needs user action
73
+ ```
74
+
75
+ ### Always Show Errors
76
+
77
+ **CRITICAL: Never swallow errors silently.**
78
+
79
+ ```typescript
80
+ // CORRECT - Error always surfaced to user
81
+ const [createItem, { loading }] = useCreateItemMutation({
82
+ onCompleted: () => {
83
+ toast.success({ title: 'Item created' });
84
+ },
85
+ onError: (error) => {
86
+ console.error('createItem failed:', error);
87
+ toast.error({ title: 'Failed to create item' });
88
+ },
89
+ });
90
+
91
+ // WRONG - Error silently caught, user has no idea
92
+ const [createItem] = useCreateItemMutation({
93
+ onError: (error) => {
94
+ console.error(error); // User sees nothing!
95
+ },
96
+ });
97
+ ```
98
+
99
+ ### Error State Component Pattern
100
+
101
+ ```typescript
102
+ interface ErrorStateProps {
103
+ error: Error;
104
+ onRetry?: () => void;
105
+ title?: string;
106
+ }
107
+
108
+ const ErrorState = ({ error, onRetry, title }: ErrorStateProps) => (
109
+ <div className="error-state">
110
+ <Icon name="exclamation-circle" />
111
+ <h3>{title ?? 'Something went wrong'}</h3>
112
+ <p>{error.message}</p>
113
+ {onRetry && (
114
+ <Button onClick={onRetry}>Try Again</Button>
115
+ )}
116
+ </div>
117
+ );
118
+ ```
119
+
120
+ ## Button State Patterns
121
+
122
+ ### Button Loading State
123
+
124
+ ```tsx
125
+ <Button
126
+ onClick={handleSubmit}
127
+ isLoading={isSubmitting}
128
+ disabled={!isValid || isSubmitting}
129
+ >
130
+ Submit
131
+ </Button>
132
+ ```
133
+
134
+ ### Disable During Operations
135
+
136
+ **CRITICAL: Always disable triggers during async operations.**
137
+
138
+ ```tsx
139
+ // CORRECT - Button disabled while loading
140
+ <Button
141
+ disabled={isSubmitting}
142
+ isLoading={isSubmitting}
143
+ onClick={handleSubmit}
144
+ >
145
+ Submit
146
+ </Button>
147
+
148
+ // WRONG - User can tap multiple times
149
+ <Button onClick={handleSubmit}>
150
+ {isSubmitting ? 'Submitting...' : 'Submit'}
151
+ </Button>
152
+ ```
153
+
154
+ ## Empty States
155
+
156
+ ### Empty State Requirements
157
+
158
+ Every list/collection MUST have an empty state:
159
+
160
+ ```tsx
161
+ // WRONG - No empty state
162
+ return <FlatList data={items} />;
163
+
164
+ // CORRECT - Explicit empty state
165
+ return (
166
+ <FlatList
167
+ data={items}
168
+ ListEmptyComponent={<EmptyState />}
169
+ />
170
+ );
171
+ ```
172
+
173
+ ### Contextual Empty States
174
+
175
+ ```tsx
176
+ // Search with no results
177
+ <EmptyState
178
+ icon="search"
179
+ title="No results found"
180
+ description="Try different search terms"
181
+ />
182
+
183
+ // List with no items yet
184
+ <EmptyState
185
+ icon="plus-circle"
186
+ title="No items yet"
187
+ description="Create your first item"
188
+ action={{ label: 'Create Item', onClick: handleCreate }}
189
+ />
190
+ ```
191
+
192
+ ## Form Submission Pattern
193
+
194
+ ```tsx
195
+ const MyForm = () => {
196
+ const [submit, { loading }] = useSubmitMutation({
197
+ onCompleted: handleSuccess,
198
+ onError: handleError,
199
+ });
200
+
201
+ const handleSubmit = async () => {
202
+ if (!isValid) {
203
+ toast.error({ title: 'Please fix errors' });
204
+ return;
205
+ }
206
+ await submit({ variables: { input: values } });
207
+ };
208
+
209
+ return (
210
+ <form>
211
+ <Input
212
+ value={values.name}
213
+ onChange={handleChange('name')}
214
+ error={touched.name ? errors.name : undefined}
215
+ />
216
+ <Button
217
+ type="submit"
218
+ onClick={handleSubmit}
219
+ disabled={!isValid || loading}
220
+ isLoading={loading}
221
+ >
222
+ Submit
223
+ </Button>
224
+ </form>
225
+ );
226
+ };
227
+ ```
228
+
229
+ ## Anti-Patterns
230
+
231
+ ### Loading States
232
+
233
+ ```typescript
234
+ // WRONG - Spinner when data exists (causes flash)
235
+ if (loading) return <Spinner />;
236
+
237
+ // CORRECT - Only show loading without data
238
+ if (loading && !data) return <Spinner />;
239
+ ```
240
+
241
+ ### Error Handling
242
+
243
+ ```typescript
244
+ // WRONG - Error swallowed
245
+ try {
246
+ await mutation();
247
+ } catch (e) {
248
+ console.log(e); // User has no idea!
249
+ }
250
+
251
+ // CORRECT - Error surfaced
252
+ onError: (error) => {
253
+ console.error('operation failed:', error);
254
+ toast.error({ title: 'Operation failed' });
255
+ }
256
+ ```
257
+
258
+ ### Button States
259
+
260
+ ```typescript
261
+ // WRONG - Button not disabled during submission
262
+ <Button onClick={submit}>Submit</Button>
263
+
264
+ // CORRECT - Disabled and shows loading
265
+ <Button onClick={submit} disabled={loading} isLoading={loading}>
266
+ Submit
267
+ </Button>
268
+ ```
269
+
270
+ ## Checklist
271
+
272
+ Before completing any UI component:
273
+
274
+ **UI States:**
275
+ - [ ] Error state handled and shown to user
276
+ - [ ] Loading state shown only when no data exists
277
+ - [ ] Empty state provided for collections
278
+ - [ ] Buttons disabled during async operations
279
+ - [ ] Buttons show loading indicator when appropriate
280
+
281
+ **Data & Mutations:**
282
+ - [ ] Mutations have onError handler
283
+ - [ ] All user actions have feedback (toast/visual)
284
+
285
+ ## Integration with Other Skills
286
+
287
+ - **graphql-schema**: Use mutation patterns with proper error handling
288
+ - **testing-patterns**: Test all UI states (loading, error, empty, success)
289
+ - **formik-patterns**: Apply form submission patterns