@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,654 @@
1
+ # Go Concurrency Patterns Implementation Playbook
2
+
3
+ This file contains detailed patterns, checklists, and code samples referenced by the skill.
4
+
5
+ # Go Concurrency Patterns
6
+
7
+ Production patterns for Go concurrency including goroutines, channels, synchronization primitives, and context management.
8
+
9
+ ## When to Use This Skill
10
+
11
+ - Building concurrent Go applications
12
+ - Implementing worker pools and pipelines
13
+ - Managing goroutine lifecycles
14
+ - Using channels for communication
15
+ - Debugging race conditions
16
+ - Implementing graceful shutdown
17
+
18
+ ## Core Concepts
19
+
20
+ ### 1. Go Concurrency Primitives
21
+
22
+ | Primitive | Purpose |
23
+ |-----------|---------|
24
+ | `goroutine` | Lightweight concurrent execution |
25
+ | `channel` | Communication between goroutines |
26
+ | `select` | Multiplex channel operations |
27
+ | `sync.Mutex` | Mutual exclusion |
28
+ | `sync.WaitGroup` | Wait for goroutines to complete |
29
+ | `context.Context` | Cancellation and deadlines |
30
+
31
+ ### 2. Go Concurrency Mantra
32
+
33
+ ```
34
+ Don't communicate by sharing memory;
35
+ share memory by communicating.
36
+ ```
37
+
38
+ ## Quick Start
39
+
40
+ ```go
41
+ package main
42
+
43
+ import (
44
+ "context"
45
+ "fmt"
46
+ "sync"
47
+ "time"
48
+ )
49
+
50
+ func main() {
51
+ ctx, cancel := context.WithTimeout(context.Background(), 5*time.Second)
52
+ defer cancel()
53
+
54
+ results := make(chan string, 10)
55
+ var wg sync.WaitGroup
56
+
57
+ // Spawn workers
58
+ for i := 0; i < 3; i++ {
59
+ wg.Add(1)
60
+ go worker(ctx, i, results, &wg)
61
+ }
62
+
63
+ // Close results when done
64
+ go func() {
65
+ wg.Wait()
66
+ close(results)
67
+ }()
68
+
69
+ // Collect results
70
+ for result := range results {
71
+ fmt.Println(result)
72
+ }
73
+ }
74
+
75
+ func worker(ctx context.Context, id int, results chan<- string, wg *sync.WaitGroup) {
76
+ defer wg.Done()
77
+
78
+ select {
79
+ case <-ctx.Done():
80
+ return
81
+ case results <- fmt.Sprintf("Worker %d done", id):
82
+ }
83
+ }
84
+ ```
85
+
86
+ ## Patterns
87
+
88
+ ### Pattern 1: Worker Pool
89
+
90
+ ```go
91
+ package main
92
+
93
+ import (
94
+ "context"
95
+ "fmt"
96
+ "sync"
97
+ )
98
+
99
+ type Job struct {
100
+ ID int
101
+ Data string
102
+ }
103
+
104
+ type Result struct {
105
+ JobID int
106
+ Output string
107
+ Err error
108
+ }
109
+
110
+ func WorkerPool(ctx context.Context, numWorkers int, jobs <-chan Job) <-chan Result {
111
+ results := make(chan Result, len(jobs))
112
+
113
+ var wg sync.WaitGroup
114
+ for i := 0; i < numWorkers; i++ {
115
+ wg.Add(1)
116
+ go func(workerID int) {
117
+ defer wg.Done()
118
+ for job := range jobs {
119
+ select {
120
+ case <-ctx.Done():
121
+ return
122
+ default:
123
+ result := processJob(job)
124
+ results <- result
125
+ }
126
+ }
127
+ }(i)
128
+ }
129
+
130
+ go func() {
131
+ wg.Wait()
132
+ close(results)
133
+ }()
134
+
135
+ return results
136
+ }
137
+
138
+ func processJob(job Job) Result {
139
+ // Simulate work
140
+ return Result{
141
+ JobID: job.ID,
142
+ Output: fmt.Sprintf("Processed: %s", job.Data),
143
+ }
144
+ }
145
+
146
+ // Usage
147
+ func main() {
148
+ ctx, cancel := context.WithCancel(context.Background())
149
+ defer cancel()
150
+
151
+ jobs := make(chan Job, 100)
152
+
153
+ // Send jobs
154
+ go func() {
155
+ for i := 0; i < 50; i++ {
156
+ jobs <- Job{ID: i, Data: fmt.Sprintf("job-%d", i)}
157
+ }
158
+ close(jobs)
159
+ }()
160
+
161
+ // Process with 5 workers
162
+ results := WorkerPool(ctx, 5, jobs)
163
+
164
+ for result := range results {
165
+ fmt.Printf("Result: %+v\n", result)
166
+ }
167
+ }
168
+ ```
169
+
170
+ ### Pattern 2: Fan-Out/Fan-In Pipeline
171
+
172
+ ```go
173
+ package main
174
+
175
+ import (
176
+ "context"
177
+ "sync"
178
+ )
179
+
180
+ // Stage 1: Generate numbers
181
+ func generate(ctx context.Context, nums ...int) <-chan int {
182
+ out := make(chan int)
183
+ go func() {
184
+ defer close(out)
185
+ for _, n := range nums {
186
+ select {
187
+ case <-ctx.Done():
188
+ return
189
+ case out <- n:
190
+ }
191
+ }
192
+ }()
193
+ return out
194
+ }
195
+
196
+ // Stage 2: Square numbers (can run multiple instances)
197
+ func square(ctx context.Context, in <-chan int) <-chan int {
198
+ out := make(chan int)
199
+ go func() {
200
+ defer close(out)
201
+ for n := range in {
202
+ select {
203
+ case <-ctx.Done():
204
+ return
205
+ case out <- n * n:
206
+ }
207
+ }
208
+ }()
209
+ return out
210
+ }
211
+
212
+ // Fan-in: Merge multiple channels into one
213
+ func merge(ctx context.Context, cs ...<-chan int) <-chan int {
214
+ var wg sync.WaitGroup
215
+ out := make(chan int)
216
+
217
+ // Start output goroutine for each input channel
218
+ output := func(c <-chan int) {
219
+ defer wg.Done()
220
+ for n := range c {
221
+ select {
222
+ case <-ctx.Done():
223
+ return
224
+ case out <- n:
225
+ }
226
+ }
227
+ }
228
+
229
+ wg.Add(len(cs))
230
+ for _, c := range cs {
231
+ go output(c)
232
+ }
233
+
234
+ // Close out after all inputs are done
235
+ go func() {
236
+ wg.Wait()
237
+ close(out)
238
+ }()
239
+
240
+ return out
241
+ }
242
+
243
+ func main() {
244
+ ctx, cancel := context.WithCancel(context.Background())
245
+ defer cancel()
246
+
247
+ // Generate input
248
+ in := generate(ctx, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
249
+
250
+ // Fan out to multiple squarers
251
+ c1 := square(ctx, in)
252
+ c2 := square(ctx, in)
253
+ c3 := square(ctx, in)
254
+
255
+ // Fan in results
256
+ for result := range merge(ctx, c1, c2, c3) {
257
+ fmt.Println(result)
258
+ }
259
+ }
260
+ ```
261
+
262
+ ### Pattern 3: Bounded Concurrency with Semaphore
263
+
264
+ ```go
265
+ package main
266
+
267
+ import (
268
+ "context"
269
+ "fmt"
270
+ "golang.org/x/sync/semaphore"
271
+ "sync"
272
+ )
273
+
274
+ type RateLimitedWorker struct {
275
+ sem *semaphore.Weighted
276
+ }
277
+
278
+ func NewRateLimitedWorker(maxConcurrent int64) *RateLimitedWorker {
279
+ return &RateLimitedWorker{
280
+ sem: semaphore.NewWeighted(maxConcurrent),
281
+ }
282
+ }
283
+
284
+ func (w *RateLimitedWorker) Do(ctx context.Context, tasks []func() error) []error {
285
+ var (
286
+ wg sync.WaitGroup
287
+ mu sync.Mutex
288
+ errors []error
289
+ )
290
+
291
+ for _, task := range tasks {
292
+ // Acquire semaphore (blocks if at limit)
293
+ if err := w.sem.Acquire(ctx, 1); err != nil {
294
+ return []error{err}
295
+ }
296
+
297
+ wg.Add(1)
298
+ go func(t func() error) {
299
+ defer wg.Done()
300
+ defer w.sem.Release(1)
301
+
302
+ if err := t(); err != nil {
303
+ mu.Lock()
304
+ errors = append(errors, err)
305
+ mu.Unlock()
306
+ }
307
+ }(task)
308
+ }
309
+
310
+ wg.Wait()
311
+ return errors
312
+ }
313
+
314
+ // Alternative: Channel-based semaphore
315
+ type Semaphore chan struct{}
316
+
317
+ func NewSemaphore(n int) Semaphore {
318
+ return make(chan struct{}, n)
319
+ }
320
+
321
+ func (s Semaphore) Acquire() {
322
+ s <- struct{}{}
323
+ }
324
+
325
+ func (s Semaphore) Release() {
326
+ <-s
327
+ }
328
+ ```
329
+
330
+ ### Pattern 4: Graceful Shutdown
331
+
332
+ ```go
333
+ package main
334
+
335
+ import (
336
+ "context"
337
+ "fmt"
338
+ "os"
339
+ "os/signal"
340
+ "sync"
341
+ "syscall"
342
+ "time"
343
+ )
344
+
345
+ type Server struct {
346
+ shutdown chan struct{}
347
+ wg sync.WaitGroup
348
+ }
349
+
350
+ func NewServer() *Server {
351
+ return &Server{
352
+ shutdown: make(chan struct{}),
353
+ }
354
+ }
355
+
356
+ func (s *Server) Start(ctx context.Context) {
357
+ // Start workers
358
+ for i := 0; i < 5; i++ {
359
+ s.wg.Add(1)
360
+ go s.worker(ctx, i)
361
+ }
362
+ }
363
+
364
+ func (s *Server) worker(ctx context.Context, id int) {
365
+ defer s.wg.Done()
366
+ defer fmt.Printf("Worker %d stopped\n", id)
367
+
368
+ ticker := time.NewTicker(time.Second)
369
+ defer ticker.Stop()
370
+
371
+ for {
372
+ select {
373
+ case <-ctx.Done():
374
+ // Cleanup
375
+ fmt.Printf("Worker %d cleaning up...\n", id)
376
+ time.Sleep(500 * time.Millisecond) // Simulated cleanup
377
+ return
378
+ case <-ticker.C:
379
+ fmt.Printf("Worker %d working...\n", id)
380
+ }
381
+ }
382
+ }
383
+
384
+ func (s *Server) Shutdown(timeout time.Duration) {
385
+ // Signal shutdown
386
+ close(s.shutdown)
387
+
388
+ // Wait with timeout
389
+ done := make(chan struct{})
390
+ go func() {
391
+ s.wg.Wait()
392
+ close(done)
393
+ }()
394
+
395
+ select {
396
+ case <-done:
397
+ fmt.Println("Clean shutdown completed")
398
+ case <-time.After(timeout):
399
+ fmt.Println("Shutdown timed out, forcing exit")
400
+ }
401
+ }
402
+
403
+ func main() {
404
+ // Setup signal handling
405
+ ctx, cancel := context.WithCancel(context.Background())
406
+
407
+ sigCh := make(chan os.Signal, 1)
408
+ signal.Notify(sigCh, syscall.SIGINT, syscall.SIGTERM)
409
+
410
+ server := NewServer()
411
+ server.Start(ctx)
412
+
413
+ // Wait for signal
414
+ sig := <-sigCh
415
+ fmt.Printf("\nReceived signal: %v\n", sig)
416
+
417
+ // Cancel context to stop workers
418
+ cancel()
419
+
420
+ // Wait for graceful shutdown
421
+ server.Shutdown(5 * time.Second)
422
+ }
423
+ ```
424
+
425
+ ### Pattern 5: Error Group with Cancellation
426
+
427
+ ```go
428
+ package main
429
+
430
+ import (
431
+ "context"
432
+ "fmt"
433
+ "golang.org/x/sync/errgroup"
434
+ "net/http"
435
+ )
436
+
437
+ func fetchAllURLs(ctx context.Context, urls []string) ([]string, error) {
438
+ g, ctx := errgroup.WithContext(ctx)
439
+
440
+ results := make([]string, len(urls))
441
+
442
+ for i, url := range urls {
443
+ i, url := i, url // Capture loop variables
444
+
445
+ g.Go(func() error {
446
+ req, err := http.NewRequestWithContext(ctx, "GET", url, nil)
447
+ if err != nil {
448
+ return fmt.Errorf("creating request for %s: %w", url, err)
449
+ }
450
+
451
+ resp, err := http.DefaultClient.Do(req)
452
+ if err != nil {
453
+ return fmt.Errorf("fetching %s: %w", url, err)
454
+ }
455
+ defer resp.Body.Close()
456
+
457
+ results[i] = fmt.Sprintf("%s: %d", url, resp.StatusCode)
458
+ return nil
459
+ })
460
+ }
461
+
462
+ // Wait for all goroutines to complete or one to fail
463
+ if err := g.Wait(); err != nil {
464
+ return nil, err // First error cancels all others
465
+ }
466
+
467
+ return results, nil
468
+ }
469
+
470
+ // With concurrency limit
471
+ func fetchWithLimit(ctx context.Context, urls []string, limit int) ([]string, error) {
472
+ g, ctx := errgroup.WithContext(ctx)
473
+ g.SetLimit(limit) // Max concurrent goroutines
474
+
475
+ results := make([]string, len(urls))
476
+ var mu sync.Mutex
477
+
478
+ for i, url := range urls {
479
+ i, url := i, url
480
+
481
+ g.Go(func() error {
482
+ result, err := fetchURL(ctx, url)
483
+ if err != nil {
484
+ return err
485
+ }
486
+
487
+ mu.Lock()
488
+ results[i] = result
489
+ mu.Unlock()
490
+ return nil
491
+ })
492
+ }
493
+
494
+ if err := g.Wait(); err != nil {
495
+ return nil, err
496
+ }
497
+
498
+ return results, nil
499
+ }
500
+ ```
501
+
502
+ ### Pattern 6: Concurrent Map with sync.Map
503
+
504
+ ```go
505
+ package main
506
+
507
+ import (
508
+ "sync"
509
+ )
510
+
511
+ // For frequent reads, infrequent writes
512
+ type Cache struct {
513
+ m sync.Map
514
+ }
515
+
516
+ func (c *Cache) Get(key string) (interface{}, bool) {
517
+ return c.m.Load(key)
518
+ }
519
+
520
+ func (c *Cache) Set(key string, value interface{}) {
521
+ c.m.Store(key, value)
522
+ }
523
+
524
+ func (c *Cache) GetOrSet(key string, value interface{}) (interface{}, bool) {
525
+ return c.m.LoadOrStore(key, value)
526
+ }
527
+
528
+ func (c *Cache) Delete(key string) {
529
+ c.m.Delete(key)
530
+ }
531
+
532
+ // For write-heavy workloads, use sharded map
533
+ type ShardedMap struct {
534
+ shards []*shard
535
+ numShards int
536
+ }
537
+
538
+ type shard struct {
539
+ sync.RWMutex
540
+ data map[string]interface{}
541
+ }
542
+
543
+ func NewShardedMap(numShards int) *ShardedMap {
544
+ m := &ShardedMap{
545
+ shards: make([]*shard, numShards),
546
+ numShards: numShards,
547
+ }
548
+ for i := range m.shards {
549
+ m.shards[i] = &shard{data: make(map[string]interface{})}
550
+ }
551
+ return m
552
+ }
553
+
554
+ func (m *ShardedMap) getShard(key string) *shard {
555
+ // Simple hash
556
+ h := 0
557
+ for _, c := range key {
558
+ h = 31*h + int(c)
559
+ }
560
+ return m.shards[h%m.numShards]
561
+ }
562
+
563
+ func (m *ShardedMap) Get(key string) (interface{}, bool) {
564
+ shard := m.getShard(key)
565
+ shard.RLock()
566
+ defer shard.RUnlock()
567
+ v, ok := shard.data[key]
568
+ return v, ok
569
+ }
570
+
571
+ func (m *ShardedMap) Set(key string, value interface{}) {
572
+ shard := m.getShard(key)
573
+ shard.Lock()
574
+ defer shard.Unlock()
575
+ shard.data[key] = value
576
+ }
577
+ ```
578
+
579
+ ### Pattern 7: Select with Timeout and Default
580
+
581
+ ```go
582
+ func selectPatterns() {
583
+ ch := make(chan int)
584
+
585
+ // Timeout pattern
586
+ select {
587
+ case v := <-ch:
588
+ fmt.Println("Received:", v)
589
+ case <-time.After(time.Second):
590
+ fmt.Println("Timeout!")
591
+ }
592
+
593
+ // Non-blocking send/receive
594
+ select {
595
+ case ch <- 42:
596
+ fmt.Println("Sent")
597
+ default:
598
+ fmt.Println("Channel full, skipping")
599
+ }
600
+
601
+ // Priority select (check high priority first)
602
+ highPriority := make(chan int)
603
+ lowPriority := make(chan int)
604
+
605
+ for {
606
+ select {
607
+ case msg := <-highPriority:
608
+ fmt.Println("High priority:", msg)
609
+ default:
610
+ select {
611
+ case msg := <-highPriority:
612
+ fmt.Println("High priority:", msg)
613
+ case msg := <-lowPriority:
614
+ fmt.Println("Low priority:", msg)
615
+ }
616
+ }
617
+ }
618
+ }
619
+ ```
620
+
621
+ ## Race Detection
622
+
623
+ ```bash
624
+ # Run tests with race detector
625
+ go test -race ./...
626
+
627
+ # Build with race detector
628
+ go build -race .
629
+
630
+ # Run with race detector
631
+ go run -race main.go
632
+ ```
633
+
634
+ ## Best Practices
635
+
636
+ ### Do's
637
+ - **Use context** - For cancellation and deadlines
638
+ - **Close channels** - From sender side only
639
+ - **Use errgroup** - For concurrent operations with errors
640
+ - **Buffer channels** - When you know the count
641
+ - **Prefer channels** - Over mutexes when possible
642
+
643
+ ### Don'ts
644
+ - **Don't leak goroutines** - Always have exit path
645
+ - **Don't close from receiver** - Causes panic
646
+ - **Don't use shared memory** - Unless necessary
647
+ - **Don't ignore context cancellation** - Check ctx.Done()
648
+ - **Don't use time.Sleep for sync** - Use proper primitives
649
+
650
+ ## Resources
651
+
652
+ - [Go Concurrency Patterns](https://go.dev/blog/pipelines)
653
+ - [Effective Go - Concurrency](https://go.dev/doc/effective_go#concurrency)
654
+ - [Go by Example - Goroutines](https://gobyexample.com/goroutines)
@@ -0,0 +1,33 @@
1
+ ---
2
+ name: godot-gdscript-patterns
3
+ description: Master Godot 4 GDScript patterns including signals, scenes, state machines, and optimization. Use when building Godot games, implementing game systems, or learning GDScript best practices.
4
+ ---
5
+
6
+ # Godot GDScript Patterns
7
+
8
+ Production patterns for Godot 4.x game development with GDScript, covering architecture, signals, scenes, and optimization.
9
+
10
+ ## Use this skill when
11
+
12
+ - Building games with Godot 4
13
+ - Implementing game systems in GDScript
14
+ - Designing scene architecture
15
+ - Managing game state
16
+ - Optimizing GDScript performance
17
+ - Learning Godot best practices
18
+
19
+ ## Do not use this skill when
20
+
21
+ - The task is unrelated to godot gdscript patterns
22
+ - You need a different domain or tool outside this scope
23
+
24
+ ## Instructions
25
+
26
+ - Clarify goals, constraints, and required inputs.
27
+ - Apply relevant best practices and validate outcomes.
28
+ - Provide actionable steps and verification.
29
+ - If detailed examples are required, open `resources/implementation-playbook.md`.
30
+
31
+ ## Resources
32
+
33
+ - `resources/implementation-playbook.md` for detailed patterns and examples.