@ruaruababa/vibe-kit 1.0.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 (462) hide show
  1. package/CATALOG.md +317 -0
  2. package/README.md +121 -0
  3. package/aliases.json +65 -0
  4. package/bin/vibe.js +2 -0
  5. package/bundles.json +265 -0
  6. package/catalog.json +1560 -0
  7. package/dist/antigravity-skills/bin/cli.js +438 -0
  8. package/dist/antigravity-skills/lib/skill-utils.js +158 -0
  9. package/dist/antigravity-skills/scripts/build-catalog.js +305 -0
  10. package/dist/antigravity-skills/scripts/normalize-frontmatter.js +144 -0
  11. package/dist/antigravity-skills/scripts/validate-skills.js +230 -0
  12. package/dist/bin/vibe.js +2 -0
  13. package/dist/dist/src/cli/index.js +26 -0
  14. package/dist/lib/skill-utils.js +158 -0
  15. package/dist/scripts/build-catalog.js +50 -0
  16. package/dist/scripts/normalize-frontmatter.js +144 -0
  17. package/dist/scripts/validate-skills.js +56 -0
  18. package/dist/src/cli/index.js +146 -0
  19. package/dist/src/types/index.js +13 -0
  20. package/dist/src/utils/fs.js +1 -0
  21. package/package.json +43 -0
  22. package/skills/accessibility-compliance-accessibility-audit/SKILL.md +42 -0
  23. package/skills/accessibility-compliance-accessibility-audit/resources/implementation-playbook.md +502 -0
  24. package/skills/agent-orchestration-improve-agent/SKILL.md +349 -0
  25. package/skills/agent-orchestration-multi-agent-optimize/SKILL.md +239 -0
  26. package/skills/agent-orchestrator/SKILL.md +24 -0
  27. package/skills/ai-engineer/SKILL.md +171 -0
  28. package/skills/airflow-dag-patterns/SKILL.md +41 -0
  29. package/skills/airflow-dag-patterns/resources/implementation-playbook.md +509 -0
  30. package/skills/angular-migration/SKILL.md +428 -0
  31. package/skills/anti-reversing-techniques/SKILL.md +42 -0
  32. package/skills/anti-reversing-techniques/resources/implementation-playbook.md +539 -0
  33. package/skills/api-design-principles/SKILL.md +37 -0
  34. package/skills/api-design-principles/assets/api-design-checklist.md +155 -0
  35. package/skills/api-design-principles/assets/rest-api-template.py +182 -0
  36. package/skills/api-design-principles/references/graphql-schema-design.md +583 -0
  37. package/skills/api-design-principles/references/rest-best-practices.md +408 -0
  38. package/skills/api-design-principles/resources/implementation-playbook.md +513 -0
  39. package/skills/api-documenter/SKILL.md +184 -0
  40. package/skills/api-testing-observability-api-mock/SKILL.md +46 -0
  41. package/skills/api-testing-observability-api-mock/resources/implementation-playbook.md +1327 -0
  42. package/skills/application-performance-performance-optimization/SKILL.md +154 -0
  43. package/skills/architect-review/SKILL.md +174 -0
  44. package/skills/architecture-decision-records/SKILL.md +441 -0
  45. package/skills/architecture-patterns/SKILL.md +37 -0
  46. package/skills/architecture-patterns/resources/implementation-playbook.md +479 -0
  47. package/skills/arm-cortex-expert/SKILL.md +306 -0
  48. package/skills/async-python-patterns/SKILL.md +39 -0
  49. package/skills/async-python-patterns/resources/implementation-playbook.md +678 -0
  50. package/skills/attack-tree-construction/SKILL.md +38 -0
  51. package/skills/attack-tree-construction/resources/implementation-playbook.md +671 -0
  52. package/skills/auth-implementation-patterns/SKILL.md +39 -0
  53. package/skills/auth-implementation-patterns/resources/implementation-playbook.md +618 -0
  54. package/skills/backend-architect/SKILL.md +333 -0
  55. package/skills/backend-development-feature-development/SKILL.md +180 -0
  56. package/skills/backend-security-coder/SKILL.md +156 -0
  57. package/skills/backtesting-frameworks/SKILL.md +39 -0
  58. package/skills/backtesting-frameworks/resources/implementation-playbook.md +647 -0
  59. package/skills/bash-defensive-patterns/SKILL.md +43 -0
  60. package/skills/bash-defensive-patterns/resources/implementation-playbook.md +517 -0
  61. package/skills/bash-pro/SKILL.md +310 -0
  62. package/skills/bats-testing-patterns/SKILL.md +34 -0
  63. package/skills/bats-testing-patterns/resources/implementation-playbook.md +614 -0
  64. package/skills/bazel-build-optimization/SKILL.md +397 -0
  65. package/skills/billing-automation/SKILL.md +42 -0
  66. package/skills/billing-automation/resources/implementation-playbook.md +544 -0
  67. package/skills/binary-analysis-patterns/SKILL.md +450 -0
  68. package/skills/blockchain-developer/SKILL.md +208 -0
  69. package/skills/business-analyst/SKILL.md +182 -0
  70. package/skills/c-pro/SKILL.md +56 -0
  71. package/skills/c4-architecture-c4-architecture/SKILL.md +389 -0
  72. package/skills/c4-code/SKILL.md +244 -0
  73. package/skills/c4-component/SKILL.md +153 -0
  74. package/skills/c4-container/SKILL.md +171 -0
  75. package/skills/c4-context/SKILL.md +150 -0
  76. package/skills/changelog-automation/SKILL.md +38 -0
  77. package/skills/changelog-automation/resources/implementation-playbook.md +538 -0
  78. package/skills/cicd-automation-workflow-automate/SKILL.md +51 -0
  79. package/skills/cicd-automation-workflow-automate/resources/implementation-playbook.md +1333 -0
  80. package/skills/clean-markdown/SKILL.md +23 -0
  81. package/skills/cloud-architect/SKILL.md +135 -0
  82. package/skills/code-documentation-code-explain/SKILL.md +46 -0
  83. package/skills/code-documentation-code-explain/resources/implementation-playbook.md +802 -0
  84. package/skills/code-documentation-doc-generate/SKILL.md +48 -0
  85. package/skills/code-documentation-doc-generate/resources/implementation-playbook.md +640 -0
  86. package/skills/code-refactoring-context-restore/SKILL.md +179 -0
  87. package/skills/code-refactoring-refactor-clean/SKILL.md +51 -0
  88. package/skills/code-refactoring-refactor-clean/resources/implementation-playbook.md +879 -0
  89. package/skills/code-refactoring-tech-debt/SKILL.md +386 -0
  90. package/skills/code-review-ai-ai-review/SKILL.md +450 -0
  91. package/skills/code-review-excellence/SKILL.md +40 -0
  92. package/skills/code-review-excellence/resources/implementation-playbook.md +515 -0
  93. package/skills/code-reviewer/SKILL.md +178 -0
  94. package/skills/codebase-cleanup-deps-audit/SKILL.md +51 -0
  95. package/skills/codebase-cleanup-deps-audit/resources/implementation-playbook.md +766 -0
  96. package/skills/codebase-cleanup-refactor-clean/SKILL.md +51 -0
  97. package/skills/codebase-cleanup-refactor-clean/resources/implementation-playbook.md +879 -0
  98. package/skills/codebase-cleanup-tech-debt/SKILL.md +386 -0
  99. package/skills/competitive-landscape/SKILL.md +34 -0
  100. package/skills/competitive-landscape/resources/implementation-playbook.md +494 -0
  101. package/skills/comprehensive-review-full-review/SKILL.md +146 -0
  102. package/skills/comprehensive-review-pr-enhance/SKILL.md +46 -0
  103. package/skills/comprehensive-review-pr-enhance/resources/implementation-playbook.md +691 -0
  104. package/skills/conductor-implement/SKILL.md +388 -0
  105. package/skills/conductor-manage/SKILL.md +39 -0
  106. package/skills/conductor-manage/resources/implementation-playbook.md +1120 -0
  107. package/skills/conductor-new-track/SKILL.md +433 -0
  108. package/skills/conductor-revert/SKILL.md +372 -0
  109. package/skills/conductor-setup/SKILL.md +426 -0
  110. package/skills/conductor-status/SKILL.md +338 -0
  111. package/skills/conductor-validator/SKILL.md +62 -0
  112. package/skills/content-marketer/SKILL.md +170 -0
  113. package/skills/context-driven-development/SKILL.md +400 -0
  114. package/skills/context-management-context-restore/SKILL.md +179 -0
  115. package/skills/context-management-context-save/SKILL.md +177 -0
  116. package/skills/context-manager/SKILL.md +185 -0
  117. package/skills/cost-optimization/SKILL.md +286 -0
  118. package/skills/cpp-pro/SKILL.md +59 -0
  119. package/skills/cqrs-implementation/SKILL.md +35 -0
  120. package/skills/cqrs-implementation/resources/implementation-playbook.md +540 -0
  121. package/skills/csharp-pro/SKILL.md +59 -0
  122. package/skills/customer-support/SKILL.md +170 -0
  123. package/skills/data-engineer/SKILL.md +224 -0
  124. package/skills/data-engineering-data-driven-feature/SKILL.md +182 -0
  125. package/skills/data-engineering-data-pipeline/SKILL.md +201 -0
  126. package/skills/data-quality-frameworks/SKILL.md +40 -0
  127. package/skills/data-quality-frameworks/resources/implementation-playbook.md +573 -0
  128. package/skills/data-scientist/SKILL.md +199 -0
  129. package/skills/data-storytelling/SKILL.md +465 -0
  130. package/skills/database-admin/SKILL.md +165 -0
  131. package/skills/database-architect/SKILL.md +268 -0
  132. package/skills/database-cloud-optimization-cost-optimize/SKILL.md +44 -0
  133. package/skills/database-cloud-optimization-cost-optimize/resources/implementation-playbook.md +1441 -0
  134. package/skills/database-migration/SKILL.md +436 -0
  135. package/skills/database-migrations-migration-observability/SKILL.md +420 -0
  136. package/skills/database-migrations-sql-migrations/SKILL.md +53 -0
  137. package/skills/database-migrations-sql-migrations/resources/implementation-playbook.md +499 -0
  138. package/skills/database-optimizer/SKILL.md +167 -0
  139. package/skills/dbt-transformation-patterns/SKILL.md +34 -0
  140. package/skills/dbt-transformation-patterns/resources/implementation-playbook.md +547 -0
  141. package/skills/debugger/SKILL.md +49 -0
  142. package/skills/debugging-strategies/SKILL.md +34 -0
  143. package/skills/debugging-strategies/resources/implementation-playbook.md +511 -0
  144. package/skills/debugging-toolkit-smart-debug/SKILL.md +197 -0
  145. package/skills/defi-protocol-templates/SKILL.md +466 -0
  146. package/skills/dependency-management-deps-audit/SKILL.md +44 -0
  147. package/skills/dependency-management-deps-audit/resources/implementation-playbook.md +766 -0
  148. package/skills/dependency-upgrade/SKILL.md +421 -0
  149. package/skills/deployment-engineer/SKILL.md +170 -0
  150. package/skills/deployment-pipeline-design/SKILL.md +371 -0
  151. package/skills/deployment-validation-config-validate/SKILL.md +496 -0
  152. package/skills/devops-troubleshooter/SKILL.md +161 -0
  153. package/skills/distributed-debugging-debug-trace/SKILL.md +44 -0
  154. package/skills/distributed-debugging-debug-trace/resources/implementation-playbook.md +1307 -0
  155. package/skills/distributed-tracing/SKILL.md +450 -0
  156. package/skills/django-pro/SKILL.md +180 -0
  157. package/skills/docs-architect/SKILL.md +98 -0
  158. package/skills/documentation-generation-doc-generate/SKILL.md +48 -0
  159. package/skills/documentation-generation-doc-generate/resources/implementation-playbook.md +640 -0
  160. package/skills/dotnet-architect/SKILL.md +197 -0
  161. package/skills/dotnet-backend-patterns/SKILL.md +37 -0
  162. package/skills/dotnet-backend-patterns/assets/repository-template.cs +523 -0
  163. package/skills/dotnet-backend-patterns/assets/service-template.cs +336 -0
  164. package/skills/dotnet-backend-patterns/references/dapper-patterns.md +544 -0
  165. package/skills/dotnet-backend-patterns/references/ef-core-best-practices.md +355 -0
  166. package/skills/dotnet-backend-patterns/resources/implementation-playbook.md +799 -0
  167. package/skills/dummy-skill/SKILL.md +5 -0
  168. package/skills/dx-optimizer/SKILL.md +83 -0
  169. package/skills/e2e-testing-patterns/SKILL.md +41 -0
  170. package/skills/e2e-testing-patterns/resources/implementation-playbook.md +531 -0
  171. package/skills/elixir-pro/SKILL.md +59 -0
  172. package/skills/embedding-strategies/SKILL.md +491 -0
  173. package/skills/employment-contract-templates/SKILL.md +39 -0
  174. package/skills/employment-contract-templates/resources/implementation-playbook.md +493 -0
  175. package/skills/error-debugging-error-analysis/SKILL.md +47 -0
  176. package/skills/error-debugging-error-analysis/resources/implementation-playbook.md +1143 -0
  177. package/skills/error-debugging-error-trace/SKILL.md +43 -0
  178. package/skills/error-debugging-error-trace/resources/implementation-playbook.md +1361 -0
  179. package/skills/error-debugging-multi-agent-review/SKILL.md +216 -0
  180. package/skills/error-detective/SKILL.md +53 -0
  181. package/skills/error-diagnostics-error-analysis/SKILL.md +47 -0
  182. package/skills/error-diagnostics-error-analysis/resources/implementation-playbook.md +1143 -0
  183. package/skills/error-diagnostics-error-trace/SKILL.md +48 -0
  184. package/skills/error-diagnostics-error-trace/resources/implementation-playbook.md +1371 -0
  185. package/skills/error-diagnostics-smart-debug/SKILL.md +197 -0
  186. package/skills/error-handling-patterns/SKILL.md +35 -0
  187. package/skills/error-handling-patterns/resources/implementation-playbook.md +635 -0
  188. package/skills/event-sourcing-architect/SKILL.md +58 -0
  189. package/skills/event-store-design/SKILL.md +449 -0
  190. package/skills/fastapi-pro/SKILL.md +192 -0
  191. package/skills/fastapi-templates/SKILL.md +32 -0
  192. package/skills/fastapi-templates/resources/implementation-playbook.md +566 -0
  193. package/skills/final-test/SKILL.md +5 -0
  194. package/skills/firmware-analyst/SKILL.md +320 -0
  195. package/skills/flutter-expert/SKILL.md +200 -0
  196. package/skills/framework-migration-code-migrate/SKILL.md +48 -0
  197. package/skills/framework-migration-code-migrate/resources/implementation-playbook.md +1052 -0
  198. package/skills/framework-migration-deps-upgrade/SKILL.md +48 -0
  199. package/skills/framework-migration-deps-upgrade/resources/implementation-playbook.md +755 -0
  200. package/skills/framework-migration-legacy-modernize/SKILL.md +132 -0
  201. package/skills/frontend-developer/SKILL.md +171 -0
  202. package/skills/frontend-mobile-development-component-scaffold/SKILL.md +403 -0
  203. package/skills/frontend-mobile-security-xss-scan/SKILL.md +322 -0
  204. package/skills/frontend-security-coder/SKILL.md +170 -0
  205. package/skills/full-stack-orchestration-full-stack-feature/SKILL.md +135 -0
  206. package/skills/gdpr-data-handling/SKILL.md +33 -0
  207. package/skills/gdpr-data-handling/resources/implementation-playbook.md +615 -0
  208. package/skills/git-advanced-workflows/SKILL.md +412 -0
  209. package/skills/git-pr-workflows-git-workflow/SKILL.md +140 -0
  210. package/skills/git-pr-workflows-onboard/SKILL.md +416 -0
  211. package/skills/git-pr-workflows-pr-enhance/SKILL.md +48 -0
  212. package/skills/git-pr-workflows-pr-enhance/resources/implementation-playbook.md +701 -0
  213. package/skills/github-actions-templates/SKILL.md +345 -0
  214. package/skills/gitlab-ci-patterns/SKILL.md +283 -0
  215. package/skills/gitops-workflow/SKILL.md +303 -0
  216. package/skills/gitops-workflow/references/argocd-setup.md +134 -0
  217. package/skills/gitops-workflow/references/sync-policies.md +131 -0
  218. package/skills/go-concurrency-patterns/SKILL.md +33 -0
  219. package/skills/go-concurrency-patterns/resources/implementation-playbook.md +654 -0
  220. package/skills/godot-gdscript-patterns/SKILL.md +33 -0
  221. package/skills/godot-gdscript-patterns/resources/implementation-playbook.md +804 -0
  222. package/skills/golang-pro/SKILL.md +179 -0
  223. package/skills/grafana-dashboards/SKILL.md +381 -0
  224. package/skills/graphql-architect/SKILL.md +182 -0
  225. package/skills/haskell-pro/SKILL.md +56 -0
  226. package/skills/helm-chart-scaffolding/SKILL.md +34 -0
  227. package/skills/helm-chart-scaffolding/assets/Chart.yaml.template +42 -0
  228. package/skills/helm-chart-scaffolding/assets/values.yaml.template +185 -0
  229. package/skills/helm-chart-scaffolding/references/chart-structure.md +500 -0
  230. package/skills/helm-chart-scaffolding/resources/implementation-playbook.md +543 -0
  231. package/skills/helm-chart-scaffolding/scripts/validate-chart.sh +244 -0
  232. package/skills/hr-pro/SKILL.md +126 -0
  233. package/skills/hybrid-cloud-architect/SKILL.md +168 -0
  234. package/skills/hybrid-cloud-networking/SKILL.md +238 -0
  235. package/skills/hybrid-search-implementation/SKILL.md +32 -0
  236. package/skills/hybrid-search-implementation/resources/implementation-playbook.md +567 -0
  237. package/skills/incident-responder/SKILL.md +213 -0
  238. package/skills/incident-response-incident-response/SKILL.md +168 -0
  239. package/skills/incident-response-smart-fix/SKILL.md +29 -0
  240. package/skills/incident-response-smart-fix/resources/implementation-playbook.md +838 -0
  241. package/skills/incident-runbook-templates/SKILL.md +395 -0
  242. package/skills/ios-developer/SKILL.md +219 -0
  243. package/skills/istio-traffic-management/SKILL.md +337 -0
  244. package/skills/java-pro/SKILL.md +177 -0
  245. package/skills/javascript-pro/SKILL.md +57 -0
  246. package/skills/javascript-testing-patterns/SKILL.md +35 -0
  247. package/skills/javascript-testing-patterns/resources/implementation-playbook.md +1024 -0
  248. package/skills/javascript-typescript-typescript-scaffold/SKILL.md +361 -0
  249. package/skills/julia-pro/SKILL.md +209 -0
  250. package/skills/k8s-manifest-generator/SKILL.md +35 -0
  251. package/skills/k8s-manifest-generator/assets/configmap-template.yaml +296 -0
  252. package/skills/k8s-manifest-generator/assets/deployment-template.yaml +203 -0
  253. package/skills/k8s-manifest-generator/assets/service-template.yaml +171 -0
  254. package/skills/k8s-manifest-generator/references/deployment-spec.md +753 -0
  255. package/skills/k8s-manifest-generator/references/service-spec.md +724 -0
  256. package/skills/k8s-manifest-generator/resources/implementation-playbook.md +510 -0
  257. package/skills/k8s-security-policies/SKILL.md +346 -0
  258. package/skills/k8s-security-policies/assets/network-policy-template.yaml +177 -0
  259. package/skills/k8s-security-policies/references/rbac-patterns.md +187 -0
  260. package/skills/kpi-dashboard-design/SKILL.md +440 -0
  261. package/skills/kubernetes-architect/SKILL.md +170 -0
  262. package/skills/langchain-architecture/SKILL.md +350 -0
  263. package/skills/legacy-modernizer/SKILL.md +53 -0
  264. package/skills/legal-advisor/SKILL.md +70 -0
  265. package/skills/linkerd-patterns/SKILL.md +321 -0
  266. package/skills/llm-application-dev-ai-assistant/SKILL.md +35 -0
  267. package/skills/llm-application-dev-ai-assistant/resources/implementation-playbook.md +1236 -0
  268. package/skills/llm-application-dev-langchain-agent/SKILL.md +246 -0
  269. package/skills/llm-application-dev-prompt-optimize/SKILL.md +37 -0
  270. package/skills/llm-application-dev-prompt-optimize/resources/implementation-playbook.md +591 -0
  271. package/skills/llm-evaluation/SKILL.md +483 -0
  272. package/skills/machine-learning-ops-ml-pipeline/SKILL.md +314 -0
  273. package/skills/malware-analyst/SKILL.md +247 -0
  274. package/skills/market-sizing-analysis/SKILL.md +425 -0
  275. package/skills/market-sizing-analysis/examples/saas-market-sizing.md +349 -0
  276. package/skills/market-sizing-analysis/references/data-sources.md +360 -0
  277. package/skills/memory-forensics/SKILL.md +491 -0
  278. package/skills/memory-safety-patterns/SKILL.md +33 -0
  279. package/skills/memory-safety-patterns/resources/implementation-playbook.md +603 -0
  280. package/skills/mermaid-expert/SKILL.md +59 -0
  281. package/skills/microservices-patterns/SKILL.md +35 -0
  282. package/skills/microservices-patterns/resources/implementation-playbook.md +607 -0
  283. package/skills/minecraft-bukkit-pro/SKILL.md +126 -0
  284. package/skills/ml-engineer/SKILL.md +168 -0
  285. package/skills/ml-pipeline-workflow/SKILL.md +257 -0
  286. package/skills/mlops-engineer/SKILL.md +219 -0
  287. package/skills/mobile-developer/SKILL.md +205 -0
  288. package/skills/mobile-security-coder/SKILL.md +184 -0
  289. package/skills/modern-javascript-patterns/SKILL.md +35 -0
  290. package/skills/modern-javascript-patterns/resources/implementation-playbook.md +910 -0
  291. package/skills/monorepo-architect/SKILL.md +61 -0
  292. package/skills/monorepo-management/SKILL.md +35 -0
  293. package/skills/monorepo-management/resources/implementation-playbook.md +621 -0
  294. package/skills/mtls-configuration/SKILL.md +359 -0
  295. package/skills/multi-cloud-architecture/SKILL.md +189 -0
  296. package/skills/multi-platform-apps-multi-platform/SKILL.md +203 -0
  297. package/skills/network-engineer/SKILL.md +169 -0
  298. package/skills/nextjs-app-router-patterns/SKILL.md +33 -0
  299. package/skills/nextjs-app-router-patterns/resources/implementation-playbook.md +543 -0
  300. package/skills/nft-standards/SKILL.md +395 -0
  301. package/skills/node-expert/SKILL.md +23 -0
  302. package/skills/nodejs-backend-patterns/SKILL.md +35 -0
  303. package/skills/nodejs-backend-patterns/resources/implementation-playbook.md +1019 -0
  304. package/skills/nx-workspace-patterns/SKILL.md +464 -0
  305. package/skills/observability-engineer/SKILL.md +237 -0
  306. package/skills/observability-monitoring-monitor-setup/SKILL.md +48 -0
  307. package/skills/observability-monitoring-monitor-setup/resources/implementation-playbook.md +505 -0
  308. package/skills/observability-monitoring-slo-implement/SKILL.md +43 -0
  309. package/skills/observability-monitoring-slo-implement/resources/implementation-playbook.md +1077 -0
  310. package/skills/on-call-handoff-patterns/SKILL.md +453 -0
  311. package/skills/openapi-spec-generation/SKILL.md +33 -0
  312. package/skills/openapi-spec-generation/resources/implementation-playbook.md +1027 -0
  313. package/skills/payment-integration/SKILL.md +77 -0
  314. package/skills/paypal-integration/SKILL.md +479 -0
  315. package/skills/pci-compliance/SKILL.md +478 -0
  316. package/skills/performance-engineer/SKILL.md +180 -0
  317. package/skills/performance-testing-review-ai-review/SKILL.md +450 -0
  318. package/skills/performance-testing-review-multi-agent-review/SKILL.md +216 -0
  319. package/skills/php-pro/SKILL.md +63 -0
  320. package/skills/posix-shell-pro/SKILL.md +304 -0
  321. package/skills/postgresql/SKILL.md +230 -0
  322. package/skills/postmortem-writing/SKILL.md +386 -0
  323. package/skills/projection-patterns/SKILL.md +33 -0
  324. package/skills/projection-patterns/resources/implementation-playbook.md +501 -0
  325. package/skills/prometheus-configuration/SKILL.md +404 -0
  326. package/skills/prompt-engineer/SKILL.md +272 -0
  327. package/skills/prompt-engineering-patterns/SKILL.md +213 -0
  328. package/skills/prompt-engineering-patterns/assets/few-shot-examples.json +106 -0
  329. package/skills/prompt-engineering-patterns/assets/prompt-template-library.md +246 -0
  330. package/skills/prompt-engineering-patterns/references/chain-of-thought.md +399 -0
  331. package/skills/prompt-engineering-patterns/references/few-shot-learning.md +369 -0
  332. package/skills/prompt-engineering-patterns/references/prompt-optimization.md +414 -0
  333. package/skills/prompt-engineering-patterns/references/prompt-templates.md +470 -0
  334. package/skills/prompt-engineering-patterns/references/system-prompts.md +189 -0
  335. package/skills/prompt-engineering-patterns/scripts/optimize-prompt.py +279 -0
  336. package/skills/protocol-reverse-engineering/SKILL.md +29 -0
  337. package/skills/protocol-reverse-engineering/resources/implementation-playbook.md +509 -0
  338. package/skills/python-development-python-scaffold/SKILL.md +331 -0
  339. package/skills/python-packaging/SKILL.md +36 -0
  340. package/skills/python-packaging/resources/implementation-playbook.md +869 -0
  341. package/skills/python-performance-optimization/SKILL.md +36 -0
  342. package/skills/python-performance-optimization/resources/implementation-playbook.md +868 -0
  343. package/skills/python-pro/SKILL.md +158 -0
  344. package/skills/python-testing-patterns/SKILL.md +37 -0
  345. package/skills/python-testing-patterns/resources/implementation-playbook.md +906 -0
  346. package/skills/quant-analyst/SKILL.md +53 -0
  347. package/skills/rag-implementation/SKILL.md +421 -0
  348. package/skills/react-modernization/SKILL.md +34 -0
  349. package/skills/react-modernization/resources/implementation-playbook.md +512 -0
  350. package/skills/react-native-architecture/SKILL.md +33 -0
  351. package/skills/react-native-architecture/resources/implementation-playbook.md +670 -0
  352. package/skills/react-state-management/SKILL.md +441 -0
  353. package/skills/reference-builder/SKILL.md +188 -0
  354. package/skills/reverse-engineer/SKILL.md +173 -0
  355. package/skills/risk-manager/SKILL.md +61 -0
  356. package/skills/risk-metrics-calculation/SKILL.md +33 -0
  357. package/skills/risk-metrics-calculation/resources/implementation-playbook.md +554 -0
  358. package/skills/ruby-pro/SKILL.md +56 -0
  359. package/skills/rust-async-patterns/SKILL.md +33 -0
  360. package/skills/rust-async-patterns/resources/implementation-playbook.md +516 -0
  361. package/skills/rust-pro/SKILL.md +178 -0
  362. package/skills/saga-orchestration/SKILL.md +496 -0
  363. package/skills/sales-automator/SKILL.md +55 -0
  364. package/skills/sast-configuration/SKILL.md +212 -0
  365. package/skills/scala-pro/SKILL.md +82 -0
  366. package/skills/screen-reader-testing/SKILL.md +33 -0
  367. package/skills/screen-reader-testing/resources/implementation-playbook.md +544 -0
  368. package/skills/search-specialist/SKILL.md +80 -0
  369. package/skills/secrets-management/SKILL.md +364 -0
  370. package/skills/security-auditor/SKILL.md +169 -0
  371. package/skills/security-compliance-compliance-check/SKILL.md +55 -0
  372. package/skills/security-compliance-compliance-check/resources/implementation-playbook.md +963 -0
  373. package/skills/security-requirement-extraction/SKILL.md +33 -0
  374. package/skills/security-requirement-extraction/resources/implementation-playbook.md +676 -0
  375. package/skills/security-scanning-security-dependencies/SKILL.md +43 -0
  376. package/skills/security-scanning-security-dependencies/resources/implementation-playbook.md +544 -0
  377. package/skills/security-scanning-security-hardening/SKILL.md +147 -0
  378. package/skills/security-scanning-security-sast/SKILL.md +495 -0
  379. package/skills/seo-authority-builder/SKILL.md +136 -0
  380. package/skills/seo-cannibalization-detector/SKILL.md +123 -0
  381. package/skills/seo-content-auditor/SKILL.md +83 -0
  382. package/skills/seo-content-planner/SKILL.md +108 -0
  383. package/skills/seo-content-refresher/SKILL.md +118 -0
  384. package/skills/seo-content-writer/SKILL.md +96 -0
  385. package/skills/seo-keyword-strategist/SKILL.md +95 -0
  386. package/skills/seo-meta-optimizer/SKILL.md +92 -0
  387. package/skills/seo-snippet-hunter/SKILL.md +114 -0
  388. package/skills/seo-structure-architect/SKILL.md +108 -0
  389. package/skills/service-mesh-expert/SKILL.md +58 -0
  390. package/skills/service-mesh-observability/SKILL.md +395 -0
  391. package/skills/shellcheck-configuration/SKILL.md +466 -0
  392. package/skills/similarity-search-patterns/SKILL.md +33 -0
  393. package/skills/similarity-search-patterns/resources/implementation-playbook.md +557 -0
  394. package/skills/slo-implementation/SKILL.md +341 -0
  395. package/skills/solidity-security/SKILL.md +34 -0
  396. package/skills/solidity-security/resources/implementation-playbook.md +524 -0
  397. package/skills/spark-optimization/SKILL.md +427 -0
  398. package/skills/sql-optimization-patterns/SKILL.md +35 -0
  399. package/skills/sql-optimization-patterns/resources/implementation-playbook.md +504 -0
  400. package/skills/sql-pro/SKILL.md +173 -0
  401. package/skills/startup-analyst/SKILL.md +328 -0
  402. package/skills/startup-business-analyst-business-case/SKILL.md +487 -0
  403. package/skills/startup-business-analyst-financial-projections/SKILL.md +353 -0
  404. package/skills/startup-business-analyst-market-opportunity/SKILL.md +240 -0
  405. package/skills/startup-financial-modeling/SKILL.md +467 -0
  406. package/skills/startup-metrics-framework/SKILL.md +34 -0
  407. package/skills/startup-metrics-framework/resources/implementation-playbook.md +500 -0
  408. package/skills/stride-analysis-patterns/SKILL.md +33 -0
  409. package/skills/stride-analysis-patterns/resources/implementation-playbook.md +655 -0
  410. package/skills/stripe-integration/SKILL.md +454 -0
  411. package/skills/systems-programming-rust-project/SKILL.md +440 -0
  412. package/skills/tailwind-design-system/SKILL.md +33 -0
  413. package/skills/tailwind-design-system/resources/implementation-playbook.md +665 -0
  414. package/skills/tdd-orchestrator/SKILL.md +205 -0
  415. package/skills/tdd-workflows-tdd-cycle/SKILL.md +221 -0
  416. package/skills/tdd-workflows-tdd-green/SKILL.md +73 -0
  417. package/skills/tdd-workflows-tdd-green/resources/implementation-playbook.md +870 -0
  418. package/skills/tdd-workflows-tdd-red/SKILL.md +164 -0
  419. package/skills/tdd-workflows-tdd-refactor/SKILL.md +187 -0
  420. package/skills/team-collaboration-issue/SKILL.md +37 -0
  421. package/skills/team-collaboration-issue/resources/implementation-playbook.md +640 -0
  422. package/skills/team-collaboration-standup-notes/SKILL.md +44 -0
  423. package/skills/team-collaboration-standup-notes/resources/implementation-playbook.md +768 -0
  424. package/skills/team-composition-analysis/SKILL.md +413 -0
  425. package/skills/temporal-python-pro/SKILL.md +370 -0
  426. package/skills/temporal-python-testing/SKILL.md +170 -0
  427. package/skills/temporal-python-testing/resources/integration-testing.md +455 -0
  428. package/skills/temporal-python-testing/resources/local-setup.md +553 -0
  429. package/skills/temporal-python-testing/resources/replay-testing.md +462 -0
  430. package/skills/temporal-python-testing/resources/unit-testing.md +328 -0
  431. package/skills/terraform-module-library/SKILL.md +261 -0
  432. package/skills/terraform-module-library/references/aws-modules.md +63 -0
  433. package/skills/terraform-specialist/SKILL.md +166 -0
  434. package/skills/test-automator/SKILL.md +224 -0
  435. package/skills/threat-mitigation-mapping/SKILL.md +33 -0
  436. package/skills/threat-mitigation-mapping/resources/implementation-playbook.md +744 -0
  437. package/skills/threat-modeling-expert/SKILL.md +60 -0
  438. package/skills/track-management/SKILL.md +38 -0
  439. package/skills/track-management/resources/implementation-playbook.md +591 -0
  440. package/skills/turborepo-caching/SKILL.md +419 -0
  441. package/skills/tutorial-engineer/SKILL.md +139 -0
  442. package/skills/typescript-advanced-types/SKILL.md +35 -0
  443. package/skills/typescript-advanced-types/resources/implementation-playbook.md +716 -0
  444. package/skills/typescript-pro/SKILL.md +55 -0
  445. package/skills/ui-minimal/SKILL.md +23 -0
  446. package/skills/ui-ux-designer/SKILL.md +209 -0
  447. package/skills/ui-visual-validator/SKILL.md +214 -0
  448. package/skills/unit-testing-test-generate/SKILL.md +319 -0
  449. package/skills/unity-developer/SKILL.md +230 -0
  450. package/skills/unity-ecs-patterns/SKILL.md +33 -0
  451. package/skills/unity-ecs-patterns/resources/implementation-playbook.md +625 -0
  452. package/skills/uv-package-manager/SKILL.md +37 -0
  453. package/skills/uv-package-manager/resources/implementation-playbook.md +830 -0
  454. package/skills/vector-database-engineer/SKILL.md +60 -0
  455. package/skills/vector-index-tuning/SKILL.md +42 -0
  456. package/skills/vector-index-tuning/resources/implementation-playbook.md +507 -0
  457. package/skills/wcag-audit-patterns/SKILL.md +41 -0
  458. package/skills/wcag-audit-patterns/resources/implementation-playbook.md +541 -0
  459. package/skills/web3-testing/SKILL.md +427 -0
  460. package/skills/workflow-orchestration-patterns/SKILL.md +333 -0
  461. package/skills/workflow-patterns/SKILL.md +38 -0
  462. package/skills/workflow-patterns/resources/implementation-playbook.md +621 -0
