@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,328 @@
1
+ # Unit Testing Temporal Workflows and Activities
2
+
3
+ Focused guide for testing individual workflows and activities in isolation using WorkflowEnvironment and ActivityEnvironment.
4
+
5
+ ## WorkflowEnvironment with Time-Skipping
6
+
7
+ **Purpose**: Test workflows in isolation with instant time progression (month-long workflows → seconds)
8
+
9
+ ### Basic Setup Pattern
10
+
11
+ ```python
12
+ import pytest
13
+ from temporalio.testing import WorkflowEnvironment
14
+ from temporalio.worker import Worker
15
+
16
+ @pytest.fixture
17
+ async def workflow_env():
18
+ """Reusable time-skipping test environment"""
19
+ env = await WorkflowEnvironment.start_time_skipping()
20
+ yield env
21
+ await env.shutdown()
22
+
23
+ @pytest.mark.asyncio
24
+ async def test_workflow_execution(workflow_env):
25
+ """Test workflow with time-skipping"""
26
+ async with Worker(
27
+ workflow_env.client,
28
+ task_queue="test-queue",
29
+ workflows=[YourWorkflow],
30
+ activities=[your_activity],
31
+ ):
32
+ result = await workflow_env.client.execute_workflow(
33
+ YourWorkflow.run,
34
+ "test-input",
35
+ id="test-wf-id",
36
+ task_queue="test-queue",
37
+ )
38
+ assert result == "expected-output"
39
+ ```
40
+
41
+ **Key Benefits**:
42
+
43
+ - `workflow.sleep(timedelta(days=30))` completes instantly
44
+ - Fast feedback loop (milliseconds vs hours)
45
+ - Deterministic test execution
46
+
47
+ ### Time-Skipping Examples
48
+
49
+ **Sleep Advancement**:
50
+
51
+ ```python
52
+ @pytest.mark.asyncio
53
+ async def test_workflow_with_delays(workflow_env):
54
+ """Workflow sleeps are instant in time-skipping mode"""
55
+
56
+ @workflow.defn
57
+ class DelayedWorkflow:
58
+ @workflow.run
59
+ async def run(self) -> str:
60
+ await workflow.sleep(timedelta(hours=24)) # Instant in tests
61
+ return "completed"
62
+
63
+ async with Worker(
64
+ workflow_env.client,
65
+ task_queue="test",
66
+ workflows=[DelayedWorkflow],
67
+ ):
68
+ result = await workflow_env.client.execute_workflow(
69
+ DelayedWorkflow.run,
70
+ id="delayed-wf",
71
+ task_queue="test",
72
+ )
73
+ assert result == "completed"
74
+ ```
75
+
76
+ **Manual Time Control**:
77
+
78
+ ```python
79
+ @pytest.mark.asyncio
80
+ async def test_workflow_manual_time(workflow_env):
81
+ """Manually advance time for precise control"""
82
+
83
+ handle = await workflow_env.client.start_workflow(
84
+ TimeBasedWorkflow.run,
85
+ id="time-wf",
86
+ task_queue="test",
87
+ )
88
+
89
+ # Advance time by specific amount
90
+ await workflow_env.sleep(timedelta(hours=1))
91
+
92
+ # Verify intermediate state via query
93
+ state = await handle.query(TimeBasedWorkflow.get_state)
94
+ assert state == "processing"
95
+
96
+ # Advance to completion
97
+ await workflow_env.sleep(timedelta(hours=23))
98
+ result = await handle.result()
99
+ assert result == "completed"
100
+ ```
101
+
102
+ ### Testing Workflow Logic
103
+
104
+ **Decision Testing**:
105
+
106
+ ```python
107
+ @pytest.mark.asyncio
108
+ async def test_workflow_branching(workflow_env):
109
+ """Test different execution paths"""
110
+
111
+ @workflow.defn
112
+ class ConditionalWorkflow:
113
+ @workflow.run
114
+ async def run(self, condition: bool) -> str:
115
+ if condition:
116
+ return "path-a"
117
+ return "path-b"
118
+
119
+ async with Worker(
120
+ workflow_env.client,
121
+ task_queue="test",
122
+ workflows=[ConditionalWorkflow],
123
+ ):
124
+ # Test true path
125
+ result_a = await workflow_env.client.execute_workflow(
126
+ ConditionalWorkflow.run,
127
+ True,
128
+ id="cond-wf-true",
129
+ task_queue="test",
130
+ )
131
+ assert result_a == "path-a"
132
+
133
+ # Test false path
134
+ result_b = await workflow_env.client.execute_workflow(
135
+ ConditionalWorkflow.run,
136
+ False,
137
+ id="cond-wf-false",
138
+ task_queue="test",
139
+ )
140
+ assert result_b == "path-b"
141
+ ```
142
+
143
+ ## ActivityEnvironment Testing
144
+
145
+ **Purpose**: Test activities in isolation without workflows or Temporal server
146
+
147
+ ### Basic Activity Test
148
+
149
+ ```python
150
+ from temporalio.testing import ActivityEnvironment
151
+
152
+ async def test_activity_basic():
153
+ """Test activity without workflow context"""
154
+
155
+ @activity.defn
156
+ async def process_data(input: str) -> str:
157
+ return input.upper()
158
+
159
+ env = ActivityEnvironment()
160
+ result = await env.run(process_data, "test")
161
+ assert result == "TEST"
162
+ ```
163
+
164
+ ### Testing Activity Context
165
+
166
+ **Heartbeat Testing**:
167
+
168
+ ```python
169
+ async def test_activity_heartbeat():
170
+ """Verify heartbeat calls"""
171
+
172
+ @activity.defn
173
+ async def long_running_activity(total_items: int) -> int:
174
+ for i in range(total_items):
175
+ activity.heartbeat(i) # Report progress
176
+ await asyncio.sleep(0.1)
177
+ return total_items
178
+
179
+ env = ActivityEnvironment()
180
+ result = await env.run(long_running_activity, 10)
181
+ assert result == 10
182
+ ```
183
+
184
+ **Cancellation Testing**:
185
+
186
+ ```python
187
+ async def test_activity_cancellation():
188
+ """Test activity cancellation handling"""
189
+
190
+ @activity.defn
191
+ async def cancellable_activity() -> str:
192
+ try:
193
+ while True:
194
+ if activity.is_cancelled():
195
+ return "cancelled"
196
+ await asyncio.sleep(0.1)
197
+ except asyncio.CancelledError:
198
+ return "cancelled"
199
+
200
+ env = ActivityEnvironment(cancellation_reason="test-cancel")
201
+ result = await env.run(cancellable_activity)
202
+ assert result == "cancelled"
203
+ ```
204
+
205
+ ### Testing Error Handling
206
+
207
+ **Exception Propagation**:
208
+
209
+ ```python
210
+ async def test_activity_error():
211
+ """Test activity error handling"""
212
+
213
+ @activity.defn
214
+ async def failing_activity(should_fail: bool) -> str:
215
+ if should_fail:
216
+ raise ApplicationError("Validation failed", non_retryable=True)
217
+ return "success"
218
+
219
+ env = ActivityEnvironment()
220
+
221
+ # Test success path
222
+ result = await env.run(failing_activity, False)
223
+ assert result == "success"
224
+
225
+ # Test error path
226
+ with pytest.raises(ApplicationError) as exc_info:
227
+ await env.run(failing_activity, True)
228
+ assert "Validation failed" in str(exc_info.value)
229
+ ```
230
+
231
+ ## Pytest Integration Patterns
232
+
233
+ ### Shared Fixtures
234
+
235
+ ```python
236
+ # conftest.py
237
+ import pytest
238
+ from temporalio.testing import WorkflowEnvironment
239
+
240
+ @pytest.fixture(scope="module")
241
+ async def workflow_env():
242
+ """Module-scoped environment (reused across tests)"""
243
+ env = await WorkflowEnvironment.start_time_skipping()
244
+ yield env
245
+ await env.shutdown()
246
+
247
+ @pytest.fixture
248
+ def activity_env():
249
+ """Function-scoped environment (fresh per test)"""
250
+ return ActivityEnvironment()
251
+ ```
252
+
253
+ ### Parameterized Tests
254
+
255
+ ```python
256
+ @pytest.mark.parametrize("input,expected", [
257
+ ("test", "TEST"),
258
+ ("hello", "HELLO"),
259
+ ("123", "123"),
260
+ ])
261
+ async def test_activity_parameterized(activity_env, input, expected):
262
+ """Test multiple input scenarios"""
263
+ result = await activity_env.run(process_data, input)
264
+ assert result == expected
265
+ ```
266
+
267
+ ## Best Practices
268
+
269
+ 1. **Fast Execution**: Use time-skipping for all workflow tests
270
+ 2. **Isolation**: Test workflows and activities separately
271
+ 3. **Shared Fixtures**: Reuse WorkflowEnvironment across related tests
272
+ 4. **Coverage Target**: ≥80% for workflow logic
273
+ 5. **Mock Activities**: Use ActivityEnvironment for activity-specific logic
274
+ 6. **Determinism**: Ensure test results are consistent across runs
275
+ 7. **Error Cases**: Test both success and failure scenarios
276
+
277
+ ## Common Patterns
278
+
279
+ **Testing Retry Logic**:
280
+
281
+ ```python
282
+ @pytest.mark.asyncio
283
+ async def test_workflow_with_retries(workflow_env):
284
+ """Test activity retry behavior"""
285
+
286
+ call_count = 0
287
+
288
+ @activity.defn
289
+ async def flaky_activity() -> str:
290
+ nonlocal call_count
291
+ call_count += 1
292
+ if call_count < 3:
293
+ raise Exception("Transient error")
294
+ return "success"
295
+
296
+ @workflow.defn
297
+ class RetryWorkflow:
298
+ @workflow.run
299
+ async def run(self) -> str:
300
+ return await workflow.execute_activity(
301
+ flaky_activity,
302
+ start_to_close_timeout=timedelta(seconds=10),
303
+ retry_policy=RetryPolicy(
304
+ initial_interval=timedelta(milliseconds=1),
305
+ maximum_attempts=5,
306
+ ),
307
+ )
308
+
309
+ async with Worker(
310
+ workflow_env.client,
311
+ task_queue="test",
312
+ workflows=[RetryWorkflow],
313
+ activities=[flaky_activity],
314
+ ):
315
+ result = await workflow_env.client.execute_workflow(
316
+ RetryWorkflow.run,
317
+ id="retry-wf",
318
+ task_queue="test",
319
+ )
320
+ assert result == "success"
321
+ assert call_count == 3 # Verify retry attempts
322
+ ```
323
+
324
+ ## Additional Resources
325
+
326
+ - Python SDK Testing: docs.temporal.io/develop/python/testing-suite
327
+ - pytest Documentation: docs.pytest.org
328
+ - Temporal Samples: github.com/temporalio/samples-python
@@ -0,0 +1,261 @@
1
+ ---
2
+ name: terraform-module-library
3
+ description: Build reusable Terraform modules for AWS, Azure, and GCP infrastructure following infrastructure-as-code best practices. Use when creating infrastructure modules, standardizing cloud provisioning, or implementing reusable IaC components.
4
+ ---
5
+
6
+ # Terraform Module Library
7
+
8
+ Production-ready Terraform module patterns for AWS, Azure, and GCP infrastructure.
9
+
10
+ ## Do not use this skill when
11
+
12
+ - The task is unrelated to terraform module library
13
+ - You need a different domain or tool outside this scope
14
+
15
+ ## Instructions
16
+
17
+ - Clarify goals, constraints, and required inputs.
18
+ - Apply relevant best practices and validate outcomes.
19
+ - Provide actionable steps and verification.
20
+ - If detailed examples are required, open `resources/implementation-playbook.md`.
21
+
22
+ ## Purpose
23
+
24
+ Create reusable, well-tested Terraform modules for common cloud infrastructure patterns across multiple cloud providers.
25
+
26
+ ## Use this skill when
27
+
28
+ - Build reusable infrastructure components
29
+ - Standardize cloud resource provisioning
30
+ - Implement infrastructure as code best practices
31
+ - Create multi-cloud compatible modules
32
+ - Establish organizational Terraform standards
33
+
34
+ ## Module Structure
35
+
36
+ ```
37
+ terraform-modules/
38
+ ├── aws/
39
+ │ ├── vpc/
40
+ │ ├── eks/
41
+ │ ├── rds/
42
+ │ └── s3/
43
+ ├── azure/
44
+ │ ├── vnet/
45
+ │ ├── aks/
46
+ │ └── storage/
47
+ └── gcp/
48
+ ├── vpc/
49
+ ├── gke/
50
+ └── cloud-sql/
51
+ ```
52
+
53
+ ## Standard Module Pattern
54
+
55
+ ```
56
+ module-name/
57
+ ├── main.tf # Main resources
58
+ ├── variables.tf # Input variables
59
+ ├── outputs.tf # Output values
60
+ ├── versions.tf # Provider versions
61
+ ├── README.md # Documentation
62
+ ├── examples/ # Usage examples
63
+ │ └── complete/
64
+ │ ├── main.tf
65
+ │ └── variables.tf
66
+ └── tests/ # Terratest files
67
+ └── module_test.go
68
+ ```
69
+
70
+ ## AWS VPC Module Example
71
+
72
+ **main.tf:**
73
+ ```hcl
74
+ resource "aws_vpc" "main" {
75
+ cidr_block = var.cidr_block
76
+ enable_dns_hostnames = var.enable_dns_hostnames
77
+ enable_dns_support = var.enable_dns_support
78
+
79
+ tags = merge(
80
+ {
81
+ Name = var.name
82
+ },
83
+ var.tags
84
+ )
85
+ }
86
+
87
+ resource "aws_subnet" "private" {
88
+ count = length(var.private_subnet_cidrs)
89
+ vpc_id = aws_vpc.main.id
90
+ cidr_block = var.private_subnet_cidrs[count.index]
91
+ availability_zone = var.availability_zones[count.index]
92
+
93
+ tags = merge(
94
+ {
95
+ Name = "${var.name}-private-${count.index + 1}"
96
+ Tier = "private"
97
+ },
98
+ var.tags
99
+ )
100
+ }
101
+
102
+ resource "aws_internet_gateway" "main" {
103
+ count = var.create_internet_gateway ? 1 : 0
104
+ vpc_id = aws_vpc.main.id
105
+
106
+ tags = merge(
107
+ {
108
+ Name = "${var.name}-igw"
109
+ },
110
+ var.tags
111
+ )
112
+ }
113
+ ```
114
+
115
+ **variables.tf:**
116
+ ```hcl
117
+ variable "name" {
118
+ description = "Name of the VPC"
119
+ type = string
120
+ }
121
+
122
+ variable "cidr_block" {
123
+ description = "CIDR block for VPC"
124
+ type = string
125
+ validation {
126
+ condition = can(regex("^([0-9]{1,3}\\.){3}[0-9]{1,3}/[0-9]{1,2}$", var.cidr_block))
127
+ error_message = "CIDR block must be valid IPv4 CIDR notation."
128
+ }
129
+ }
130
+
131
+ variable "availability_zones" {
132
+ description = "List of availability zones"
133
+ type = list(string)
134
+ }
135
+
136
+ variable "private_subnet_cidrs" {
137
+ description = "CIDR blocks for private subnets"
138
+ type = list(string)
139
+ default = []
140
+ }
141
+
142
+ variable "enable_dns_hostnames" {
143
+ description = "Enable DNS hostnames in VPC"
144
+ type = bool
145
+ default = true
146
+ }
147
+
148
+ variable "tags" {
149
+ description = "Additional tags"
150
+ type = map(string)
151
+ default = {}
152
+ }
153
+ ```
154
+
155
+ **outputs.tf:**
156
+ ```hcl
157
+ output "vpc_id" {
158
+ description = "ID of the VPC"
159
+ value = aws_vpc.main.id
160
+ }
161
+
162
+ output "private_subnet_ids" {
163
+ description = "IDs of private subnets"
164
+ value = aws_subnet.private[*].id
165
+ }
166
+
167
+ output "vpc_cidr_block" {
168
+ description = "CIDR block of VPC"
169
+ value = aws_vpc.main.cidr_block
170
+ }
171
+ ```
172
+
173
+ ## Best Practices
174
+
175
+ 1. **Use semantic versioning** for modules
176
+ 2. **Document all variables** with descriptions
177
+ 3. **Provide examples** in examples/ directory
178
+ 4. **Use validation blocks** for input validation
179
+ 5. **Output important attributes** for module composition
180
+ 6. **Pin provider versions** in versions.tf
181
+ 7. **Use locals** for computed values
182
+ 8. **Implement conditional resources** with count/for_each
183
+ 9. **Test modules** with Terratest
184
+ 10. **Tag all resources** consistently
185
+
186
+ ## Module Composition
187
+
188
+ ```hcl
189
+ module "vpc" {
190
+ source = "../../modules/aws/vpc"
191
+
192
+ name = "production"
193
+ cidr_block = "10.0.0.0/16"
194
+ availability_zones = ["us-west-2a", "us-west-2b", "us-west-2c"]
195
+
196
+ private_subnet_cidrs = [
197
+ "10.0.1.0/24",
198
+ "10.0.2.0/24",
199
+ "10.0.3.0/24"
200
+ ]
201
+
202
+ tags = {
203
+ Environment = "production"
204
+ ManagedBy = "terraform"
205
+ }
206
+ }
207
+
208
+ module "rds" {
209
+ source = "../../modules/aws/rds"
210
+
211
+ identifier = "production-db"
212
+ engine = "postgres"
213
+ engine_version = "15.3"
214
+ instance_class = "db.t3.large"
215
+
216
+ vpc_id = module.vpc.vpc_id
217
+ subnet_ids = module.vpc.private_subnet_ids
218
+
219
+ tags = {
220
+ Environment = "production"
221
+ }
222
+ }
223
+ ```
224
+
225
+ ## Reference Files
226
+
227
+ - `assets/vpc-module/` - Complete VPC module example
228
+ - `assets/rds-module/` - RDS module example
229
+ - `references/aws-modules.md` - AWS module patterns
230
+ - `references/azure-modules.md` - Azure module patterns
231
+ - `references/gcp-modules.md` - GCP module patterns
232
+
233
+ ## Testing
234
+
235
+ ```go
236
+ // tests/vpc_test.go
237
+ package test
238
+
239
+ import (
240
+ "testing"
241
+ "github.com/gruntwork-io/terratest/modules/terraform"
242
+ "github.com/stretchr/testify/assert"
243
+ )
244
+
245
+ func TestVPCModule(t *testing.T) {
246
+ terraformOptions := &terraform.Options{
247
+ TerraformDir: "../examples/complete",
248
+ }
249
+
250
+ defer terraform.Destroy(t, terraformOptions)
251
+ terraform.InitAndApply(t, terraformOptions)
252
+
253
+ vpcID := terraform.Output(t, terraformOptions, "vpc_id")
254
+ assert.NotEmpty(t, vpcID)
255
+ }
256
+ ```
257
+
258
+ ## Related Skills
259
+
260
+ - `multi-cloud-architecture` - For architectural decisions
261
+ - `cost-optimization` - For cost-effective designs
@@ -0,0 +1,63 @@
1
+ # AWS Terraform Module Patterns
2
+
3
+ ## VPC Module
4
+ - VPC with public/private subnets
5
+ - Internet Gateway and NAT Gateways
6
+ - Route tables and associations
7
+ - Network ACLs
8
+ - VPC Flow Logs
9
+
10
+ ## EKS Module
11
+ - EKS cluster with managed node groups
12
+ - IRSA (IAM Roles for Service Accounts)
13
+ - Cluster autoscaler
14
+ - VPC CNI configuration
15
+ - Cluster logging
16
+
17
+ ## RDS Module
18
+ - RDS instance or cluster
19
+ - Automated backups
20
+ - Read replicas
21
+ - Parameter groups
22
+ - Subnet groups
23
+ - Security groups
24
+
25
+ ## S3 Module
26
+ - S3 bucket with versioning
27
+ - Encryption at rest
28
+ - Bucket policies
29
+ - Lifecycle rules
30
+ - Replication configuration
31
+
32
+ ## ALB Module
33
+ - Application Load Balancer
34
+ - Target groups
35
+ - Listener rules
36
+ - SSL/TLS certificates
37
+ - Access logs
38
+
39
+ ## Lambda Module
40
+ - Lambda function
41
+ - IAM execution role
42
+ - CloudWatch Logs
43
+ - Environment variables
44
+ - VPC configuration (optional)
45
+
46
+ ## Security Group Module
47
+ - Reusable security group rules
48
+ - Ingress/egress rules
49
+ - Dynamic rule creation
50
+ - Rule descriptions
51
+
52
+ ## Best Practices
53
+
54
+ 1. Use AWS provider version ~> 5.0
55
+ 2. Enable encryption by default
56
+ 3. Use least-privilege IAM
57
+ 4. Tag all resources consistently
58
+ 5. Enable logging and monitoring
59
+ 6. Use KMS for encryption
60
+ 7. Implement backup strategies
61
+ 8. Use PrivateLink when possible
62
+ 9. Enable GuardDuty/SecurityHub
63
+ 10. Follow AWS Well-Architected Framework