aigroup-workflow 2.1.1 → 2.2.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 (914) hide show
  1. package/.codex/AGENTS.md +1 -1
  2. package/CLAUDE.md +1 -4
  3. package/README.md +333 -333
  4. package/cli/commands/init.mjs +20 -6
  5. package/cli/utils/scaffold.mjs +39 -9
  6. package/docs/red-flags.md +1 -1
  7. package/docs/rules/coding-style.md +21 -1
  8. package/docs/rules/entropy.md +1 -1
  9. package/docs/rules/performance.md +1 -1
  10. package/docs/workflow-pipeline.md +1 -0
  11. package/manifests/install-modules.json +223 -133
  12. package/package.json +39 -39
  13. package/scripts/orchestration/lib/orchestrator.cjs +34 -0
  14. package/scripts/orchestration/session.cjs +24 -1
  15. package/skills/ai-ml/fine-tuning-expert/SKILL.md +162 -0
  16. package/skills/ai-ml/fine-tuning-expert/references/dataset-preparation.md +540 -0
  17. package/skills/ai-ml/fine-tuning-expert/references/deployment-optimization.md +673 -0
  18. package/skills/ai-ml/fine-tuning-expert/references/evaluation-metrics.md +597 -0
  19. package/skills/ai-ml/fine-tuning-expert/references/hyperparameter-tuning.md +565 -0
  20. package/skills/ai-ml/fine-tuning-expert/references/lora-peft.md +347 -0
  21. package/skills/ai-ml/ml-pipeline/SKILL.md +159 -0
  22. package/skills/ai-ml/ml-pipeline/references/experiment-tracking.md +833 -0
  23. package/skills/ai-ml/ml-pipeline/references/feature-engineering.md +631 -0
  24. package/skills/ai-ml/ml-pipeline/references/model-validation.md +978 -0
  25. package/skills/ai-ml/ml-pipeline/references/pipeline-orchestration.md +907 -0
  26. package/skills/ai-ml/ml-pipeline/references/training-pipelines.md +782 -0
  27. package/skills/ai-ml/rag-architect/SKILL.md +194 -0
  28. package/skills/ai-ml/rag-architect/references/chunking-strategies.md +878 -0
  29. package/skills/ai-ml/rag-architect/references/embedding-models.md +561 -0
  30. package/skills/ai-ml/rag-architect/references/rag-evaluation.md +833 -0
  31. package/skills/ai-ml/rag-architect/references/retrieval-optimization.md +795 -0
  32. package/skills/ai-ml/rag-architect/references/vector-databases.md +589 -0
  33. package/skills/ai-ml/spark-engineer/SKILL.md +148 -0
  34. package/skills/ai-ml/spark-engineer/references/partitioning-caching.md +543 -0
  35. package/skills/ai-ml/spark-engineer/references/performance-tuning.md +544 -0
  36. package/skills/ai-ml/spark-engineer/references/rdd-operations.md +599 -0
  37. package/skills/ai-ml/spark-engineer/references/spark-sql-dataframes.md +474 -0
  38. package/skills/ai-ml/spark-engineer/references/streaming-patterns.md +786 -0
  39. package/skills/backend/api-designer/SKILL.md +217 -0
  40. package/skills/backend/api-designer/references/error-handling.md +541 -0
  41. package/skills/backend/api-designer/references/openapi.md +824 -0
  42. package/skills/backend/api-designer/references/pagination.md +494 -0
  43. package/skills/backend/api-designer/references/rest-patterns.md +335 -0
  44. package/skills/backend/api-designer/references/versioning.md +391 -0
  45. package/skills/backend/architecture-designer/SKILL.md +117 -0
  46. package/skills/backend/architecture-designer/references/adr-template.md +116 -0
  47. package/skills/backend/architecture-designer/references/architecture-patterns.md +111 -0
  48. package/skills/backend/architecture-designer/references/database-selection.md +102 -0
  49. package/skills/backend/architecture-designer/references/nfr-checklist.md +112 -0
  50. package/skills/backend/architecture-designer/references/system-design.md +100 -0
  51. package/skills/backend/code-documenter/SKILL.md +147 -0
  52. package/skills/backend/code-documenter/references/api-docs-fastapi-django.md +166 -0
  53. package/skills/backend/code-documenter/references/api-docs-nestjs-express.md +220 -0
  54. package/skills/backend/code-documenter/references/coverage-reports.md +125 -0
  55. package/skills/backend/code-documenter/references/documentation-systems.md +333 -0
  56. package/skills/backend/code-documenter/references/interactive-api-docs.md +531 -0
  57. package/skills/backend/code-documenter/references/python-docstrings.md +121 -0
  58. package/skills/backend/code-documenter/references/typescript-jsdoc.md +145 -0
  59. package/skills/backend/code-documenter/references/user-guides-tutorials.md +530 -0
  60. package/skills/backend/debugging-wizard/SKILL.md +105 -0
  61. package/skills/backend/debugging-wizard/references/common-patterns.md +132 -0
  62. package/skills/backend/debugging-wizard/references/debugging-tools.md +140 -0
  63. package/skills/backend/debugging-wizard/references/quick-fixes.md +177 -0
  64. package/skills/backend/debugging-wizard/references/strategies.md +142 -0
  65. package/skills/backend/debugging-wizard/references/systematic-debugging.md +367 -0
  66. package/skills/backend/feature-forge/SKILL.md +98 -0
  67. package/skills/backend/feature-forge/references/acceptance-criteria.md +104 -0
  68. package/skills/backend/feature-forge/references/ears-syntax.md +99 -0
  69. package/skills/backend/feature-forge/references/interview-questions.md +150 -0
  70. package/skills/backend/feature-forge/references/pre-discovery-subagents.md +54 -0
  71. package/skills/backend/feature-forge/references/specification-template.md +103 -0
  72. package/skills/backend/fullstack-guardian/SKILL.md +105 -0
  73. package/skills/backend/fullstack-guardian/references/api-design-standards.md +307 -0
  74. package/skills/backend/fullstack-guardian/references/architecture-decisions.md +350 -0
  75. package/skills/backend/fullstack-guardian/references/backend-patterns.md +237 -0
  76. package/skills/backend/fullstack-guardian/references/common-patterns.md +134 -0
  77. package/skills/backend/fullstack-guardian/references/deliverables-checklist.md +354 -0
  78. package/skills/backend/fullstack-guardian/references/design-template.md +91 -0
  79. package/skills/backend/fullstack-guardian/references/error-handling.md +135 -0
  80. package/skills/backend/fullstack-guardian/references/frontend-patterns.md +340 -0
  81. package/skills/backend/fullstack-guardian/references/integration-patterns.md +333 -0
  82. package/skills/backend/fullstack-guardian/references/security-checklist.md +106 -0
  83. package/skills/backend/graphql-architect/SKILL.md +146 -0
  84. package/skills/backend/graphql-architect/references/federation.md +418 -0
  85. package/skills/backend/graphql-architect/references/migration-from-rest.md +1141 -0
  86. package/skills/backend/graphql-architect/references/resolvers.md +425 -0
  87. package/skills/backend/graphql-architect/references/schema-design.md +393 -0
  88. package/skills/backend/graphql-architect/references/security.md +569 -0
  89. package/skills/backend/graphql-architect/references/subscriptions.md +510 -0
  90. package/skills/backend/legacy-modernizer/SKILL.md +137 -0
  91. package/skills/backend/legacy-modernizer/references/legacy-testing.md +381 -0
  92. package/skills/backend/legacy-modernizer/references/migration-strategies.md +423 -0
  93. package/skills/backend/legacy-modernizer/references/refactoring-patterns.md +395 -0
  94. package/skills/backend/legacy-modernizer/references/strangler-fig-pattern.md +281 -0
  95. package/skills/backend/legacy-modernizer/references/system-assessment.md +487 -0
  96. package/skills/backend/microservices-architect/SKILL.md +164 -0
  97. package/skills/backend/microservices-architect/references/communication.md +499 -0
  98. package/skills/backend/microservices-architect/references/data.md +721 -0
  99. package/skills/backend/microservices-architect/references/decomposition.md +344 -0
  100. package/skills/backend/microservices-architect/references/observability.md +805 -0
  101. package/skills/backend/microservices-architect/references/patterns.md +603 -0
  102. package/skills/database/database-optimizer/SKILL.md +147 -0
  103. package/skills/database/database-optimizer/references/index-strategies.md +331 -0
  104. package/skills/database/database-optimizer/references/monitoring-analysis.md +501 -0
  105. package/skills/database/database-optimizer/references/mysql-tuning.md +452 -0
  106. package/skills/database/database-optimizer/references/postgresql-tuning.md +413 -0
  107. package/skills/database/database-optimizer/references/query-optimization.md +251 -0
  108. package/skills/database/postgres-pro/SKILL.md +152 -0
  109. package/skills/database/postgres-pro/references/extensions.md +404 -0
  110. package/skills/database/postgres-pro/references/jsonb.md +321 -0
  111. package/skills/database/postgres-pro/references/maintenance.md +481 -0
  112. package/skills/database/postgres-pro/references/performance.md +265 -0
  113. package/skills/database/postgres-pro/references/replication.md +446 -0
  114. package/skills/database/sql-pro/SKILL.md +129 -0
  115. package/skills/database/sql-pro/references/database-design.md +402 -0
  116. package/skills/database/sql-pro/references/dialect-differences.md +419 -0
  117. package/skills/database/sql-pro/references/optimization.md +384 -0
  118. package/skills/database/sql-pro/references/query-patterns.md +285 -0
  119. package/skills/database/sql-pro/references/window-functions.md +328 -0
  120. package/skills/dotnet/csharp-developer/SKILL.md +125 -0
  121. package/skills/dotnet/csharp-developer/references/aspnet-core.md +394 -0
  122. package/skills/dotnet/csharp-developer/references/blazor.md +553 -0
  123. package/skills/dotnet/csharp-developer/references/entity-framework.md +409 -0
  124. package/skills/dotnet/csharp-developer/references/modern-csharp.md +248 -0
  125. package/skills/dotnet/csharp-developer/references/performance.md +498 -0
  126. package/skills/dotnet/dotnet-core-expert/SKILL.md +138 -0
  127. package/skills/dotnet/dotnet-core-expert/references/authentication.md +546 -0
  128. package/skills/dotnet/dotnet-core-expert/references/clean-architecture.md +455 -0
  129. package/skills/dotnet/dotnet-core-expert/references/cloud-native.md +548 -0
  130. package/skills/dotnet/dotnet-core-expert/references/entity-framework.md +440 -0
  131. package/skills/dotnet/dotnet-core-expert/references/minimal-apis.md +319 -0
  132. package/skills/frontend/angular-architect/SKILL.md +152 -0
  133. package/skills/frontend/angular-architect/references/components.md +297 -0
  134. package/skills/frontend/angular-architect/references/ngrx.md +401 -0
  135. package/skills/frontend/angular-architect/references/routing.md +361 -0
  136. package/skills/frontend/angular-architect/references/rxjs.md +319 -0
  137. package/skills/frontend/angular-architect/references/testing.md +405 -0
  138. package/skills/frontend/flutter-expert/SKILL.md +138 -0
  139. package/skills/frontend/flutter-expert/references/bloc-state.md +259 -0
  140. package/skills/frontend/flutter-expert/references/gorouter-navigation.md +119 -0
  141. package/skills/frontend/flutter-expert/references/performance.md +99 -0
  142. package/skills/frontend/flutter-expert/references/project-structure.md +118 -0
  143. package/skills/frontend/flutter-expert/references/riverpod-state.md +130 -0
  144. package/skills/frontend/flutter-expert/references/widget-patterns.md +123 -0
  145. package/skills/frontend/nextjs-developer/SKILL.md +143 -0
  146. package/skills/frontend/nextjs-developer/references/app-router.md +311 -0
  147. package/skills/frontend/nextjs-developer/references/data-fetching.md +482 -0
  148. package/skills/frontend/nextjs-developer/references/deployment.md +545 -0
  149. package/skills/frontend/nextjs-developer/references/server-actions.md +462 -0
  150. package/skills/frontend/nextjs-developer/references/server-components.md +384 -0
  151. package/skills/frontend/react-expert/SKILL.md +149 -0
  152. package/skills/frontend/react-expert/references/hooks-patterns.md +162 -0
  153. package/skills/frontend/react-expert/references/migration-class-to-modern.md +1119 -0
  154. package/skills/frontend/react-expert/references/performance.md +168 -0
  155. package/skills/frontend/react-expert/references/react-19-features.md +174 -0
  156. package/skills/frontend/react-expert/references/server-components.md +143 -0
  157. package/skills/frontend/react-expert/references/state-management.md +171 -0
  158. package/skills/frontend/react-expert/references/testing-react.md +174 -0
  159. package/skills/frontend/react-native-expert/SKILL.md +185 -0
  160. package/skills/frontend/react-native-expert/references/expo-router.md +187 -0
  161. package/skills/frontend/react-native-expert/references/list-optimization.md +204 -0
  162. package/skills/frontend/react-native-expert/references/platform-handling.md +188 -0
  163. package/skills/frontend/react-native-expert/references/project-structure.md +171 -0
  164. package/skills/frontend/react-native-expert/references/storage-hooks.md +173 -0
  165. package/skills/frontend/vue-expert/SKILL.md +98 -0
  166. package/skills/frontend/vue-expert/references/build-tooling.md +480 -0
  167. package/skills/frontend/vue-expert/references/components.md +448 -0
  168. package/skills/frontend/vue-expert/references/composition-api.md +299 -0
  169. package/skills/frontend/vue-expert/references/mobile-hybrid.md +636 -0
  170. package/skills/frontend/vue-expert/references/nuxt.md +669 -0
  171. package/skills/frontend/vue-expert/references/state-management.md +449 -0
  172. package/skills/frontend/vue-expert/references/typescript.md +584 -0
  173. package/skills/frontend/vue-expert-js/SKILL.md +167 -0
  174. package/skills/frontend/vue-expert-js/references/component-architecture.md +219 -0
  175. package/skills/frontend/vue-expert-js/references/composables-patterns.md +183 -0
  176. package/skills/frontend/vue-expert-js/references/jsdoc-typing.md +535 -0
  177. package/skills/frontend/vue-expert-js/references/state-management.md +249 -0
  178. package/skills/frontend/vue-expert-js/references/testing-patterns.md +237 -0
  179. package/skills/go-rust-cpp/cpp-pro/SKILL.md +115 -0
  180. package/skills/go-rust-cpp/cpp-pro/references/build-tooling.md +440 -0
  181. package/skills/go-rust-cpp/cpp-pro/references/concurrency.md +437 -0
  182. package/skills/go-rust-cpp/cpp-pro/references/memory-performance.md +397 -0
  183. package/skills/go-rust-cpp/cpp-pro/references/modern-cpp.md +304 -0
  184. package/skills/go-rust-cpp/cpp-pro/references/templates.md +357 -0
  185. package/skills/go-rust-cpp/golang-pro/SKILL.md +122 -0
  186. package/skills/go-rust-cpp/golang-pro/references/concurrency.md +329 -0
  187. package/skills/go-rust-cpp/golang-pro/references/generics.md +442 -0
  188. package/skills/go-rust-cpp/golang-pro/references/interfaces.md +432 -0
  189. package/skills/go-rust-cpp/golang-pro/references/project-structure.md +477 -0
  190. package/skills/go-rust-cpp/golang-pro/references/testing.md +451 -0
  191. package/skills/go-rust-cpp/rust-engineer/SKILL.md +167 -0
  192. package/skills/go-rust-cpp/rust-engineer/references/async.md +458 -0
  193. package/skills/go-rust-cpp/rust-engineer/references/error-handling.md +334 -0
  194. package/skills/go-rust-cpp/rust-engineer/references/ownership.md +278 -0
  195. package/skills/go-rust-cpp/rust-engineer/references/testing.md +470 -0
  196. package/skills/go-rust-cpp/rust-engineer/references/traits.md +413 -0
  197. package/skills/infra/cli-developer/SKILL.md +113 -0
  198. package/skills/infra/cli-developer/references/design-patterns.md +221 -0
  199. package/skills/infra/cli-developer/references/go-cli.md +540 -0
  200. package/skills/infra/cli-developer/references/node-cli.md +383 -0
  201. package/skills/infra/cli-developer/references/python-cli.md +422 -0
  202. package/skills/infra/cli-developer/references/ux-patterns.md +448 -0
  203. package/skills/infra/cloud-architect/SKILL.md +216 -0
  204. package/skills/infra/cloud-architect/references/aws.md +394 -0
  205. package/skills/infra/cloud-architect/references/azure.md +562 -0
  206. package/skills/infra/cloud-architect/references/cost.md +582 -0
  207. package/skills/infra/cloud-architect/references/gcp.md +633 -0
  208. package/skills/infra/cloud-architect/references/multi-cloud.md +483 -0
  209. package/skills/infra/devops-engineer/SKILL.md +144 -0
  210. package/skills/infra/devops-engineer/references/deployment-strategies.md +241 -0
  211. package/skills/infra/devops-engineer/references/docker-patterns.md +113 -0
  212. package/skills/infra/devops-engineer/references/github-actions.md +139 -0
  213. package/skills/infra/devops-engineer/references/incident-response.md +331 -0
  214. package/skills/infra/devops-engineer/references/kubernetes.md +154 -0
  215. package/skills/infra/devops-engineer/references/platform-engineering.md +417 -0
  216. package/skills/infra/devops-engineer/references/release-automation.md +527 -0
  217. package/skills/infra/devops-engineer/references/terraform-iac.md +141 -0
  218. package/skills/infra/kubernetes-specialist/SKILL.md +241 -0
  219. package/skills/infra/kubernetes-specialist/references/configuration.md +452 -0
  220. package/skills/infra/kubernetes-specialist/references/cost-optimization.md +458 -0
  221. package/skills/infra/kubernetes-specialist/references/custom-operators.md +563 -0
  222. package/skills/infra/kubernetes-specialist/references/gitops.md +530 -0
  223. package/skills/infra/kubernetes-specialist/references/helm-charts.md +912 -0
  224. package/skills/infra/kubernetes-specialist/references/multi-cluster.md +507 -0
  225. package/skills/infra/kubernetes-specialist/references/networking.md +447 -0
  226. package/skills/infra/kubernetes-specialist/references/service-mesh.md +459 -0
  227. package/skills/infra/kubernetes-specialist/references/storage.md +535 -0
  228. package/skills/infra/kubernetes-specialist/references/troubleshooting.md +414 -0
  229. package/skills/infra/kubernetes-specialist/references/workloads.md +377 -0
  230. package/skills/infra/mcp-developer/SKILL.md +143 -0
  231. package/skills/infra/mcp-developer/references/protocol.md +244 -0
  232. package/skills/infra/mcp-developer/references/python-sdk.md +367 -0
  233. package/skills/infra/mcp-developer/references/resources.md +554 -0
  234. package/skills/infra/mcp-developer/references/tools.md +480 -0
  235. package/skills/infra/mcp-developer/references/typescript-sdk.md +350 -0
  236. package/skills/infra/monitoring-expert/SKILL.md +176 -0
  237. package/skills/infra/monitoring-expert/references/alerting-rules.md +141 -0
  238. package/skills/infra/monitoring-expert/references/application-profiling.md +331 -0
  239. package/skills/infra/monitoring-expert/references/capacity-planning.md +344 -0
  240. package/skills/infra/monitoring-expert/references/dashboards.md +126 -0
  241. package/skills/infra/monitoring-expert/references/opentelemetry.md +123 -0
  242. package/skills/infra/monitoring-expert/references/performance-testing.md +269 -0
  243. package/skills/infra/monitoring-expert/references/prometheus-metrics.md +136 -0
  244. package/skills/infra/monitoring-expert/references/structured-logging.md +142 -0
  245. package/skills/infra/sre-engineer/SKILL.md +181 -0
  246. package/skills/infra/sre-engineer/references/automation-toil.md +492 -0
  247. package/skills/infra/sre-engineer/references/error-budget-policy.md +334 -0
  248. package/skills/infra/sre-engineer/references/incident-chaos.md +576 -0
  249. package/skills/infra/sre-engineer/references/monitoring-alerting.md +424 -0
  250. package/skills/infra/sre-engineer/references/slo-sli-management.md +238 -0
  251. package/skills/infra/terraform-engineer/SKILL.md +143 -0
  252. package/skills/infra/terraform-engineer/references/best-practices.md +583 -0
  253. package/skills/infra/terraform-engineer/references/module-patterns.md +297 -0
  254. package/skills/infra/terraform-engineer/references/providers.md +452 -0
  255. package/skills/infra/terraform-engineer/references/state-management.md +371 -0
  256. package/skills/infra/terraform-engineer/references/testing.md +486 -0
  257. package/skills/infra/websocket-engineer/SKILL.md +168 -0
  258. package/skills/infra/websocket-engineer/references/alternatives.md +391 -0
  259. package/skills/infra/websocket-engineer/references/patterns.md +400 -0
  260. package/skills/infra/websocket-engineer/references/protocol.md +195 -0
  261. package/skills/infra/websocket-engineer/references/scaling.md +333 -0
  262. package/skills/infra/websocket-engineer/references/security.md +474 -0
  263. package/skills/java/java-architect/SKILL.md +132 -0
  264. package/skills/java/java-architect/references/jpa-optimization.md +393 -0
  265. package/skills/java/java-architect/references/reactive-webflux.md +356 -0
  266. package/skills/java/java-architect/references/spring-boot-setup.md +269 -0
  267. package/skills/java/java-architect/references/spring-security.md +445 -0
  268. package/skills/java/java-architect/references/testing-patterns.md +500 -0
  269. package/skills/java/kotlin-specialist/SKILL.md +147 -0
  270. package/skills/java/kotlin-specialist/references/android-compose.md +419 -0
  271. package/skills/java/kotlin-specialist/references/coroutines-flow.md +276 -0
  272. package/skills/java/kotlin-specialist/references/dsl-idioms.md +421 -0
  273. package/skills/java/kotlin-specialist/references/ktor-server.md +426 -0
  274. package/skills/java/kotlin-specialist/references/multiplatform-kmp.md +380 -0
  275. package/skills/java/spring-boot-engineer/SKILL.md +195 -0
  276. package/skills/java/spring-boot-engineer/references/cloud.md +498 -0
  277. package/skills/java/spring-boot-engineer/references/data.md +381 -0
  278. package/skills/java/spring-boot-engineer/references/security.md +459 -0
  279. package/skills/java/spring-boot-engineer/references/testing.md +545 -0
  280. package/skills/java/spring-boot-engineer/references/web.md +295 -0
  281. package/skills/javascript/javascript-pro/SKILL.md +132 -0
  282. package/skills/javascript/javascript-pro/references/async-patterns.md +334 -0
  283. package/skills/javascript/javascript-pro/references/browser-apis.md +398 -0
  284. package/skills/javascript/javascript-pro/references/modern-syntax.md +272 -0
  285. package/skills/javascript/javascript-pro/references/modules.md +357 -0
  286. package/skills/javascript/javascript-pro/references/node-essentials.md +471 -0
  287. package/skills/javascript/nestjs-expert/SKILL.md +206 -0
  288. package/skills/javascript/nestjs-expert/references/authentication.md +166 -0
  289. package/skills/javascript/nestjs-expert/references/controllers-routing.md +111 -0
  290. package/skills/javascript/nestjs-expert/references/dtos-validation.md +153 -0
  291. package/skills/javascript/nestjs-expert/references/migration-from-express.md +1237 -0
  292. package/skills/javascript/nestjs-expert/references/services-di.md +140 -0
  293. package/skills/javascript/nestjs-expert/references/testing-patterns.md +186 -0
  294. package/skills/javascript/typescript-pro/SKILL.md +145 -0
  295. package/skills/javascript/typescript-pro/references/advanced-types.md +259 -0
  296. package/skills/javascript/typescript-pro/references/configuration.md +445 -0
  297. package/skills/javascript/typescript-pro/references/patterns.md +484 -0
  298. package/skills/javascript/typescript-pro/references/type-guards.md +352 -0
  299. package/skills/javascript/typescript-pro/references/utility-types.md +329 -0
  300. package/skills/php/laravel-specialist/SKILL.md +262 -0
  301. package/skills/php/laravel-specialist/references/eloquent.md +351 -0
  302. package/skills/php/laravel-specialist/references/livewire.md +512 -0
  303. package/skills/php/laravel-specialist/references/queues.md +423 -0
  304. package/skills/php/laravel-specialist/references/routing.md +362 -0
  305. package/skills/php/laravel-specialist/references/testing.md +522 -0
  306. package/skills/php/php-pro/SKILL.md +206 -0
  307. package/skills/php/php-pro/references/async-patterns.md +412 -0
  308. package/skills/php/php-pro/references/laravel-patterns.md +377 -0
  309. package/skills/php/php-pro/references/modern-php-features.md +323 -0
  310. package/skills/php/php-pro/references/symfony-patterns.md +466 -0
  311. package/skills/php/php-pro/references/testing-quality.md +466 -0
  312. package/skills/python/django-expert/SKILL.md +162 -0
  313. package/skills/python/django-expert/references/authentication.md +145 -0
  314. package/skills/python/django-expert/references/drf-serializers.md +148 -0
  315. package/skills/python/django-expert/references/models-orm.md +151 -0
  316. package/skills/python/django-expert/references/testing-django.md +204 -0
  317. package/skills/python/django-expert/references/viewsets-views.md +153 -0
  318. package/skills/python/fastapi-expert/SKILL.md +185 -0
  319. package/skills/python/fastapi-expert/references/async-sqlalchemy.md +146 -0
  320. package/skills/python/fastapi-expert/references/authentication.md +159 -0
  321. package/skills/python/fastapi-expert/references/endpoints-routing.md +142 -0
  322. package/skills/python/fastapi-expert/references/migration-from-django.md +997 -0
  323. package/skills/python/fastapi-expert/references/pydantic-v2.md +135 -0
  324. package/skills/python/fastapi-expert/references/testing-async.md +159 -0
  325. package/skills/python/pandas-pro/SKILL.md +178 -0
  326. package/skills/python/pandas-pro/references/aggregation-groupby.md +545 -0
  327. package/skills/python/pandas-pro/references/data-cleaning.md +500 -0
  328. package/skills/python/pandas-pro/references/dataframe-operations.md +420 -0
  329. package/skills/python/pandas-pro/references/merging-joining.md +596 -0
  330. package/skills/python/pandas-pro/references/performance-optimization.md +597 -0
  331. package/skills/python/python-pro/SKILL.md +177 -0
  332. package/skills/python/python-pro/references/async-patterns.md +356 -0
  333. package/skills/python/python-pro/references/packaging.md +460 -0
  334. package/skills/python/python-pro/references/standard-library.md +378 -0
  335. package/skills/python/python-pro/references/testing.md +404 -0
  336. package/skills/python/python-pro/references/type-system.md +290 -0
  337. package/skills/quality/chaos-engineer/SKILL.md +182 -0
  338. package/skills/quality/chaos-engineer/references/chaos-tools.md +511 -0
  339. package/skills/quality/chaos-engineer/references/experiment-design.md +229 -0
  340. package/skills/quality/chaos-engineer/references/game-days.md +434 -0
  341. package/skills/quality/chaos-engineer/references/infrastructure-chaos.md +348 -0
  342. package/skills/quality/chaos-engineer/references/kubernetes-chaos.md +432 -0
  343. package/skills/quality/code-reviewer/SKILL.md +119 -0
  344. package/skills/quality/code-reviewer/references/common-issues.md +142 -0
  345. package/skills/quality/code-reviewer/references/feedback-examples.md +144 -0
  346. package/skills/quality/code-reviewer/references/receiving-feedback.md +238 -0
  347. package/skills/quality/code-reviewer/references/report-template.md +109 -0
  348. package/skills/quality/code-reviewer/references/review-checklist.md +88 -0
  349. package/skills/quality/code-reviewer/references/spec-compliance-review.md +258 -0
  350. package/skills/quality/playwright-expert/SKILL.md +169 -0
  351. package/skills/quality/playwright-expert/references/api-mocking.md +140 -0
  352. package/skills/quality/playwright-expert/references/configuration.md +155 -0
  353. package/skills/quality/playwright-expert/references/debugging-flaky.md +150 -0
  354. package/skills/quality/playwright-expert/references/page-object-model.md +152 -0
  355. package/skills/quality/playwright-expert/references/selectors-locators.md +119 -0
  356. package/skills/quality/secure-code-guardian/SKILL.md +191 -0
  357. package/skills/quality/secure-code-guardian/references/authentication.md +136 -0
  358. package/skills/quality/secure-code-guardian/references/input-validation.md +146 -0
  359. package/skills/quality/secure-code-guardian/references/owasp-prevention.md +135 -0
  360. package/skills/quality/secure-code-guardian/references/security-headers.md +133 -0
  361. package/skills/quality/secure-code-guardian/references/xss-csrf.md +157 -0
  362. package/skills/quality/security-reviewer/SKILL.md +103 -0
  363. package/skills/quality/security-reviewer/references/infrastructure-security.md +268 -0
  364. package/skills/quality/security-reviewer/references/penetration-testing.md +268 -0
  365. package/skills/quality/security-reviewer/references/report-template.md +170 -0
  366. package/skills/quality/security-reviewer/references/sast-tools.md +117 -0
  367. package/skills/quality/security-reviewer/references/secret-scanning.md +125 -0
  368. package/skills/quality/security-reviewer/references/vulnerability-patterns.md +152 -0
  369. package/skills/quality/tdd-guide/assets/sample_coverage_report.lcov +0 -0
  370. package/skills/quality/test-master/SKILL.md +94 -0
  371. package/skills/quality/test-master/references/automation-frameworks.md +294 -0
  372. package/skills/quality/test-master/references/e2e-testing.md +128 -0
  373. package/skills/quality/test-master/references/integration-testing.md +120 -0
  374. package/skills/quality/test-master/references/performance-testing.md +118 -0
  375. package/skills/quality/test-master/references/qa-methodology.md +247 -0
  376. package/skills/quality/test-master/references/security-testing.md +127 -0
  377. package/skills/quality/test-master/references/tdd-iron-laws.md +174 -0
  378. package/skills/quality/test-master/references/test-reports.md +104 -0
  379. package/skills/quality/test-master/references/testing-anti-patterns.md +231 -0
  380. package/skills/quality/test-master/references/unit-testing.md +113 -0
  381. package/skills/ruby/rails-expert/SKILL.md +154 -0
  382. package/skills/ruby/rails-expert/references/active-record.md +244 -0
  383. package/skills/ruby/rails-expert/references/api-development.md +401 -0
  384. package/skills/ruby/rails-expert/references/background-jobs.md +272 -0
  385. package/skills/ruby/rails-expert/references/hotwire-turbo.md +228 -0
  386. package/skills/ruby/rails-expert/references/rspec-testing.md +367 -0
  387. package/skills/swift/swift-expert/SKILL.md +163 -0
  388. package/skills/swift/swift-expert/references/async-concurrency.md +360 -0
  389. package/skills/swift/swift-expert/references/memory-performance.md +377 -0
  390. package/skills/swift/swift-expert/references/protocol-oriented.md +354 -0
  391. package/skills/swift/swift-expert/references/swiftui-patterns.md +291 -0
  392. package/skills/swift/swift-expert/references/testing-patterns.md +399 -0
  393. package/skills/workflow/brainstorming/SKILL.md +164 -0
  394. package/skills/workflow/brainstorming/scripts/helper.js +88 -0
  395. package/skills/workflow/brainstorming/scripts/start-server.sh +148 -0
  396. package/skills/workflow/brainstorming/scripts/stop-server.sh +56 -0
  397. package/skills/workflow/brainstorming/spec-document-reviewer-prompt.md +49 -0
  398. package/skills/workflow/brainstorming/visual-companion.md +287 -0
  399. package/skills/workflow/documentation/SKILL.md +45 -0
  400. package/skills/workflow/entropy-management/SKILL.md +115 -0
  401. package/skills/workflow/executing-plans/SKILL.md +70 -0
  402. package/skills/workflow/finishing-a-development-branch/SKILL.md +200 -0
  403. package/skills/workflow/receiving-code-review/SKILL.md +213 -0
  404. package/skills/workflow/requesting-code-review/SKILL.md +105 -0
  405. package/skills/workflow/requesting-code-review/code-reviewer.md +146 -0
  406. package/skills/workflow/requirement-engineering/SKILL.md +111 -0
  407. package/skills/workflow/systematic-debugging/CREATION-LOG.md +119 -0
  408. package/skills/workflow/systematic-debugging/SKILL.md +296 -0
  409. package/skills/workflow/systematic-debugging/condition-based-waiting-example.ts +158 -0
  410. package/skills/workflow/systematic-debugging/condition-based-waiting.md +115 -0
  411. package/skills/workflow/systematic-debugging/defense-in-depth.md +122 -0
  412. package/skills/workflow/systematic-debugging/find-polluter.sh +63 -0
  413. package/skills/workflow/systematic-debugging/root-cause-tracing.md +169 -0
  414. package/skills/workflow/systematic-debugging/test-academic.md +14 -0
  415. package/skills/workflow/systematic-debugging/test-pressure-1.md +58 -0
  416. package/skills/workflow/systematic-debugging/test-pressure-2.md +68 -0
  417. package/skills/workflow/systematic-debugging/test-pressure-3.md +69 -0
  418. package/skills/workflow/using-git-worktrees/SKILL.md +218 -0
  419. package/skills/workflow/verification-before-completion/SKILL.md +139 -0
  420. package/skills/workflow/writing-plans/SKILL.md +151 -0
  421. package/skills/workflow/writing-plans/plan-document-reviewer-prompt.md +49 -0
  422. package/skills/workflow/writing-skills/SKILL.md +655 -0
  423. package/skills/workflow/writing-skills/anthropic-best-practices.md +1150 -0
  424. package/skills/workflow/writing-skills/examples/CLAUDE_MD_TESTING.md +189 -0
  425. package/skills/workflow/writing-skills/graphviz-conventions.dot +0 -0
  426. package/skills/workflow/writing-skills/persuasion-principles.md +187 -0
  427. package/skills/workflow/writing-skills/render-graphs.js +168 -0
  428. package/skills/workflow/writing-skills/testing-skills-with-subagents.md +384 -0
  429. package/skills/angular-architect/SKILL.md +0 -152
  430. package/skills/angular-architect/references/components.md +0 -297
  431. package/skills/angular-architect/references/ngrx.md +0 -401
  432. package/skills/angular-architect/references/routing.md +0 -361
  433. package/skills/angular-architect/references/rxjs.md +0 -319
  434. package/skills/angular-architect/references/testing.md +0 -405
  435. package/skills/api-designer/SKILL.md +0 -217
  436. package/skills/api-designer/references/error-handling.md +0 -541
  437. package/skills/api-designer/references/openapi.md +0 -824
  438. package/skills/api-designer/references/pagination.md +0 -494
  439. package/skills/api-designer/references/rest-patterns.md +0 -335
  440. package/skills/api-designer/references/versioning.md +0 -391
  441. package/skills/architecture-designer/SKILL.md +0 -117
  442. package/skills/architecture-designer/references/adr-template.md +0 -116
  443. package/skills/architecture-designer/references/architecture-patterns.md +0 -111
  444. package/skills/architecture-designer/references/database-selection.md +0 -102
  445. package/skills/architecture-designer/references/nfr-checklist.md +0 -112
  446. package/skills/architecture-designer/references/system-design.md +0 -100
  447. package/skills/brainstorming/SKILL.md +0 -164
  448. package/skills/brainstorming/scripts/helper.js +0 -88
  449. package/skills/brainstorming/scripts/start-server.sh +0 -148
  450. package/skills/brainstorming/scripts/stop-server.sh +0 -56
  451. package/skills/brainstorming/spec-document-reviewer-prompt.md +0 -49
  452. package/skills/brainstorming/visual-companion.md +0 -287
  453. package/skills/chaos-engineer/SKILL.md +0 -182
  454. package/skills/chaos-engineer/references/chaos-tools.md +0 -511
  455. package/skills/chaos-engineer/references/experiment-design.md +0 -229
  456. package/skills/chaos-engineer/references/game-days.md +0 -434
  457. package/skills/chaos-engineer/references/infrastructure-chaos.md +0 -348
  458. package/skills/chaos-engineer/references/kubernetes-chaos.md +0 -432
  459. package/skills/cli-developer/SKILL.md +0 -113
  460. package/skills/cli-developer/references/design-patterns.md +0 -221
  461. package/skills/cli-developer/references/go-cli.md +0 -540
  462. package/skills/cli-developer/references/node-cli.md +0 -383
  463. package/skills/cli-developer/references/python-cli.md +0 -422
  464. package/skills/cli-developer/references/ux-patterns.md +0 -448
  465. package/skills/cloud-architect/SKILL.md +0 -216
  466. package/skills/cloud-architect/references/aws.md +0 -394
  467. package/skills/cloud-architect/references/azure.md +0 -562
  468. package/skills/cloud-architect/references/cost.md +0 -582
  469. package/skills/cloud-architect/references/gcp.md +0 -633
  470. package/skills/cloud-architect/references/multi-cloud.md +0 -483
  471. package/skills/code-documenter/SKILL.md +0 -147
  472. package/skills/code-documenter/references/api-docs-fastapi-django.md +0 -166
  473. package/skills/code-documenter/references/api-docs-nestjs-express.md +0 -220
  474. package/skills/code-documenter/references/coverage-reports.md +0 -125
  475. package/skills/code-documenter/references/documentation-systems.md +0 -333
  476. package/skills/code-documenter/references/interactive-api-docs.md +0 -531
  477. package/skills/code-documenter/references/python-docstrings.md +0 -121
  478. package/skills/code-documenter/references/typescript-jsdoc.md +0 -145
  479. package/skills/code-documenter/references/user-guides-tutorials.md +0 -530
  480. package/skills/code-reviewer/SKILL.md +0 -119
  481. package/skills/code-reviewer/references/common-issues.md +0 -142
  482. package/skills/code-reviewer/references/feedback-examples.md +0 -144
  483. package/skills/code-reviewer/references/receiving-feedback.md +0 -238
  484. package/skills/code-reviewer/references/report-template.md +0 -109
  485. package/skills/code-reviewer/references/review-checklist.md +0 -88
  486. package/skills/code-reviewer/references/spec-compliance-review.md +0 -258
  487. package/skills/cpp-pro/SKILL.md +0 -115
  488. package/skills/cpp-pro/references/build-tooling.md +0 -440
  489. package/skills/cpp-pro/references/concurrency.md +0 -437
  490. package/skills/cpp-pro/references/memory-performance.md +0 -397
  491. package/skills/cpp-pro/references/modern-cpp.md +0 -304
  492. package/skills/cpp-pro/references/templates.md +0 -357
  493. package/skills/csharp-developer/SKILL.md +0 -125
  494. package/skills/csharp-developer/references/aspnet-core.md +0 -394
  495. package/skills/csharp-developer/references/blazor.md +0 -553
  496. package/skills/csharp-developer/references/entity-framework.md +0 -409
  497. package/skills/csharp-developer/references/modern-csharp.md +0 -248
  498. package/skills/csharp-developer/references/performance.md +0 -498
  499. package/skills/database-optimizer/SKILL.md +0 -147
  500. package/skills/database-optimizer/references/index-strategies.md +0 -331
  501. package/skills/database-optimizer/references/monitoring-analysis.md +0 -501
  502. package/skills/database-optimizer/references/mysql-tuning.md +0 -452
  503. package/skills/database-optimizer/references/postgresql-tuning.md +0 -413
  504. package/skills/database-optimizer/references/query-optimization.md +0 -251
  505. package/skills/debugging-wizard/SKILL.md +0 -105
  506. package/skills/debugging-wizard/references/common-patterns.md +0 -132
  507. package/skills/debugging-wizard/references/debugging-tools.md +0 -140
  508. package/skills/debugging-wizard/references/quick-fixes.md +0 -177
  509. package/skills/debugging-wizard/references/strategies.md +0 -142
  510. package/skills/debugging-wizard/references/systematic-debugging.md +0 -367
  511. package/skills/devops-engineer/SKILL.md +0 -144
  512. package/skills/devops-engineer/references/deployment-strategies.md +0 -241
  513. package/skills/devops-engineer/references/docker-patterns.md +0 -113
  514. package/skills/devops-engineer/references/github-actions.md +0 -139
  515. package/skills/devops-engineer/references/incident-response.md +0 -331
  516. package/skills/devops-engineer/references/kubernetes.md +0 -154
  517. package/skills/devops-engineer/references/platform-engineering.md +0 -417
  518. package/skills/devops-engineer/references/release-automation.md +0 -527
  519. package/skills/devops-engineer/references/terraform-iac.md +0 -141
  520. package/skills/django-expert/SKILL.md +0 -162
  521. package/skills/django-expert/references/authentication.md +0 -145
  522. package/skills/django-expert/references/drf-serializers.md +0 -148
  523. package/skills/django-expert/references/models-orm.md +0 -151
  524. package/skills/django-expert/references/testing-django.md +0 -204
  525. package/skills/django-expert/references/viewsets-views.md +0 -153
  526. package/skills/documentation/SKILL.md +0 -45
  527. package/skills/dotnet-core-expert/SKILL.md +0 -138
  528. package/skills/dotnet-core-expert/references/authentication.md +0 -546
  529. package/skills/dotnet-core-expert/references/clean-architecture.md +0 -455
  530. package/skills/dotnet-core-expert/references/cloud-native.md +0 -548
  531. package/skills/dotnet-core-expert/references/entity-framework.md +0 -440
  532. package/skills/dotnet-core-expert/references/minimal-apis.md +0 -319
  533. package/skills/entropy-management/SKILL.md +0 -115
  534. package/skills/executing-plans/SKILL.md +0 -70
  535. package/skills/fastapi-expert/SKILL.md +0 -185
  536. package/skills/fastapi-expert/references/async-sqlalchemy.md +0 -146
  537. package/skills/fastapi-expert/references/authentication.md +0 -159
  538. package/skills/fastapi-expert/references/endpoints-routing.md +0 -142
  539. package/skills/fastapi-expert/references/migration-from-django.md +0 -997
  540. package/skills/fastapi-expert/references/pydantic-v2.md +0 -135
  541. package/skills/fastapi-expert/references/testing-async.md +0 -159
  542. package/skills/feature-forge/SKILL.md +0 -98
  543. package/skills/feature-forge/references/acceptance-criteria.md +0 -104
  544. package/skills/feature-forge/references/ears-syntax.md +0 -99
  545. package/skills/feature-forge/references/interview-questions.md +0 -150
  546. package/skills/feature-forge/references/pre-discovery-subagents.md +0 -54
  547. package/skills/feature-forge/references/specification-template.md +0 -103
  548. package/skills/fine-tuning-expert/SKILL.md +0 -162
  549. package/skills/fine-tuning-expert/references/dataset-preparation.md +0 -540
  550. package/skills/fine-tuning-expert/references/deployment-optimization.md +0 -673
  551. package/skills/fine-tuning-expert/references/evaluation-metrics.md +0 -597
  552. package/skills/fine-tuning-expert/references/hyperparameter-tuning.md +0 -565
  553. package/skills/fine-tuning-expert/references/lora-peft.md +0 -347
  554. package/skills/finishing-a-development-branch/SKILL.md +0 -200
  555. package/skills/flutter-expert/SKILL.md +0 -138
  556. package/skills/flutter-expert/references/bloc-state.md +0 -259
  557. package/skills/flutter-expert/references/gorouter-navigation.md +0 -119
  558. package/skills/flutter-expert/references/performance.md +0 -99
  559. package/skills/flutter-expert/references/project-structure.md +0 -118
  560. package/skills/flutter-expert/references/riverpod-state.md +0 -130
  561. package/skills/flutter-expert/references/widget-patterns.md +0 -123
  562. package/skills/fullstack-guardian/SKILL.md +0 -105
  563. package/skills/fullstack-guardian/references/api-design-standards.md +0 -307
  564. package/skills/fullstack-guardian/references/architecture-decisions.md +0 -350
  565. package/skills/fullstack-guardian/references/backend-patterns.md +0 -237
  566. package/skills/fullstack-guardian/references/common-patterns.md +0 -134
  567. package/skills/fullstack-guardian/references/deliverables-checklist.md +0 -354
  568. package/skills/fullstack-guardian/references/design-template.md +0 -91
  569. package/skills/fullstack-guardian/references/error-handling.md +0 -135
  570. package/skills/fullstack-guardian/references/frontend-patterns.md +0 -340
  571. package/skills/fullstack-guardian/references/integration-patterns.md +0 -333
  572. package/skills/fullstack-guardian/references/security-checklist.md +0 -106
  573. package/skills/golang-pro/SKILL.md +0 -122
  574. package/skills/golang-pro/references/concurrency.md +0 -329
  575. package/skills/golang-pro/references/generics.md +0 -442
  576. package/skills/golang-pro/references/interfaces.md +0 -432
  577. package/skills/golang-pro/references/project-structure.md +0 -477
  578. package/skills/golang-pro/references/testing.md +0 -451
  579. package/skills/graphql-architect/SKILL.md +0 -146
  580. package/skills/graphql-architect/references/federation.md +0 -418
  581. package/skills/graphql-architect/references/migration-from-rest.md +0 -1141
  582. package/skills/graphql-architect/references/resolvers.md +0 -425
  583. package/skills/graphql-architect/references/schema-design.md +0 -393
  584. package/skills/graphql-architect/references/security.md +0 -569
  585. package/skills/graphql-architect/references/subscriptions.md +0 -510
  586. package/skills/java-architect/SKILL.md +0 -132
  587. package/skills/java-architect/references/jpa-optimization.md +0 -393
  588. package/skills/java-architect/references/reactive-webflux.md +0 -356
  589. package/skills/java-architect/references/spring-boot-setup.md +0 -269
  590. package/skills/java-architect/references/spring-security.md +0 -445
  591. package/skills/java-architect/references/testing-patterns.md +0 -500
  592. package/skills/javascript-pro/SKILL.md +0 -132
  593. package/skills/javascript-pro/references/async-patterns.md +0 -334
  594. package/skills/javascript-pro/references/browser-apis.md +0 -398
  595. package/skills/javascript-pro/references/modern-syntax.md +0 -272
  596. package/skills/javascript-pro/references/modules.md +0 -357
  597. package/skills/javascript-pro/references/node-essentials.md +0 -471
  598. package/skills/kotlin-specialist/SKILL.md +0 -147
  599. package/skills/kotlin-specialist/references/android-compose.md +0 -419
  600. package/skills/kotlin-specialist/references/coroutines-flow.md +0 -276
  601. package/skills/kotlin-specialist/references/dsl-idioms.md +0 -421
  602. package/skills/kotlin-specialist/references/ktor-server.md +0 -426
  603. package/skills/kotlin-specialist/references/multiplatform-kmp.md +0 -380
  604. package/skills/kubernetes-specialist/SKILL.md +0 -241
  605. package/skills/kubernetes-specialist/references/configuration.md +0 -452
  606. package/skills/kubernetes-specialist/references/cost-optimization.md +0 -458
  607. package/skills/kubernetes-specialist/references/custom-operators.md +0 -563
  608. package/skills/kubernetes-specialist/references/gitops.md +0 -530
  609. package/skills/kubernetes-specialist/references/helm-charts.md +0 -912
  610. package/skills/kubernetes-specialist/references/multi-cluster.md +0 -507
  611. package/skills/kubernetes-specialist/references/networking.md +0 -447
  612. package/skills/kubernetes-specialist/references/service-mesh.md +0 -459
  613. package/skills/kubernetes-specialist/references/storage.md +0 -535
  614. package/skills/kubernetes-specialist/references/troubleshooting.md +0 -414
  615. package/skills/kubernetes-specialist/references/workloads.md +0 -377
  616. package/skills/laravel-specialist/SKILL.md +0 -262
  617. package/skills/laravel-specialist/references/eloquent.md +0 -351
  618. package/skills/laravel-specialist/references/livewire.md +0 -512
  619. package/skills/laravel-specialist/references/queues.md +0 -423
  620. package/skills/laravel-specialist/references/routing.md +0 -362
  621. package/skills/laravel-specialist/references/testing.md +0 -522
  622. package/skills/legacy-modernizer/SKILL.md +0 -137
  623. package/skills/legacy-modernizer/references/legacy-testing.md +0 -381
  624. package/skills/legacy-modernizer/references/migration-strategies.md +0 -423
  625. package/skills/legacy-modernizer/references/refactoring-patterns.md +0 -395
  626. package/skills/legacy-modernizer/references/strangler-fig-pattern.md +0 -281
  627. package/skills/legacy-modernizer/references/system-assessment.md +0 -487
  628. package/skills/mcp-developer/SKILL.md +0 -143
  629. package/skills/mcp-developer/references/protocol.md +0 -244
  630. package/skills/mcp-developer/references/python-sdk.md +0 -367
  631. package/skills/mcp-developer/references/resources.md +0 -554
  632. package/skills/mcp-developer/references/tools.md +0 -480
  633. package/skills/mcp-developer/references/typescript-sdk.md +0 -350
  634. package/skills/microservices-architect/SKILL.md +0 -164
  635. package/skills/microservices-architect/references/communication.md +0 -499
  636. package/skills/microservices-architect/references/data.md +0 -721
  637. package/skills/microservices-architect/references/decomposition.md +0 -344
  638. package/skills/microservices-architect/references/observability.md +0 -805
  639. package/skills/microservices-architect/references/patterns.md +0 -603
  640. package/skills/ml-pipeline/SKILL.md +0 -159
  641. package/skills/ml-pipeline/references/experiment-tracking.md +0 -833
  642. package/skills/ml-pipeline/references/feature-engineering.md +0 -631
  643. package/skills/ml-pipeline/references/model-validation.md +0 -978
  644. package/skills/ml-pipeline/references/pipeline-orchestration.md +0 -907
  645. package/skills/ml-pipeline/references/training-pipelines.md +0 -782
  646. package/skills/monitoring-expert/SKILL.md +0 -176
  647. package/skills/monitoring-expert/references/alerting-rules.md +0 -141
  648. package/skills/monitoring-expert/references/application-profiling.md +0 -331
  649. package/skills/monitoring-expert/references/capacity-planning.md +0 -344
  650. package/skills/monitoring-expert/references/dashboards.md +0 -126
  651. package/skills/monitoring-expert/references/opentelemetry.md +0 -123
  652. package/skills/monitoring-expert/references/performance-testing.md +0 -269
  653. package/skills/monitoring-expert/references/prometheus-metrics.md +0 -136
  654. package/skills/monitoring-expert/references/structured-logging.md +0 -142
  655. package/skills/nestjs-expert/SKILL.md +0 -206
  656. package/skills/nestjs-expert/references/authentication.md +0 -166
  657. package/skills/nestjs-expert/references/controllers-routing.md +0 -111
  658. package/skills/nestjs-expert/references/dtos-validation.md +0 -153
  659. package/skills/nestjs-expert/references/migration-from-express.md +0 -1237
  660. package/skills/nestjs-expert/references/services-di.md +0 -140
  661. package/skills/nestjs-expert/references/testing-patterns.md +0 -186
  662. package/skills/nextjs-developer/SKILL.md +0 -143
  663. package/skills/nextjs-developer/references/app-router.md +0 -311
  664. package/skills/nextjs-developer/references/data-fetching.md +0 -482
  665. package/skills/nextjs-developer/references/deployment.md +0 -545
  666. package/skills/nextjs-developer/references/server-actions.md +0 -462
  667. package/skills/nextjs-developer/references/server-components.md +0 -384
  668. package/skills/pandas-pro/SKILL.md +0 -178
  669. package/skills/pandas-pro/references/aggregation-groupby.md +0 -545
  670. package/skills/pandas-pro/references/data-cleaning.md +0 -500
  671. package/skills/pandas-pro/references/dataframe-operations.md +0 -420
  672. package/skills/pandas-pro/references/merging-joining.md +0 -596
  673. package/skills/pandas-pro/references/performance-optimization.md +0 -597
  674. package/skills/php-pro/SKILL.md +0 -206
  675. package/skills/php-pro/references/async-patterns.md +0 -412
  676. package/skills/php-pro/references/laravel-patterns.md +0 -377
  677. package/skills/php-pro/references/modern-php-features.md +0 -323
  678. package/skills/php-pro/references/symfony-patterns.md +0 -466
  679. package/skills/php-pro/references/testing-quality.md +0 -466
  680. package/skills/playwright-expert/SKILL.md +0 -169
  681. package/skills/playwright-expert/references/api-mocking.md +0 -140
  682. package/skills/playwright-expert/references/configuration.md +0 -155
  683. package/skills/playwright-expert/references/debugging-flaky.md +0 -150
  684. package/skills/playwright-expert/references/page-object-model.md +0 -152
  685. package/skills/playwright-expert/references/selectors-locators.md +0 -119
  686. package/skills/postgres-pro/SKILL.md +0 -152
  687. package/skills/postgres-pro/references/extensions.md +0 -404
  688. package/skills/postgres-pro/references/jsonb.md +0 -321
  689. package/skills/postgres-pro/references/maintenance.md +0 -481
  690. package/skills/postgres-pro/references/performance.md +0 -265
  691. package/skills/postgres-pro/references/replication.md +0 -446
  692. package/skills/python-pro/SKILL.md +0 -177
  693. package/skills/python-pro/references/async-patterns.md +0 -356
  694. package/skills/python-pro/references/packaging.md +0 -460
  695. package/skills/python-pro/references/standard-library.md +0 -378
  696. package/skills/python-pro/references/testing.md +0 -404
  697. package/skills/python-pro/references/type-system.md +0 -290
  698. package/skills/rag-architect/SKILL.md +0 -194
  699. package/skills/rag-architect/references/chunking-strategies.md +0 -878
  700. package/skills/rag-architect/references/embedding-models.md +0 -561
  701. package/skills/rag-architect/references/rag-evaluation.md +0 -833
  702. package/skills/rag-architect/references/retrieval-optimization.md +0 -795
  703. package/skills/rag-architect/references/vector-databases.md +0 -589
  704. package/skills/rails-expert/SKILL.md +0 -154
  705. package/skills/rails-expert/references/active-record.md +0 -244
  706. package/skills/rails-expert/references/api-development.md +0 -401
  707. package/skills/rails-expert/references/background-jobs.md +0 -272
  708. package/skills/rails-expert/references/hotwire-turbo.md +0 -228
  709. package/skills/rails-expert/references/rspec-testing.md +0 -367
  710. package/skills/react-expert/SKILL.md +0 -149
  711. package/skills/react-expert/references/hooks-patterns.md +0 -162
  712. package/skills/react-expert/references/migration-class-to-modern.md +0 -1119
  713. package/skills/react-expert/references/performance.md +0 -168
  714. package/skills/react-expert/references/react-19-features.md +0 -174
  715. package/skills/react-expert/references/server-components.md +0 -143
  716. package/skills/react-expert/references/state-management.md +0 -171
  717. package/skills/react-expert/references/testing-react.md +0 -174
  718. package/skills/react-native-expert/SKILL.md +0 -185
  719. package/skills/react-native-expert/references/expo-router.md +0 -187
  720. package/skills/react-native-expert/references/list-optimization.md +0 -204
  721. package/skills/react-native-expert/references/platform-handling.md +0 -188
  722. package/skills/react-native-expert/references/project-structure.md +0 -171
  723. package/skills/react-native-expert/references/storage-hooks.md +0 -173
  724. package/skills/receiving-code-review/SKILL.md +0 -213
  725. package/skills/requesting-code-review/SKILL.md +0 -105
  726. package/skills/requesting-code-review/code-reviewer.md +0 -146
  727. package/skills/requirement-engineering/SKILL.md +0 -111
  728. package/skills/rust-engineer/SKILL.md +0 -167
  729. package/skills/rust-engineer/references/async.md +0 -458
  730. package/skills/rust-engineer/references/error-handling.md +0 -334
  731. package/skills/rust-engineer/references/ownership.md +0 -278
  732. package/skills/rust-engineer/references/testing.md +0 -470
  733. package/skills/rust-engineer/references/traits.md +0 -413
  734. package/skills/secure-code-guardian/SKILL.md +0 -191
  735. package/skills/secure-code-guardian/references/authentication.md +0 -136
  736. package/skills/secure-code-guardian/references/input-validation.md +0 -146
  737. package/skills/secure-code-guardian/references/owasp-prevention.md +0 -135
  738. package/skills/secure-code-guardian/references/security-headers.md +0 -133
  739. package/skills/secure-code-guardian/references/xss-csrf.md +0 -157
  740. package/skills/security-reviewer/SKILL.md +0 -103
  741. package/skills/security-reviewer/references/infrastructure-security.md +0 -268
  742. package/skills/security-reviewer/references/penetration-testing.md +0 -268
  743. package/skills/security-reviewer/references/report-template.md +0 -170
  744. package/skills/security-reviewer/references/sast-tools.md +0 -117
  745. package/skills/security-reviewer/references/secret-scanning.md +0 -125
  746. package/skills/security-reviewer/references/vulnerability-patterns.md +0 -152
  747. package/skills/spark-engineer/SKILL.md +0 -148
  748. package/skills/spark-engineer/references/partitioning-caching.md +0 -543
  749. package/skills/spark-engineer/references/performance-tuning.md +0 -544
  750. package/skills/spark-engineer/references/rdd-operations.md +0 -599
  751. package/skills/spark-engineer/references/spark-sql-dataframes.md +0 -474
  752. package/skills/spark-engineer/references/streaming-patterns.md +0 -786
  753. package/skills/spring-boot-engineer/SKILL.md +0 -195
  754. package/skills/spring-boot-engineer/references/cloud.md +0 -498
  755. package/skills/spring-boot-engineer/references/data.md +0 -381
  756. package/skills/spring-boot-engineer/references/security.md +0 -459
  757. package/skills/spring-boot-engineer/references/testing.md +0 -545
  758. package/skills/spring-boot-engineer/references/web.md +0 -295
  759. package/skills/sql-pro/SKILL.md +0 -129
  760. package/skills/sql-pro/references/database-design.md +0 -402
  761. package/skills/sql-pro/references/dialect-differences.md +0 -419
  762. package/skills/sql-pro/references/optimization.md +0 -384
  763. package/skills/sql-pro/references/query-patterns.md +0 -285
  764. package/skills/sql-pro/references/window-functions.md +0 -328
  765. package/skills/sre-engineer/SKILL.md +0 -181
  766. package/skills/sre-engineer/references/automation-toil.md +0 -492
  767. package/skills/sre-engineer/references/error-budget-policy.md +0 -334
  768. package/skills/sre-engineer/references/incident-chaos.md +0 -576
  769. package/skills/sre-engineer/references/monitoring-alerting.md +0 -424
  770. package/skills/sre-engineer/references/slo-sli-management.md +0 -238
  771. package/skills/swift-expert/SKILL.md +0 -163
  772. package/skills/swift-expert/references/async-concurrency.md +0 -360
  773. package/skills/swift-expert/references/memory-performance.md +0 -377
  774. package/skills/swift-expert/references/protocol-oriented.md +0 -354
  775. package/skills/swift-expert/references/swiftui-patterns.md +0 -291
  776. package/skills/swift-expert/references/testing-patterns.md +0 -399
  777. package/skills/systematic-debugging/CREATION-LOG.md +0 -119
  778. package/skills/systematic-debugging/SKILL.md +0 -296
  779. package/skills/systematic-debugging/condition-based-waiting-example.ts +0 -158
  780. package/skills/systematic-debugging/condition-based-waiting.md +0 -115
  781. package/skills/systematic-debugging/defense-in-depth.md +0 -122
  782. package/skills/systematic-debugging/find-polluter.sh +0 -63
  783. package/skills/systematic-debugging/root-cause-tracing.md +0 -169
  784. package/skills/systematic-debugging/test-academic.md +0 -14
  785. package/skills/systematic-debugging/test-pressure-1.md +0 -58
  786. package/skills/systematic-debugging/test-pressure-2.md +0 -68
  787. package/skills/systematic-debugging/test-pressure-3.md +0 -69
  788. package/skills/tdd-guide/assets/sample_coverage_report.lcov +0 -56
  789. package/skills/terraform-engineer/SKILL.md +0 -143
  790. package/skills/terraform-engineer/references/best-practices.md +0 -583
  791. package/skills/terraform-engineer/references/module-patterns.md +0 -297
  792. package/skills/terraform-engineer/references/providers.md +0 -452
  793. package/skills/terraform-engineer/references/state-management.md +0 -371
  794. package/skills/terraform-engineer/references/testing.md +0 -486
  795. package/skills/test-master/SKILL.md +0 -94
  796. package/skills/test-master/references/automation-frameworks.md +0 -294
  797. package/skills/test-master/references/e2e-testing.md +0 -128
  798. package/skills/test-master/references/integration-testing.md +0 -120
  799. package/skills/test-master/references/performance-testing.md +0 -118
  800. package/skills/test-master/references/qa-methodology.md +0 -247
  801. package/skills/test-master/references/security-testing.md +0 -127
  802. package/skills/test-master/references/tdd-iron-laws.md +0 -174
  803. package/skills/test-master/references/test-reports.md +0 -104
  804. package/skills/test-master/references/testing-anti-patterns.md +0 -231
  805. package/skills/test-master/references/unit-testing.md +0 -113
  806. package/skills/typescript-pro/SKILL.md +0 -145
  807. package/skills/typescript-pro/references/advanced-types.md +0 -259
  808. package/skills/typescript-pro/references/configuration.md +0 -445
  809. package/skills/typescript-pro/references/patterns.md +0 -484
  810. package/skills/typescript-pro/references/type-guards.md +0 -352
  811. package/skills/typescript-pro/references/utility-types.md +0 -329
  812. package/skills/using-git-worktrees/SKILL.md +0 -218
  813. package/skills/verification-before-completion/SKILL.md +0 -139
  814. package/skills/vue-expert/SKILL.md +0 -98
  815. package/skills/vue-expert/references/build-tooling.md +0 -480
  816. package/skills/vue-expert/references/components.md +0 -448
  817. package/skills/vue-expert/references/composition-api.md +0 -299
  818. package/skills/vue-expert/references/mobile-hybrid.md +0 -636
  819. package/skills/vue-expert/references/nuxt.md +0 -669
  820. package/skills/vue-expert/references/state-management.md +0 -449
  821. package/skills/vue-expert/references/typescript.md +0 -584
  822. package/skills/vue-expert-js/SKILL.md +0 -167
  823. package/skills/vue-expert-js/references/component-architecture.md +0 -219
  824. package/skills/vue-expert-js/references/composables-patterns.md +0 -183
  825. package/skills/vue-expert-js/references/jsdoc-typing.md +0 -535
  826. package/skills/vue-expert-js/references/state-management.md +0 -249
  827. package/skills/vue-expert-js/references/testing-patterns.md +0 -237
  828. package/skills/websocket-engineer/SKILL.md +0 -168
  829. package/skills/websocket-engineer/references/alternatives.md +0 -391
  830. package/skills/websocket-engineer/references/patterns.md +0 -400
  831. package/skills/websocket-engineer/references/protocol.md +0 -195
  832. package/skills/websocket-engineer/references/scaling.md +0 -333
  833. package/skills/websocket-engineer/references/security.md +0 -474
  834. package/skills/writing-plans/SKILL.md +0 -151
  835. package/skills/writing-plans/plan-document-reviewer-prompt.md +0 -49
  836. package/skills/writing-skills/SKILL.md +0 -655
  837. package/skills/writing-skills/anthropic-best-practices.md +0 -1150
  838. package/skills/writing-skills/examples/CLAUDE_MD_TESTING.md +0 -189
  839. package/skills/writing-skills/graphviz-conventions.dot +0 -172
  840. package/skills/writing-skills/persuasion-principles.md +0 -187
  841. package/skills/writing-skills/render-graphs.js +0 -168
  842. package/skills/writing-skills/testing-skills-with-subagents.md +0 -384
  843. /package/skills/{design-commands → frontend/design-commands}/design.md +0 -0
  844. /package/skills/{design-commands → frontend/design-commands}/handoff.md +0 -0
  845. /package/skills/{design-commands → frontend/design-commands}/prototype.md +0 -0
  846. /package/skills/{design-commands → frontend/design-commands}/spec.md +0 -0
  847. /package/skills/{design-commands → frontend/design-commands}/style.md +0 -0
  848. /package/skills/{senior-frontend → frontend/senior-frontend}/SKILL.md +0 -0
  849. /package/skills/{senior-frontend → frontend/senior-frontend}/references/frontend_best_practices.md +0 -0
  850. /package/skills/{senior-frontend → frontend/senior-frontend}/references/nextjs_optimization_guide.md +0 -0
  851. /package/skills/{senior-frontend → frontend/senior-frontend}/references/react_patterns.md +0 -0
  852. /package/skills/{senior-frontend → frontend/senior-frontend}/scripts/bundle_analyzer.py +0 -0
  853. /package/skills/{senior-frontend → frontend/senior-frontend}/scripts/component_generator.py +0 -0
  854. /package/skills/{senior-frontend → frontend/senior-frontend}/scripts/frontend_scaffolder.py +0 -0
  855. /package/skills/{ui-ux-pro-max → frontend/ui-ux-pro-max}/SKILL.md +0 -0
  856. /package/skills/{ui-ux-pro-max → frontend/ui-ux-pro-max}/data/charts.csv +0 -0
  857. /package/skills/{ui-ux-pro-max → frontend/ui-ux-pro-max}/data/colors.csv +0 -0
  858. /package/skills/{ui-ux-pro-max → frontend/ui-ux-pro-max}/data/icons.csv +0 -0
  859. /package/skills/{ui-ux-pro-max → frontend/ui-ux-pro-max}/data/landing.csv +0 -0
  860. /package/skills/{ui-ux-pro-max → frontend/ui-ux-pro-max}/data/products.csv +0 -0
  861. /package/skills/{ui-ux-pro-max → frontend/ui-ux-pro-max}/data/react-performance.csv +0 -0
  862. /package/skills/{ui-ux-pro-max → frontend/ui-ux-pro-max}/data/stacks/astro.csv +0 -0
  863. /package/skills/{ui-ux-pro-max → frontend/ui-ux-pro-max}/data/stacks/flutter.csv +0 -0
  864. /package/skills/{ui-ux-pro-max → frontend/ui-ux-pro-max}/data/stacks/html-tailwind.csv +0 -0
  865. /package/skills/{ui-ux-pro-max → frontend/ui-ux-pro-max}/data/stacks/jetpack-compose.csv +0 -0
  866. /package/skills/{ui-ux-pro-max → frontend/ui-ux-pro-max}/data/stacks/nextjs.csv +0 -0
  867. /package/skills/{ui-ux-pro-max → frontend/ui-ux-pro-max}/data/stacks/nuxt-ui.csv +0 -0
  868. /package/skills/{ui-ux-pro-max → frontend/ui-ux-pro-max}/data/stacks/nuxtjs.csv +0 -0
  869. /package/skills/{ui-ux-pro-max → frontend/ui-ux-pro-max}/data/stacks/react-native.csv +0 -0
  870. /package/skills/{ui-ux-pro-max → frontend/ui-ux-pro-max}/data/stacks/react.csv +0 -0
  871. /package/skills/{ui-ux-pro-max → frontend/ui-ux-pro-max}/data/stacks/shadcn.csv +0 -0
  872. /package/skills/{ui-ux-pro-max → frontend/ui-ux-pro-max}/data/stacks/svelte.csv +0 -0
  873. /package/skills/{ui-ux-pro-max → frontend/ui-ux-pro-max}/data/stacks/swiftui.csv +0 -0
  874. /package/skills/{ui-ux-pro-max → frontend/ui-ux-pro-max}/data/stacks/vue.csv +0 -0
  875. /package/skills/{ui-ux-pro-max → frontend/ui-ux-pro-max}/data/styles.csv +0 -0
  876. /package/skills/{ui-ux-pro-max → frontend/ui-ux-pro-max}/data/typography.csv +0 -0
  877. /package/skills/{ui-ux-pro-max → frontend/ui-ux-pro-max}/data/ui-reasoning.csv +0 -0
  878. /package/skills/{ui-ux-pro-max → frontend/ui-ux-pro-max}/data/ux-guidelines.csv +0 -0
  879. /package/skills/{ui-ux-pro-max → frontend/ui-ux-pro-max}/data/web-interface.csv +0 -0
  880. /package/skills/{ui-ux-pro-max → frontend/ui-ux-pro-max}/scripts/core.py +0 -0
  881. /package/skills/{ui-ux-pro-max → frontend/ui-ux-pro-max}/scripts/design_system.py +0 -0
  882. /package/skills/{ui-ux-pro-max → frontend/ui-ux-pro-max}/scripts/search.py +0 -0
  883. /package/skills/{competitive-analysis → product/competitive-analysis}/SKILL.md +0 -0
  884. /package/skills/{meeting-notes → product/meeting-notes}/SKILL.md +0 -0
  885. /package/skills/{prd-template → product/prd-template}/SKILL.md +0 -0
  886. /package/skills/{stakeholder-update → product/stakeholder-update}/SKILL.md +0 -0
  887. /package/skills/{user-research-synthesis → product/user-research-synthesis}/SKILL.md +0 -0
  888. /package/skills/{senior-qa → quality/senior-qa}/README.md +0 -0
  889. /package/skills/{senior-qa → quality/senior-qa}/SKILL.md +0 -0
  890. /package/skills/{senior-qa → quality/senior-qa}/references/qa_best_practices.md +0 -0
  891. /package/skills/{senior-qa → quality/senior-qa}/references/test_automation_patterns.md +0 -0
  892. /package/skills/{senior-qa → quality/senior-qa}/references/testing_strategies.md +0 -0
  893. /package/skills/{senior-qa → quality/senior-qa}/scripts/coverage_analyzer.py +0 -0
  894. /package/skills/{senior-qa → quality/senior-qa}/scripts/e2e_test_scaffolder.py +0 -0
  895. /package/skills/{senior-qa → quality/senior-qa}/scripts/test_suite_generator.py +0 -0
  896. /package/skills/{tdd-guide → quality/tdd-guide}/HOW_TO_USE.md +0 -0
  897. /package/skills/{tdd-guide → quality/tdd-guide}/README.md +0 -0
  898. /package/skills/{tdd-guide → quality/tdd-guide}/SKILL.md +0 -0
  899. /package/skills/{tdd-guide → quality/tdd-guide}/assets/expected_output.json +0 -0
  900. /package/skills/{tdd-guide → quality/tdd-guide}/assets/sample_input_python.json +0 -0
  901. /package/skills/{tdd-guide → quality/tdd-guide}/assets/sample_input_typescript.json +0 -0
  902. /package/skills/{tdd-guide → quality/tdd-guide}/references/ci-integration.md +0 -0
  903. /package/skills/{tdd-guide → quality/tdd-guide}/references/framework-guide.md +0 -0
  904. /package/skills/{tdd-guide → quality/tdd-guide}/references/tdd-best-practices.md +0 -0
  905. /package/skills/{tdd-guide → quality/tdd-guide}/scripts/coverage_analyzer.py +0 -0
  906. /package/skills/{tdd-guide → quality/tdd-guide}/scripts/fixture_generator.py +0 -0
  907. /package/skills/{tdd-guide → quality/tdd-guide}/scripts/format_detector.py +0 -0
  908. /package/skills/{tdd-guide → quality/tdd-guide}/scripts/framework_adapter.py +0 -0
  909. /package/skills/{tdd-guide → quality/tdd-guide}/scripts/metrics_calculator.py +0 -0
  910. /package/skills/{tdd-guide → quality/tdd-guide}/scripts/output_formatter.py +0 -0
  911. /package/skills/{tdd-guide → quality/tdd-guide}/scripts/tdd_workflow.py +0 -0
  912. /package/skills/{tdd-guide → quality/tdd-guide}/scripts/test_generator.py +0 -0
  913. /package/skills/{brainstorming → workflow/brainstorming}/scripts/frame-template.html +0 -0
  914. /package/skills/{brainstorming → workflow/brainstorming}/scripts/server.cjs +0 -0