@@ -0,0 +1,5 @@
1
+ ---
2
+ name: dummy-skill
3
+ description: A test skill
4
+ ---
5
+ # Dummy Skill content
@@ -0,0 +1,83 @@
1
+ ---
2
+ name: dx-optimizer
3
+ description: Developer Experience specialist. Improves tooling, setup, and
4
+ workflows. Use PROACTIVELY when setting up new projects, after team feedback,
5
+ or when development friction is noticed.
6
+ metadata:
7
+ model: sonnet
8
+ ---
9
+
10
+ ## Use this skill when
11
+
12
+ - Working on dx optimizer tasks or workflows
13
+ - Needing guidance, best practices, or checklists for dx optimizer
14
+
15
+ ## Do not use this skill when
16
+
17
+ - The task is unrelated to dx optimizer
18
+ - You need a different domain or tool outside this scope
19
+
20
+ ## Instructions
21
+
22
+ - Clarify goals, constraints, and required inputs.
23
+ - Apply relevant best practices and validate outcomes.
24
+ - Provide actionable steps and verification.
25
+ - If detailed examples are required, open `resources/implementation-playbook.md`.
26
+
27
+ You are a Developer Experience (DX) optimization specialist. Your mission is to reduce friction, automate repetitive tasks, and make development joyful and productive.
28
+
29
+ ## Optimization Areas
30
+
31
+ ### Environment Setup
32
+
33
+ - Simplify onboarding to < 5 minutes
34
+ - Create intelligent defaults
35
+ - Automate dependency installation
36
+ - Add helpful error messages
37
+
38
+ ### Development Workflows
39
+
40
+ - Identify repetitive tasks for automation
41
+ - Create useful aliases and shortcuts
42
+ - Optimize build and test times
43
+ - Improve hot reload and feedback loops
44
+
45
+ ### Tooling Enhancement
46
+
47
+ - Configure IDE settings and extensions
48
+ - Set up git hooks for common checks
49
+ - Create project-specific CLI commands
50
+ - Integrate helpful development tools
51
+
52
+ ### Documentation
53
+
54
+ - Generate setup guides that actually work
55
+ - Create interactive examples
56
+ - Add inline help to custom commands
57
+ - Maintain up-to-date troubleshooting guides
58
+
59
+ ## Analysis Process
60
+
61
+ 1. Profile current developer workflows
62
+ 2. Identify pain points and time sinks
63
+ 3. Research best practices and tools
64
+ 4. Implement improvements incrementally
65
+ 5. Measure impact and iterate
66
+
67
+ ## Deliverables
68
+
69
+ - `.claude/commands/` additions for common tasks
70
+ - Improved `package.json` scripts
71
+ - Git hooks configuration
72
+ - IDE configuration files
73
+ - Makefile or task runner setup
74
+ - README improvements
75
+
76
+ ## Success Metrics
77
+
78
+ - Time from clone to running app
79
+ - Number of manual steps eliminated
80
+ - Build/test execution time
81
+ - Developer satisfaction feedback
82
+
83
+ Remember: Great DX is invisible when it works and obvious when it doesn't. Aim for invisible.
@@ -0,0 +1,41 @@
1
+ ---
2
+ name: e2e-testing-patterns
3
+ description: Master end-to-end testing with Playwright and Cypress to build reliable test suites that catch bugs, improve confidence, and enable fast deployment. Use when implementing E2E tests, debugging flaky tests, or establishing testing standards.
4
+ ---
5
+
6
+ # E2E Testing Patterns
7
+
8
+ Build reliable, fast, and maintainable end-to-end test suites that provide confidence to ship code quickly and catch regressions before users do.
9
+
10
+ ## Use this skill when
11
+
12
+ - Implementing end-to-end test automation
13
+ - Debugging flaky or unreliable tests
14
+ - Testing critical user workflows
15
+ - Setting up CI/CD test pipelines
16
+ - Testing across multiple browsers
17
+ - Validating accessibility requirements
18
+ - Testing responsive designs
19
+ - Establishing E2E testing standards
20
+
21
+ ## Do not use this skill when
22
+
23
+ - You only need unit or integration tests
24
+ - The environment cannot support stable UI automation
25
+ - You cannot provision safe test accounts or data
26
+
27
+ ## Instructions
28
+
29
+ 1. Identify critical user journeys and success criteria.
30
+ 2. Build stable selectors and test data strategies.
31
+ 3. Implement tests with retries, tracing, and isolation.
32
+ 4. Run in CI with parallelization and artifact capture.
33
+
34
+ ## Safety
35
+
36
+ - Avoid running destructive tests against production.
37
+ - Use dedicated test data and scrub sensitive output.
38
+
39
+ ## Resources
40
+
41
+ - `resources/implementation-playbook.md` for detailed E2E patterns and templates.
@@ -0,0 +1,531 @@
1
+ # E2E Testing Patterns Implementation Playbook
2
+
3
+ This file contains detailed patterns, checklists, and code samples referenced by the skill.
4
+
5
+ ## Core Concepts
6
+
7
+ ### 1. E2E Testing Fundamentals
8
+
9
+ **What to Test with E2E:**
10
+ - Critical user journeys (login, checkout, signup)
11
+ - Complex interactions (drag-and-drop, multi-step forms)
12
+ - Cross-browser compatibility
13
+ - Real API integration
14
+ - Authentication flows
15
+
16
+ **What NOT to Test with E2E:**
17
+ - Unit-level logic (use unit tests)
18
+ - API contracts (use integration tests)
19
+ - Edge cases (too slow)
20
+ - Internal implementation details
21
+
22
+ ### 2. Test Philosophy
23
+
24
+ **The Testing Pyramid:**
25
+ ```
26
+ /\
27
+ /E2E\ ← Few, focused on critical paths
28
+ /─────\
29
+ /Integr\ ← More, test component interactions
30
+ /────────\
31
+ /Unit Tests\ ← Many, fast, isolated
32
+ /────────────\
33
+ ```
34
+
35
+ **Best Practices:**
36
+ - Test user behavior, not implementation
37
+ - Keep tests independent
38
+ - Make tests deterministic
39
+ - Optimize for speed
40
+ - Use data-testid, not CSS selectors
41
+
42
+ ## Playwright Patterns
43
+
44
+ ### Setup and Configuration
45
+
46
+ ```typescript
47
+ // playwright.config.ts
48
+ import { defineConfig, devices } from '@playwright/test';
49
+
50
+ export default defineConfig({
51
+ testDir: './e2e',
52
+ timeout: 30000,
53
+ expect: {
54
+ timeout: 5000,
55
+ },
56
+ fullyParallel: true,
57
+ forbidOnly: !!process.env.CI,
58
+ retries: process.env.CI ? 2 : 0,
59
+ workers: process.env.CI ? 1 : undefined,
60
+ reporter: [
61
+ ['html'],
62
+ ['junit', { outputFile: 'results.xml' }],
63
+ ],
64
+ use: {
65
+ baseURL: 'http://localhost:3000',
66
+ trace: 'on-first-retry',
67
+ screenshot: 'only-on-failure',
68
+ video: 'retain-on-failure',
69
+ },
70
+ projects: [
71
+ { name: 'chromium', use: { ...devices['Desktop Chrome'] } },
72
+ { name: 'firefox', use: { ...devices['Desktop Firefox'] } },
73
+ { name: 'webkit', use: { ...devices['Desktop Safari'] } },
74
+ { name: 'mobile', use: { ...devices['iPhone 13'] } },
75
+ ],
76
+ });
77
+ ```
78
+
79
+ ### Pattern 1: Page Object Model
80
+
81
+ ```typescript
82
+ // pages/LoginPage.ts
83
+ import { Page, Locator } from '@playwright/test';
84
+
85
+ export class LoginPage {
86
+ readonly page: Page;
87
+ readonly emailInput: Locator;
88
+ readonly passwordInput: Locator;
89
+ readonly loginButton: Locator;
90
+ readonly errorMessage: Locator;
91
+
92
+ constructor(page: Page) {
93
+ this.page = page;
94
+ this.emailInput = page.getByLabel('Email');
95
+ this.passwordInput = page.getByLabel('Password');
96
+ this.loginButton = page.getByRole('button', { name: 'Login' });
97
+ this.errorMessage = page.getByRole('alert');
98
+ }
99
+
100
+ async goto() {
101
+ await this.page.goto('/login');
102
+ }
103
+
104
+ async login(email: string, password: string) {
105
+ await this.emailInput.fill(email);
106
+ await this.passwordInput.fill(password);
107
+ await this.loginButton.click();
108
+ }
109
+
110
+ async getErrorMessage(): Promise<string> {
111
+ return await this.errorMessage.textContent() ?? '';
112
+ }
113
+ }
114
+
115
+ // Test using Page Object
116
+ import { test, expect } from '@playwright/test';
117
+ import { LoginPage } from './pages/LoginPage';
118
+
119
+ test('successful login', async ({ page }) => {
120
+ const loginPage = new LoginPage(page);
121
+ await loginPage.goto();
122
+ await loginPage.login('user@example.com', 'password123');
123
+
124
+ await expect(page).toHaveURL('/dashboard');
125
+ await expect(page.getByRole('heading', { name: 'Dashboard' }))
126
+ .toBeVisible();
127
+ });
128
+
129
+ test('failed login shows error', async ({ page }) => {
130
+ const loginPage = new LoginPage(page);
131
+ await loginPage.goto();
132
+ await loginPage.login('invalid@example.com', 'wrong');
133
+
134
+ const error = await loginPage.getErrorMessage();
135
+ expect(error).toContain('Invalid credentials');
136
+ });
137
+ ```
138
+
139
+ ### Pattern 2: Fixtures for Test Data
140
+
141
+ ```typescript
142
+ // fixtures/test-data.ts
143
+ import { test as base } from '@playwright/test';
144
+
145
+ type TestData = {
146
+ testUser: {
147
+ email: string;
148
+ password: string;
149
+ name: string;
150
+ };
151
+ adminUser: {
152
+ email: string;
153
+ password: string;
154
+ };
155
+ };
156
+
157
+ export const test = base.extend<TestData>({
158
+ testUser: async ({}, use) => {
159
+ const user = {
160
+ email: `test-${Date.now()}@example.com`,
161
+ password: 'Test123!@#',
162
+ name: 'Test User',
163
+ };
164
+ // Setup: Create user in database
165
+ await createTestUser(user);
166
+ await use(user);
167
+ // Teardown: Clean up user
168
+ await deleteTestUser(user.email);
169
+ },
170
+
171
+ adminUser: async ({}, use) => {
172
+ await use({
173
+ email: 'admin@example.com',
174
+ password: process.env.ADMIN_PASSWORD!,
175
+ });
176
+ },
177
+ });
178
+
179
+ // Usage in tests
180
+ import { test } from './fixtures/test-data';
181
+
182
+ test('user can update profile', async ({ page, testUser }) => {
183
+ await page.goto('/login');
184
+ await page.getByLabel('Email').fill(testUser.email);
185
+ await page.getByLabel('Password').fill(testUser.password);
186
+ await page.getByRole('button', { name: 'Login' }).click();
187
+
188
+ await page.goto('/profile');
189
+ await page.getByLabel('Name').fill('Updated Name');
190
+ await page.getByRole('button', { name: 'Save' }).click();
191
+
192
+ await expect(page.getByText('Profile updated')).toBeVisible();
193
+ });
194
+ ```
195
+
196
+ ### Pattern 3: Waiting Strategies
197
+
198
+ ```typescript
199
+ // ❌ Bad: Fixed timeouts
200
+ await page.waitForTimeout(3000); // Flaky!
201
+
202
+ // ✅ Good: Wait for specific conditions
203
+ await page.waitForLoadState('networkidle');
204
+ await page.waitForURL('/dashboard');
205
+ await page.waitForSelector('[data-testid="user-profile"]');
206
+
207
+ // ✅ Better: Auto-waiting with assertions
208
+ await expect(page.getByText('Welcome')).toBeVisible();
209
+ await expect(page.getByRole('button', { name: 'Submit' }))
210
+ .toBeEnabled();
211
+
212
+ // Wait for API response
213
+ const responsePromise = page.waitForResponse(
214
+ response => response.url().includes('/api/users') && response.status() === 200
215
+ );
216
+ await page.getByRole('button', { name: 'Load Users' }).click();
217
+ const response = await responsePromise;
218
+ const data = await response.json();
219
+ expect(data.users).toHaveLength(10);
220
+
221
+ // Wait for multiple conditions
222
+ await Promise.all([
223
+ page.waitForURL('/success'),
224
+ page.waitForLoadState('networkidle'),
225
+ expect(page.getByText('Payment successful')).toBeVisible(),
226
+ ]);
227
+ ```
228
+
229
+ ### Pattern 4: Network Mocking and Interception
230
+
231
+ ```typescript
232
+ // Mock API responses
233
+ test('displays error when API fails', async ({ page }) => {
234
+ await page.route('**/api/users', route => {
235
+ route.fulfill({
236
+ status: 500,
237
+ contentType: 'application/json',
238
+ body: JSON.stringify({ error: 'Internal Server Error' }),
239
+ });
240
+ });
241
+
242
+ await page.goto('/users');
243
+ await expect(page.getByText('Failed to load users')).toBeVisible();
244
+ });
245
+
246
+ // Intercept and modify requests
247
+ test('can modify API request', async ({ page }) => {
248
+ await page.route('**/api/users', async route => {
249
+ const request = route.request();
250
+ const postData = JSON.parse(request.postData() || '{}');
251
+
252
+ // Modify request
253
+ postData.role = 'admin';
254
+
255
+ await route.continue({
256
+ postData: JSON.stringify(postData),
257
+ });
258
+ });
259
+
260
+ // Test continues...
261
+ });
262
+
263
+ // Mock third-party services
264
+ test('payment flow with mocked Stripe', async ({ page }) => {
265
+ await page.route('**/api/stripe/**', route => {
266
+ route.fulfill({
267
+ status: 200,
268
+ body: JSON.stringify({
269
+ id: 'mock_payment_id',
270
+ status: 'succeeded',
271
+ }),
272
+ });
273
+ });
274
+
275
+ // Test payment flow with mocked response
276
+ });
277
+ ```
278
+
279
+ ## Cypress Patterns
280
+
281
+ ### Setup and Configuration
282
+
283
+ ```typescript
284
+ // cypress.config.ts
285
+ import { defineConfig } from 'cypress';
286
+
287
+ export default defineConfig({
288
+ e2e: {
289
+ baseUrl: 'http://localhost:3000',
290
+ viewportWidth: 1280,
291
+ viewportHeight: 720,
292
+ video: false,
293
+ screenshotOnRunFailure: true,
294
+ defaultCommandTimeout: 10000,
295
+ requestTimeout: 10000,
296
+ setupNodeEvents(on, config) {
297
+ // Implement node event listeners
298
+ },
299
+ },
300
+ });
301
+ ```
302
+
303
+ ### Pattern 1: Custom Commands
304
+
305
+ ```typescript
306
+ // cypress/support/commands.ts
307
+ declare global {
308
+ namespace Cypress {
309
+ interface Chainable {
310
+ login(email: string, password: string): Chainable<void>;
311
+ createUser(userData: UserData): Chainable<User>;
312
+ dataCy(value: string): Chainable<JQuery<HTMLElement>>;
313
+ }
314
+ }
315
+ }
316
+
317
+ Cypress.Commands.add('login', (email: string, password: string) => {
318
+ cy.visit('/login');
319
+ cy.get('[data-testid="email"]').type(email);
320
+ cy.get('[data-testid="password"]').type(password);
321
+ cy.get('[data-testid="login-button"]').click();
322
+ cy.url().should('include', '/dashboard');
323
+ });
324
+
325
+ Cypress.Commands.add('createUser', (userData: UserData) => {
326
+ return cy.request('POST', '/api/users', userData)
327
+ .its('body');
328
+ });
329
+
330
+ Cypress.Commands.add('dataCy', (value: string) => {
331
+ return cy.get(`[data-cy="${value}"]`);
332
+ });
333
+
334
+ // Usage
335
+ cy.login('user@example.com', 'password');
336
+ cy.dataCy('submit-button').click();
337
+ ```
338
+
339
+ ### Pattern 2: Cypress Intercept
340
+
341
+ ```typescript
342
+ // Mock API calls
343
+ cy.intercept('GET', '/api/users', {
344
+ statusCode: 200,
345
+ body: [
346
+ { id: 1, name: 'John' },
347
+ { id: 2, name: 'Jane' },
348
+ ],
349
+ }).as('getUsers');
350
+
351
+ cy.visit('/users');
352
+ cy.wait('@getUsers');
353
+ cy.get('[data-testid="user-list"]').children().should('have.length', 2);
354
+
355
+ // Modify responses
356
+ cy.intercept('GET', '/api/users', (req) => {
357
+ req.reply((res) => {
358
+ // Modify response
359
+ res.body.users = res.body.users.slice(0, 5);
360
+ res.send();
361
+ });
362
+ });
363
+
364
+ // Simulate slow network
365
+ cy.intercept('GET', '/api/data', (req) => {
366
+ req.reply((res) => {
367
+ res.delay(3000); // 3 second delay
368
+ res.send();
369
+ });
370
+ });
371
+ ```
372
+
373
+ ## Advanced Patterns
374
+
375
+ ### Pattern 1: Visual Regression Testing
376
+
377
+ ```typescript
378
+ // With Playwright
379
+ import { test, expect } from '@playwright/test';
380
+
381
+ test('homepage looks correct', async ({ page }) => {
382
+ await page.goto('/');
383
+ await expect(page).toHaveScreenshot('homepage.png', {
384
+ fullPage: true,
385
+ maxDiffPixels: 100,
386
+ });
387
+ });
388
+
389
+ test('button in all states', async ({ page }) => {
390
+ await page.goto('/components');
391
+
392
+ const button = page.getByRole('button', { name: 'Submit' });
393
+
394
+ // Default state
395
+ await expect(button).toHaveScreenshot('button-default.png');
396
+
397
+ // Hover state
398
+ await button.hover();
399
+ await expect(button).toHaveScreenshot('button-hover.png');
400
+
401
+ // Disabled state
402
+ await button.evaluate(el => el.setAttribute('disabled', 'true'));
403
+ await expect(button).toHaveScreenshot('button-disabled.png');
404
+ });
405
+ ```
406
+
407
+ ### Pattern 2: Parallel Testing with Sharding
408
+
409
+ ```typescript
410
+ // playwright.config.ts
411
+ export default defineConfig({
412
+ projects: [
413
+ {
414
+ name: 'shard-1',
415
+ use: { ...devices['Desktop Chrome'] },
416
+ grepInvert: /@slow/,
417
+ shard: { current: 1, total: 4 },
418
+ },
419
+ {
420
+ name: 'shard-2',
421
+ use: { ...devices['Desktop Chrome'] },
422
+ shard: { current: 2, total: 4 },
423
+ },
424
+ // ... more shards
425
+ ],
426
+ });
427
+
428
+ // Run in CI
429
+ // npx playwright test --shard=1/4
430
+ // npx playwright test --shard=2/4
431
+ ```
432
+
433
+ ### Pattern 3: Accessibility Testing
434
+
435
+ ```typescript
436
+ // Install: npm install @axe-core/playwright
437
+ import { test, expect } from '@playwright/test';
438
+ import AxeBuilder from '@axe-core/playwright';
439
+
440
+ test('page should not have accessibility violations', async ({ page }) => {
441
+ await page.goto('/');
442
+
443
+ const accessibilityScanResults = await new AxeBuilder({ page })
444
+ .exclude('#third-party-widget')
445
+ .analyze();
446
+
447
+ expect(accessibilityScanResults.violations).toEqual([]);
448
+ });
449
+
450
+ test('form is accessible', async ({ page }) => {
451
+ await page.goto('/signup');
452
+
453
+ const results = await new AxeBuilder({ page })
454
+ .include('form')
455
+ .analyze();
456
+
457
+ expect(results.violations).toEqual([]);
458
+ });
459
+ ```
460
+
461
+ ## Best Practices
462
+
463
+ 1. **Use Data Attributes**: `data-testid` or `data-cy` for stable selectors
464
+ 2. **Avoid Brittle Selectors**: Don't rely on CSS classes or DOM structure
465
+ 3. **Test User Behavior**: Click, type, see - not implementation details
466
+ 4. **Keep Tests Independent**: Each test should run in isolation
467
+ 5. **Clean Up Test Data**: Create and destroy test data in each test
468
+ 6. **Use Page Objects**: Encapsulate page logic
469
+ 7. **Meaningful Assertions**: Check actual user-visible behavior
470
+ 8. **Optimize for Speed**: Mock when possible, parallel execution
471
+
472
+ ```typescript
473
+ // ❌ Bad selectors
474
+ cy.get('.btn.btn-primary.submit-button').click();
475
+ cy.get('div > form > div:nth-child(2) > input').type('text');
476
+
477
+ // ✅ Good selectors
478
+ cy.getByRole('button', { name: 'Submit' }).click();
479
+ cy.getByLabel('Email address').type('user@example.com');
480
+ cy.get('[data-testid="email-input"]').type('user@example.com');
481
+ ```
482
+
483
+ ## Common Pitfalls
484
+
485
+ - **Flaky Tests**: Use proper waits, not fixed timeouts
486
+ - **Slow Tests**: Mock external APIs, use parallel execution
487
+ - **Over-Testing**: Don't test every edge case with E2E
488
+ - **Coupled Tests**: Tests should not depend on each other
489
+ - **Poor Selectors**: Avoid CSS classes and nth-child
490
+ - **No Cleanup**: Clean up test data after each test
491
+ - **Testing Implementation**: Test user behavior, not internals
492
+
493
+ ## Debugging Failing Tests
494
+
495
+ ```typescript
496
+ // Playwright debugging
497
+ // 1. Run in headed mode
498
+ npx playwright test --headed
499
+
500
+ // 2. Run in debug mode
501
+ npx playwright test --debug
502
+
503
+ // 3. Use trace viewer
504
+ await page.screenshot({ path: 'screenshot.png' });
505
+ await page.video()?.saveAs('video.webm');
506
+
507
+ // 4. Add test.step for better reporting
508
+ test('checkout flow', async ({ page }) => {
509
+ await test.step('Add item to cart', async () => {
510
+ await page.goto('/products');
511
+ await page.getByRole('button', { name: 'Add to Cart' }).click();
512
+ });
513
+
514
+ await test.step('Proceed to checkout', async () => {
515
+ await page.goto('/cart');
516
+ await page.getByRole('button', { name: 'Checkout' }).click();
517
+ });
518
+ });
519
+
520
+ // 5. Inspect page state
521
+ await page.pause(); // Pauses execution, opens inspector
522
+ ```
523
+
524
+ ## Resources
525
+
526
+ - **references/playwright-best-practices.md**: Playwright-specific patterns
527
+ - **references/cypress-best-practices.md**: Cypress-specific patterns
528
+ - **references/flaky-test-debugging.md**: Debugging unreliable tests
529
+ - **assets/e2e-testing-checklist.md**: What to test with E2E
530
+ - **assets/selector-strategies.md**: Finding reliable selectors
531
+ - **scripts/test-analyzer.ts**: Analyze test flakiness and duration