@@ -0,0 +1,384 @@
1
+ # Query Optimization
2
+
3
+ ## EXPLAIN Plan Analysis
4
+
5
+ ```sql
6
+ -- PostgreSQL EXPLAIN ANALYZE
7
+ EXPLAIN (ANALYZE, BUFFERS, VERBOSE)
8
+ SELECT
9
+ c.customer_id,
10
+ c.name,
11
+ COUNT(o.order_id) as order_count,
12
+ SUM(o.total) as lifetime_value
13
+ FROM customers c
14
+ LEFT JOIN orders o ON c.customer_id = o.customer_id
15
+ WHERE c.created_at >= '2024-01-01'
16
+ GROUP BY c.customer_id, c.name
17
+ HAVING COUNT(o.order_id) > 5;
18
+
19
+ /*
20
+ Key metrics to analyze:
21
+ - Planning Time: Time to generate plan
22
+ - Execution Time: Actual runtime
23
+ - Seq Scan: Table scans (bad for large tables)
24
+ - Index Scan: Using indexes (good)
25
+ - Rows: Estimated vs actual (large difference = stale stats)
26
+ - Buffers: shared hit = cache, read = disk I/O
27
+ - Loops: Nested loop iterations
28
+ */
29
+
30
+ -- MySQL EXPLAIN
31
+ EXPLAIN FORMAT=JSON
32
+ SELECT * FROM orders o
33
+ INNER JOIN customers c ON o.customer_id = c.customer_id
34
+ WHERE o.order_date >= '2024-01-01'
35
+ AND c.country = 'US';
36
+
37
+ -- SQL Server execution plan
38
+ SET STATISTICS IO ON;
39
+ SET STATISTICS TIME ON;
40
+
41
+ SELECT ...;
42
+
43
+ -- Check actual vs estimated rows
44
+ SELECT * FROM sys.dm_exec_query_stats;
45
+ ```
46
+
47
+ ## Index Design and Optimization
48
+
49
+ ```sql
50
+ -- Covering index (all columns in index)
51
+ CREATE INDEX idx_orders_covering ON orders (
52
+ customer_id,
53
+ order_date
54
+ ) INCLUDE (total, status);
55
+
56
+ -- Query uses index-only scan (no table access needed)
57
+ SELECT customer_id, order_date, total, status
58
+ FROM orders
59
+ WHERE customer_id = 123
60
+ AND order_date >= '2024-01-01';
61
+
62
+ -- Composite index (order matters!)
63
+ CREATE INDEX idx_orders_customer_date ON orders (customer_id, order_date DESC);
64
+ -- Good: WHERE customer_id = X AND order_date > Y
65
+ -- Good: WHERE customer_id = X
66
+ -- Bad: WHERE order_date > Y (doesn't use index)
67
+
68
+ -- Partial/Filtered index (smaller, faster)
69
+ CREATE INDEX idx_active_orders ON orders (customer_id, order_date)
70
+ WHERE status = 'active';
71
+
72
+ -- Only used when query includes the filter
73
+ SELECT * FROM orders
74
+ WHERE customer_id = 123
75
+ AND status = 'active'
76
+ AND order_date >= '2024-01-01';
77
+
78
+ -- Expression/Function-based index
79
+ CREATE INDEX idx_users_lower_email ON users (LOWER(email));
80
+
81
+ -- Now this uses the index
82
+ SELECT * FROM users WHERE LOWER(email) = 'user@example.com';
83
+
84
+ -- GIN index for arrays/JSONB (PostgreSQL)
85
+ CREATE INDEX idx_products_tags ON products USING GIN (tags);
86
+ SELECT * FROM products WHERE tags @> ARRAY['electronics', 'sale'];
87
+
88
+ CREATE INDEX idx_orders_metadata ON orders USING GIN (metadata jsonb_path_ops);
89
+ SELECT * FROM orders WHERE metadata @> '{"priority": "high"}';
90
+ ```
91
+
92
+ ## Index Maintenance
93
+
94
+ ```sql
95
+ -- PostgreSQL: Find missing indexes
96
+ SELECT
97
+ schemaname,
98
+ tablename,
99
+ seq_scan,
100
+ seq_tup_read,
101
+ idx_scan,
102
+ seq_tup_read / seq_scan as avg_seq_read
103
+ FROM pg_stat_user_tables
104
+ WHERE seq_scan > 0
105
+ AND seq_tup_read / seq_scan > 10000
106
+ ORDER BY seq_tup_read DESC;
107
+
108
+ -- Find unused indexes
109
+ SELECT
110
+ schemaname,
111
+ tablename,
112
+ indexname,
113
+ idx_scan,
114
+ pg_size_pretty(pg_relation_size(indexrelid)) as index_size
115
+ FROM pg_stat_user_indexes
116
+ WHERE idx_scan = 0
117
+ AND indexrelname NOT LIKE 'pg_toast%'
118
+ ORDER BY pg_relation_size(indexrelid) DESC;
119
+
120
+ -- Find duplicate indexes
121
+ SELECT
122
+ pg_size_pretty(SUM(pg_relation_size(idx))::BIGINT) as size,
123
+ (array_agg(idx))[1] as idx1,
124
+ (array_agg(idx))[2] as idx2,
125
+ (array_agg(idx))[3] as idx3
126
+ FROM (
127
+ SELECT
128
+ indexrelid::regclass as idx,
129
+ (indrelid::text ||E'\n'|| indclass::text ||E'\n'||
130
+ indkey::text ||E'\n'|| COALESCE(indexprs::text,'')||E'\n'||
131
+ COALESCE(indpred::text,'')) as key
132
+ FROM pg_index
133
+ ) sub
134
+ GROUP BY key
135
+ HAVING COUNT(*) > 1
136
+ ORDER BY SUM(pg_relation_size(idx)) DESC;
137
+
138
+ -- Reindex to reduce bloat
139
+ REINDEX INDEX CONCURRENTLY idx_orders_customer_date;
140
+
141
+ -- Update statistics
142
+ ANALYZE orders;
143
+ ANALYZE VERBOSE; -- Show progress
144
+ ```
145
+
146
+ ## Query Rewriting Patterns
147
+
148
+ ```sql
149
+ -- Avoid SELECT DISTINCT when possible
150
+ -- Bad: Forces sort/dedup
151
+ SELECT DISTINCT customer_id FROM orders WHERE status = 'active';
152
+
153
+ -- Good: Use EXISTS
154
+ SELECT customer_id FROM customers c
155
+ WHERE EXISTS (
156
+ SELECT 1 FROM orders o
157
+ WHERE o.customer_id = c.customer_id
158
+ AND o.status = 'active'
159
+ );
160
+
161
+ -- Avoid NOT IN with NULLs
162
+ -- Bad: NULL handling issues and poor performance
163
+ SELECT * FROM customers
164
+ WHERE customer_id NOT IN (SELECT customer_id FROM orders);
165
+
166
+ -- Good: Use NOT EXISTS
167
+ SELECT * FROM customers c
168
+ WHERE NOT EXISTS (
169
+ SELECT 1 FROM orders o WHERE o.customer_id = c.customer_id
170
+ );
171
+
172
+ -- Push down filtering early
173
+ -- Bad: Filter after JOIN
174
+ SELECT c.*, o.*
175
+ FROM customers c
176
+ JOIN orders o ON c.customer_id = o.customer_id
177
+ WHERE c.country = 'US' AND o.order_date >= '2024-01-01';
178
+
179
+ -- Good: Use WHERE in subquery/CTE to reduce JOIN size
180
+ WITH us_customers AS (
181
+ SELECT customer_id, name
182
+ FROM customers
183
+ WHERE country = 'US'
184
+ ),
185
+ recent_orders AS (
186
+ SELECT customer_id, order_id, total
187
+ FROM orders
188
+ WHERE order_date >= '2024-01-01'
189
+ )
190
+ SELECT c.*, o.*
191
+ FROM us_customers c
192
+ JOIN recent_orders o ON c.customer_id = o.customer_id;
193
+
194
+ -- Avoid scalar subqueries in SELECT
195
+ -- Bad: N+1 problem
196
+ SELECT
197
+ p.product_id,
198
+ p.name,
199
+ (SELECT COUNT(*) FROM reviews WHERE product_id = p.product_id) as review_count
200
+ FROM products p;
201
+
202
+ -- Good: Single JOIN with GROUP BY
203
+ SELECT
204
+ p.product_id,
205
+ p.name,
206
+ COUNT(r.review_id) as review_count
207
+ FROM products p
208
+ LEFT JOIN reviews r ON p.product_id = r.product_id
209
+ GROUP BY p.product_id, p.name;
210
+ ```
211
+
212
+ ## Partitioning Strategies
213
+
214
+ ```sql
215
+ -- Range partitioning by date (PostgreSQL)
216
+ CREATE TABLE orders (
217
+ order_id SERIAL,
218
+ customer_id INT,
219
+ order_date DATE NOT NULL,
220
+ total DECIMAL(10,2)
221
+ ) PARTITION BY RANGE (order_date);
222
+
223
+ CREATE TABLE orders_2024_q1 PARTITION OF orders
224
+ FOR VALUES FROM ('2024-01-01') TO ('2024-04-01');
225
+
226
+ CREATE TABLE orders_2024_q2 PARTITION OF orders
227
+ FOR VALUES FROM ('2024-04-01') TO ('2024-07-01');
228
+
229
+ -- Partition pruning in action
230
+ EXPLAIN SELECT * FROM orders WHERE order_date >= '2024-02-01' AND order_date < '2024-03-01';
231
+ -- Only scans orders_2024_q1 partition
232
+
233
+ -- List partitioning by category
234
+ CREATE TABLE products (
235
+ product_id SERIAL,
236
+ category VARCHAR(50) NOT NULL,
237
+ name VARCHAR(200)
238
+ ) PARTITION BY LIST (category);
239
+
240
+ CREATE TABLE products_electronics PARTITION OF products
241
+ FOR VALUES IN ('electronics', 'computers', 'phones');
242
+
243
+ CREATE TABLE products_clothing PARTITION OF products
244
+ FOR VALUES IN ('clothing', 'shoes', 'accessories');
245
+
246
+ -- Hash partitioning for even distribution
247
+ CREATE TABLE users (
248
+ user_id SERIAL,
249
+ email VARCHAR(255)
250
+ ) PARTITION BY HASH (user_id);
251
+
252
+ CREATE TABLE users_p0 PARTITION OF users
253
+ FOR VALUES WITH (MODULUS 4, REMAINDER 0);
254
+ CREATE TABLE users_p1 PARTITION OF users
255
+ FOR VALUES WITH (MODULUS 4, REMAINDER 1);
256
+ ```
257
+
258
+ ## Materialized Views
259
+
260
+ ```sql
261
+ -- Create materialized view for expensive aggregations
262
+ CREATE MATERIALIZED VIEW daily_sales_summary AS
263
+ SELECT
264
+ DATE_TRUNC('day', order_date) as day,
265
+ COUNT(*) as order_count,
266
+ SUM(total) as revenue,
267
+ AVG(total) as avg_order_value,
268
+ COUNT(DISTINCT customer_id) as unique_customers
269
+ FROM orders
270
+ GROUP BY DATE_TRUNC('day', order_date);
271
+
272
+ CREATE UNIQUE INDEX idx_daily_sales_day ON daily_sales_summary (day);
273
+
274
+ -- Refresh strategy
275
+ REFRESH MATERIALIZED VIEW CONCURRENTLY daily_sales_summary;
276
+
277
+ -- Auto-refresh with trigger (PostgreSQL)
278
+ CREATE OR REPLACE FUNCTION refresh_daily_sales()
279
+ RETURNS TRIGGER AS $$
280
+ BEGIN
281
+ REFRESH MATERIALIZED VIEW CONCURRENTLY daily_sales_summary;
282
+ RETURN NULL;
283
+ END;
284
+ $$ LANGUAGE plpgsql;
285
+
286
+ CREATE TRIGGER trigger_refresh_daily_sales
287
+ AFTER INSERT OR UPDATE OR DELETE ON orders
288
+ FOR EACH STATEMENT
289
+ EXECUTE FUNCTION refresh_daily_sales();
290
+ ```
291
+
292
+ ## Query Hints and Optimization
293
+
294
+ ```sql
295
+ -- PostgreSQL: Force index usage (use sparingly)
296
+ SET enable_seqscan = OFF;
297
+ SELECT /*+ IndexScan(orders idx_orders_customer) */ * FROM orders WHERE customer_id = 123;
298
+ SET enable_seqscan = ON;
299
+
300
+ -- SQL Server: Query hints
301
+ SELECT * FROM orders WITH (INDEX(idx_orders_customer_date))
302
+ WHERE customer_id = 123;
303
+
304
+ -- Force specific join type
305
+ SELECT * FROM customers c
306
+ INNER MERGE JOIN orders o ON c.customer_id = o.customer_id;
307
+
308
+ -- MySQL: Index hints
309
+ SELECT * FROM orders USE INDEX (idx_orders_customer_date)
310
+ WHERE customer_id = 123;
311
+
312
+ SELECT * FROM orders FORCE INDEX (idx_orders_customer_date)
313
+ WHERE customer_id = 123;
314
+
315
+ -- PostgreSQL: Parallel query tuning
316
+ SET max_parallel_workers_per_gather = 4;
317
+ ALTER TABLE large_table SET (parallel_workers = 4);
318
+ ```
319
+
320
+ ## Performance Monitoring Queries
321
+
322
+ ```sql
323
+ -- PostgreSQL: Find slow queries
324
+ SELECT
325
+ query,
326
+ calls,
327
+ total_exec_time,
328
+ mean_exec_time,
329
+ max_exec_time,
330
+ rows / calls as avg_rows
331
+ FROM pg_stat_statements
332
+ ORDER BY mean_exec_time DESC
333
+ LIMIT 20;
334
+
335
+ -- Find blocking queries
336
+ SELECT
337
+ blocked_locks.pid AS blocked_pid,
338
+ blocked_activity.usename AS blocked_user,
339
+ blocking_locks.pid AS blocking_pid,
340
+ blocking_activity.usename AS blocking_user,
341
+ blocked_activity.query AS blocked_statement,
342
+ blocking_activity.query AS blocking_statement
343
+ FROM pg_catalog.pg_locks blocked_locks
344
+ JOIN pg_catalog.pg_stat_activity blocked_activity ON blocked_activity.pid = blocked_locks.pid
345
+ JOIN pg_catalog.pg_locks blocking_locks
346
+ ON blocking_locks.locktype = blocked_locks.locktype
347
+ AND blocking_locks.database IS NOT DISTINCT FROM blocked_locks.database
348
+ AND blocking_locks.relation IS NOT DISTINCT FROM blocked_locks.relation
349
+ AND blocking_locks.page IS NOT DISTINCT FROM blocked_locks.page
350
+ AND blocking_locks.tuple IS NOT DISTINCT FROM blocked_locks.tuple
351
+ AND blocking_locks.virtualxid IS NOT DISTINCT FROM blocked_locks.virtualxid
352
+ AND blocking_locks.transactionid IS NOT DISTINCT FROM blocked_locks.transactionid
353
+ AND blocking_locks.classid IS NOT DISTINCT FROM blocked_locks.classid
354
+ AND blocking_locks.objid IS NOT DISTINCT FROM blocked_locks.objid
355
+ AND blocking_locks.objsubid IS NOT DISTINCT FROM blocked_locks.objsubid
356
+ AND blocking_locks.pid != blocked_locks.pid
357
+ JOIN pg_catalog.pg_stat_activity blocking_activity ON blocking_activity.pid = blocking_locks.pid
358
+ WHERE NOT blocked_locks.granted;
359
+
360
+ -- Table bloat detection
361
+ SELECT
362
+ schemaname,
363
+ tablename,
364
+ pg_size_pretty(pg_total_relation_size(schemaname||'.'||tablename)) as size,
365
+ n_dead_tup,
366
+ n_live_tup,
367
+ ROUND(n_dead_tup * 100.0 / NULLIF(n_live_tup + n_dead_tup, 0), 2) as dead_pct
368
+ FROM pg_stat_user_tables
369
+ WHERE n_dead_tup > 1000
370
+ ORDER BY n_dead_tup DESC;
371
+ ```
372
+
373
+ ## Best Practices Checklist
374
+
375
+ 1. Always run EXPLAIN ANALYZE before optimizing
376
+ 2. Create indexes on foreign keys and WHERE/JOIN columns
377
+ 3. Use covering indexes for frequent queries
378
+ 4. Keep statistics up to date (ANALYZE regularly)
379
+ 5. Avoid SELECT *, specify needed columns
380
+ 6. Use EXISTS instead of IN for subqueries
381
+ 7. Filter early, aggregate late
382
+ 8. Consider partitioning for large tables (>10M rows)
383
+ 9. Use materialized views for expensive aggregations
384
+ 10. Monitor slow query log and pg_stat_statements
@@ -0,0 +1,285 @@
1
+ # Query Patterns
2
+
3
+ ## Common Table Expressions (CTEs)
4
+
5
+ ```sql
6
+ -- Basic CTE for readability
7
+ WITH active_users AS (
8
+ SELECT user_id, username, created_at
9
+ FROM users
10
+ WHERE is_active = true
11
+ AND last_login >= CURRENT_DATE - INTERVAL '30 days'
12
+ ),
13
+ user_orders AS (
14
+ SELECT user_id, COUNT(*) as order_count, SUM(total) as total_spent
15
+ FROM orders
16
+ WHERE status = 'completed'
17
+ GROUP BY user_id
18
+ )
19
+ SELECT
20
+ u.username,
21
+ u.created_at,
22
+ COALESCE(o.order_count, 0) as orders,
23
+ COALESCE(o.total_spent, 0) as lifetime_value
24
+ FROM active_users u
25
+ LEFT JOIN user_orders o ON u.user_id = o.user_id
26
+ WHERE COALESCE(o.order_count, 0) > 0
27
+ ORDER BY o.total_spent DESC;
28
+
29
+ -- CTE with multiple references (avoiding duplicate computation)
30
+ WITH monthly_sales AS (
31
+ SELECT
32
+ DATE_TRUNC('month', sale_date) as month,
33
+ product_id,
34
+ SUM(quantity) as total_quantity,
35
+ SUM(amount) as total_amount
36
+ FROM sales
37
+ WHERE sale_date >= '2024-01-01'
38
+ GROUP BY DATE_TRUNC('month', sale_date), product_id
39
+ )
40
+ SELECT
41
+ current.month,
42
+ current.product_id,
43
+ current.total_amount,
44
+ current.total_amount - COALESCE(previous.total_amount, 0) as growth,
45
+ ROUND(100.0 * (current.total_amount - COALESCE(previous.total_amount, 0))
46
+ / NULLIF(previous.total_amount, 0), 2) as growth_pct
47
+ FROM monthly_sales current
48
+ LEFT JOIN monthly_sales previous
49
+ ON current.product_id = previous.product_id
50
+ AND current.month = previous.month + INTERVAL '1 month';
51
+ ```
52
+
53
+ ## Recursive CTEs
54
+
55
+ ```sql
56
+ -- Organizational hierarchy traversal
57
+ WITH RECURSIVE org_hierarchy AS (
58
+ -- Anchor member: top-level managers
59
+ SELECT
60
+ employee_id,
61
+ name,
62
+ manager_id,
63
+ 1 as level,
64
+ ARRAY[employee_id] as path,
65
+ name as hierarchy_path
66
+ FROM employees
67
+ WHERE manager_id IS NULL
68
+
69
+ UNION ALL
70
+
71
+ -- Recursive member: employees reporting to current level
72
+ SELECT
73
+ e.employee_id,
74
+ e.name,
75
+ e.manager_id,
76
+ h.level + 1,
77
+ h.path || e.employee_id,
78
+ h.hierarchy_path || ' > ' || e.name
79
+ FROM employees e
80
+ INNER JOIN org_hierarchy h ON e.manager_id = h.employee_id
81
+ WHERE NOT e.employee_id = ANY(h.path) -- Prevent cycles
82
+ )
83
+ SELECT
84
+ employee_id,
85
+ REPEAT(' ', level - 1) || name as indented_name,
86
+ level,
87
+ hierarchy_path
88
+ FROM org_hierarchy
89
+ ORDER BY path;
90
+
91
+ -- Bill of materials (parts explosion)
92
+ WITH RECURSIVE parts_explosion AS (
93
+ SELECT
94
+ part_id,
95
+ component_id,
96
+ quantity,
97
+ 1 as level,
98
+ ARRAY[part_id] as path
99
+ FROM bill_of_materials
100
+ WHERE part_id = 'PRODUCT-123'
101
+
102
+ UNION ALL
103
+
104
+ SELECT
105
+ pe.part_id,
106
+ bom.component_id,
107
+ pe.quantity * bom.quantity,
108
+ pe.level + 1,
109
+ pe.path || bom.part_id
110
+ FROM parts_explosion pe
111
+ INNER JOIN bill_of_materials bom ON pe.component_id = bom.part_id
112
+ WHERE NOT bom.part_id = ANY(pe.path)
113
+ )
114
+ SELECT
115
+ component_id,
116
+ SUM(quantity) as total_quantity,
117
+ MAX(level) as max_depth
118
+ FROM parts_explosion
119
+ GROUP BY component_id;
120
+ ```
121
+
122
+ ## Advanced JOIN Patterns
123
+
124
+ ```sql
125
+ -- Self-join for finding gaps in sequences
126
+ SELECT
127
+ a.order_id as current_id,
128
+ MIN(b.order_id) as next_id,
129
+ MIN(b.order_id) - a.order_id - 1 as gap_size
130
+ FROM orders a
131
+ LEFT JOIN orders b ON b.order_id > a.order_id
132
+ GROUP BY a.order_id
133
+ HAVING MIN(b.order_id) - a.order_id > 1;
134
+
135
+ -- LATERAL join for correlated subqueries (PostgreSQL)
136
+ SELECT
137
+ c.customer_id,
138
+ c.name,
139
+ recent.order_date,
140
+ recent.total
141
+ FROM customers c
142
+ CROSS JOIN LATERAL (
143
+ SELECT order_date, total
144
+ FROM orders o
145
+ WHERE o.customer_id = c.customer_id
146
+ ORDER BY order_date DESC
147
+ LIMIT 3
148
+ ) recent;
149
+
150
+ -- Anti-join pattern (records in A not in B)
151
+ SELECT u.user_id, u.email
152
+ FROM users u
153
+ LEFT JOIN orders o ON u.user_id = o.user_id
154
+ WHERE o.order_id IS NULL;
155
+
156
+ -- Using EXISTS (more efficient than IN for large sets)
157
+ SELECT u.user_id, u.email
158
+ FROM users u
159
+ WHERE NOT EXISTS (
160
+ SELECT 1
161
+ FROM orders o
162
+ WHERE o.user_id = u.user_id
163
+ );
164
+ ```
165
+
166
+ ## Subquery Optimization
167
+
168
+ ```sql
169
+ -- Scalar subquery in SELECT (use sparingly - can cause N+1)
170
+ SELECT
171
+ p.product_id,
172
+ p.name,
173
+ (SELECT COUNT(*) FROM reviews r WHERE r.product_id = p.product_id) as review_count,
174
+ (SELECT AVG(rating) FROM reviews r WHERE r.product_id = p.product_id) as avg_rating
175
+ FROM products p;
176
+
177
+ -- Better: Use JOINs with aggregation
178
+ SELECT
179
+ p.product_id,
180
+ p.name,
181
+ COALESCE(r.review_count, 0) as review_count,
182
+ r.avg_rating
183
+ FROM products p
184
+ LEFT JOIN (
185
+ SELECT
186
+ product_id,
187
+ COUNT(*) as review_count,
188
+ AVG(rating) as avg_rating
189
+ FROM reviews
190
+ GROUP BY product_id
191
+ ) r ON p.product_id = r.product_id;
192
+
193
+ -- Correlated subquery for filtering
194
+ SELECT
195
+ order_id,
196
+ customer_id,
197
+ total
198
+ FROM orders o1
199
+ WHERE total > (
200
+ SELECT AVG(total)
201
+ FROM orders o2
202
+ WHERE o2.customer_id = o1.customer_id
203
+ );
204
+
205
+ -- Better: Use window functions
206
+ SELECT
207
+ order_id,
208
+ customer_id,
209
+ total
210
+ FROM (
211
+ SELECT
212
+ order_id,
213
+ customer_id,
214
+ total,
215
+ AVG(total) OVER (PARTITION BY customer_id) as avg_customer_total
216
+ FROM orders
217
+ ) x
218
+ WHERE total > avg_customer_total;
219
+ ```
220
+
221
+ ## PIVOT/UNPIVOT Operations
222
+
223
+ ```sql
224
+ -- PostgreSQL CROSSTAB (requires tablefunc extension)
225
+ CREATE EXTENSION IF NOT EXISTS tablefunc;
226
+
227
+ SELECT * FROM crosstab(
228
+ 'SELECT customer_id, product_category, SUM(amount)
229
+ FROM sales
230
+ GROUP BY customer_id, product_category
231
+ ORDER BY customer_id, product_category',
232
+ 'SELECT DISTINCT product_category FROM sales ORDER BY 1'
233
+ ) AS ct(customer_id INT, electronics NUMERIC, clothing NUMERIC, food NUMERIC);
234
+
235
+ -- Manual PIVOT with CASE
236
+ SELECT
237
+ customer_id,
238
+ SUM(CASE WHEN product_category = 'electronics' THEN amount ELSE 0 END) as electronics,
239
+ SUM(CASE WHEN product_category = 'clothing' THEN amount ELSE 0 END) as clothing,
240
+ SUM(CASE WHEN product_category = 'food' THEN amount ELSE 0 END) as food
241
+ FROM sales
242
+ GROUP BY customer_id;
243
+
244
+ -- UNPIVOT pattern (row to column)
245
+ SELECT customer_id, 'electronics' as category, electronics as amount
246
+ FROM customer_sales WHERE electronics > 0
247
+ UNION ALL
248
+ SELECT customer_id, 'clothing', clothing
249
+ FROM customer_sales WHERE clothing > 0
250
+ UNION ALL
251
+ SELECT customer_id, 'food', food
252
+ FROM customer_sales WHERE food > 0;
253
+ ```
254
+
255
+ ## Set Operations
256
+
257
+ ```sql
258
+ -- UNION for combining distinct results
259
+ SELECT product_id FROM active_products
260
+ UNION
261
+ SELECT product_id FROM featured_products;
262
+
263
+ -- UNION ALL for better performance (includes duplicates)
264
+ SELECT user_id, 'signup' as event FROM signups WHERE date = CURRENT_DATE
265
+ UNION ALL
266
+ SELECT user_id, 'purchase' as event FROM purchases WHERE date = CURRENT_DATE;
267
+
268
+ -- INTERSECT for common records
269
+ SELECT email FROM newsletter_subscribers
270
+ INTERSECT
271
+ SELECT email FROM premium_members;
272
+
273
+ -- EXCEPT for difference (A - B)
274
+ SELECT email FROM all_users
275
+ EXCEPT
276
+ SELECT email FROM unsubscribed_users;
277
+ ```
278
+
279
+ ## Performance Tips
280
+
281
+ 1. **CTE Materialization**: PostgreSQL 12+ materializes CTEs by default. Use `WITH cte AS MATERIALIZED` or `NOT MATERIALIZED` to control
282
+ 2. **JOIN Order**: Database optimizers handle this, but put smaller tables first in manual optimization
283
+ 3. **EXISTS vs IN**: Use EXISTS for correlated checks, IN for small static lists
284
+ 4. **Subquery vs JOIN**: Prefer JOINs for readability and optimizer friendliness
285
+ 5. **UNION ALL vs UNION**: Use UNION ALL when duplicates are acceptable (no deduplication cost)