@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,603 @@
1
+ # Memory Safety Patterns Implementation Playbook
2
+
3
+ This file contains detailed patterns, checklists, and code samples referenced by the skill.
4
+
5
+ # Memory Safety Patterns
6
+
7
+ Cross-language patterns for memory-safe programming including RAII, ownership, smart pointers, and resource management.
8
+
9
+ ## When to Use This Skill
10
+
11
+ - Writing memory-safe systems code
12
+ - Managing resources (files, sockets, memory)
13
+ - Preventing use-after-free and leaks
14
+ - Implementing RAII patterns
15
+ - Choosing between languages for safety
16
+ - Debugging memory issues
17
+
18
+ ## Core Concepts
19
+
20
+ ### 1. Memory Bug Categories
21
+
22
+ | Bug Type | Description | Prevention |
23
+ |----------|-------------|------------|
24
+ | **Use-after-free** | Access freed memory | Ownership, RAII |
25
+ | **Double-free** | Free same memory twice | Smart pointers |
26
+ | **Memory leak** | Never free memory | RAII, GC |
27
+ | **Buffer overflow** | Write past buffer end | Bounds checking |
28
+ | **Dangling pointer** | Pointer to freed memory | Lifetime tracking |
29
+ | **Data race** | Concurrent unsynchronized access | Ownership, Sync |
30
+
31
+ ### 2. Safety Spectrum
32
+
33
+ ```
34
+ Manual (C) → Smart Pointers (C++) → Ownership (Rust) → GC (Go, Java)
35
+ Less safe More safe
36
+ More control Less control
37
+ ```
38
+
39
+ ## Patterns by Language
40
+
41
+ ### Pattern 1: RAII in C++
42
+
43
+ ```cpp
44
+ // RAII: Resource Acquisition Is Initialization
45
+ // Resource lifetime tied to object lifetime
46
+
47
+ #include <memory>
48
+ #include <fstream>
49
+ #include <mutex>
50
+
51
+ // File handle with RAII
52
+ class FileHandle {
53
+ public:
54
+ explicit FileHandle(const std::string& path)
55
+ : file_(path) {
56
+ if (!file_.is_open()) {
57
+ throw std::runtime_error("Failed to open file");
58
+ }
59
+ }
60
+
61
+ // Destructor automatically closes file
62
+ ~FileHandle() = default; // fstream closes in its destructor
63
+
64
+ // Delete copy (prevent double-close)
65
+ FileHandle(const FileHandle&) = delete;
66
+ FileHandle& operator=(const FileHandle&) = delete;
67
+
68
+ // Allow move
69
+ FileHandle(FileHandle&&) = default;
70
+ FileHandle& operator=(FileHandle&&) = default;
71
+
72
+ void write(const std::string& data) {
73
+ file_ << data;
74
+ }
75
+
76
+ private:
77
+ std::fstream file_;
78
+ };
79
+
80
+ // Lock guard (RAII for mutexes)
81
+ class Database {
82
+ public:
83
+ void update(const std::string& key, const std::string& value) {
84
+ std::lock_guard<std::mutex> lock(mutex_); // Released on scope exit
85
+ data_[key] = value;
86
+ }
87
+
88
+ std::string get(const std::string& key) {
89
+ std::shared_lock<std::shared_mutex> lock(shared_mutex_);
90
+ return data_[key];
91
+ }
92
+
93
+ private:
94
+ std::mutex mutex_;
95
+ std::shared_mutex shared_mutex_;
96
+ std::map<std::string, std::string> data_;
97
+ };
98
+
99
+ // Transaction with rollback (RAII)
100
+ template<typename T>
101
+ class Transaction {
102
+ public:
103
+ explicit Transaction(T& target)
104
+ : target_(target), backup_(target), committed_(false) {}
105
+
106
+ ~Transaction() {
107
+ if (!committed_) {
108
+ target_ = backup_; // Rollback
109
+ }
110
+ }
111
+
112
+ void commit() { committed_ = true; }
113
+
114
+ T& get() { return target_; }
115
+
116
+ private:
117
+ T& target_;
118
+ T backup_;
119
+ bool committed_;
120
+ };
121
+ ```
122
+
123
+ ### Pattern 2: Smart Pointers in C++
124
+
125
+ ```cpp
126
+ #include <memory>
127
+
128
+ // unique_ptr: Single ownership
129
+ class Engine {
130
+ public:
131
+ void start() { /* ... */ }
132
+ };
133
+
134
+ class Car {
135
+ public:
136
+ Car() : engine_(std::make_unique<Engine>()) {}
137
+
138
+ void start() {
139
+ engine_->start();
140
+ }
141
+
142
+ // Transfer ownership
143
+ std::unique_ptr<Engine> extractEngine() {
144
+ return std::move(engine_);
145
+ }
146
+
147
+ private:
148
+ std::unique_ptr<Engine> engine_;
149
+ };
150
+
151
+ // shared_ptr: Shared ownership
152
+ class Node {
153
+ public:
154
+ std::string data;
155
+ std::shared_ptr<Node> next;
156
+
157
+ // Use weak_ptr to break cycles
158
+ std::weak_ptr<Node> parent;
159
+ };
160
+
161
+ void sharedPtrExample() {
162
+ auto node1 = std::make_shared<Node>();
163
+ auto node2 = std::make_shared<Node>();
164
+
165
+ node1->next = node2;
166
+ node2->parent = node1; // Weak reference prevents cycle
167
+
168
+ // Access weak_ptr
169
+ if (auto parent = node2->parent.lock()) {
170
+ // parent is valid shared_ptr
171
+ }
172
+ }
173
+
174
+ // Custom deleter for resources
175
+ class Socket {
176
+ public:
177
+ static void close(int* fd) {
178
+ if (fd && *fd >= 0) {
179
+ ::close(*fd);
180
+ delete fd;
181
+ }
182
+ }
183
+ };
184
+
185
+ auto createSocket() {
186
+ int fd = socket(AF_INET, SOCK_STREAM, 0);
187
+ return std::unique_ptr<int, decltype(&Socket::close)>(
188
+ new int(fd),
189
+ &Socket::close
190
+ );
191
+ }
192
+
193
+ // make_unique/make_shared best practices
194
+ void bestPractices() {
195
+ // Good: Exception safe, single allocation
196
+ auto ptr = std::make_shared<Widget>();
197
+
198
+ // Bad: Two allocations, not exception safe
199
+ std::shared_ptr<Widget> ptr2(new Widget());
200
+
201
+ // For arrays
202
+ auto arr = std::make_unique<int[]>(10);
203
+ }
204
+ ```
205
+
206
+ ### Pattern 3: Ownership in Rust
207
+
208
+ ```rust
209
+ // Move semantics (default)
210
+ fn move_example() {
211
+ let s1 = String::from("hello");
212
+ let s2 = s1; // s1 is MOVED, no longer valid
213
+
214
+ // println!("{}", s1); // Compile error!
215
+ println!("{}", s2);
216
+ }
217
+
218
+ // Borrowing (references)
219
+ fn borrow_example() {
220
+ let s = String::from("hello");
221
+
222
+ // Immutable borrow (multiple allowed)
223
+ let len = calculate_length(&s);
224
+ println!("{} has length {}", s, len);
225
+
226
+ // Mutable borrow (only one allowed)
227
+ let mut s = String::from("hello");
228
+ change(&mut s);
229
+ }
230
+
231
+ fn calculate_length(s: &String) -> usize {
232
+ s.len()
233
+ } // s goes out of scope, but doesn't drop since borrowed
234
+
235
+ fn change(s: &mut String) {
236
+ s.push_str(", world");
237
+ }
238
+
239
+ // Lifetimes: Compiler tracks reference validity
240
+ fn longest<'a>(x: &'a str, y: &'a str) -> &'a str {
241
+ if x.len() > y.len() { x } else { y }
242
+ }
243
+
244
+ // Struct with references needs lifetime annotation
245
+ struct ImportantExcerpt<'a> {
246
+ part: &'a str,
247
+ }
248
+
249
+ impl<'a> ImportantExcerpt<'a> {
250
+ fn level(&self) -> i32 {
251
+ 3
252
+ }
253
+
254
+ // Lifetime elision: compiler infers 'a for &self
255
+ fn announce_and_return_part(&self, announcement: &str) -> &str {
256
+ println!("Attention: {}", announcement);
257
+ self.part
258
+ }
259
+ }
260
+
261
+ // Interior mutability
262
+ use std::cell::{Cell, RefCell};
263
+ use std::rc::Rc;
264
+
265
+ struct Stats {
266
+ count: Cell<i32>, // Copy types
267
+ data: RefCell<Vec<String>>, // Non-Copy types
268
+ }
269
+
270
+ impl Stats {
271
+ fn increment(&self) {
272
+ self.count.set(self.count.get() + 1);
273
+ }
274
+
275
+ fn add_data(&self, item: String) {
276
+ self.data.borrow_mut().push(item);
277
+ }
278
+ }
279
+
280
+ // Rc for shared ownership (single-threaded)
281
+ fn rc_example() {
282
+ let data = Rc::new(vec![1, 2, 3]);
283
+ let data2 = Rc::clone(&data); // Increment reference count
284
+
285
+ println!("Count: {}", Rc::strong_count(&data)); // 2
286
+ }
287
+
288
+ // Arc for shared ownership (thread-safe)
289
+ use std::sync::Arc;
290
+ use std::thread;
291
+
292
+ fn arc_example() {
293
+ let data = Arc::new(vec![1, 2, 3]);
294
+
295
+ let handles: Vec<_> = (0..3)
296
+ .map(|_| {
297
+ let data = Arc::clone(&data);
298
+ thread::spawn(move || {
299
+ println!("{:?}", data);
300
+ })
301
+ })
302
+ .collect();
303
+
304
+ for handle in handles {
305
+ handle.join().unwrap();
306
+ }
307
+ }
308
+ ```
309
+
310
+ ### Pattern 4: Safe Resource Management in C
311
+
312
+ ```c
313
+ // C doesn't have RAII, but we can use patterns
314
+
315
+ #include <stdlib.h>
316
+ #include <stdio.h>
317
+
318
+ // Pattern: goto cleanup
319
+ int process_file(const char* path) {
320
+ FILE* file = NULL;
321
+ char* buffer = NULL;
322
+ int result = -1;
323
+
324
+ file = fopen(path, "r");
325
+ if (!file) {
326
+ goto cleanup;
327
+ }
328
+
329
+ buffer = malloc(1024);
330
+ if (!buffer) {
331
+ goto cleanup;
332
+ }
333
+
334
+ // Process file...
335
+ result = 0;
336
+
337
+ cleanup:
338
+ if (buffer) free(buffer);
339
+ if (file) fclose(file);
340
+ return result;
341
+ }
342
+
343
+ // Pattern: Opaque pointer with create/destroy
344
+ typedef struct Context Context;
345
+
346
+ Context* context_create(void);
347
+ void context_destroy(Context* ctx);
348
+ int context_process(Context* ctx, const char* data);
349
+
350
+ // Implementation
351
+ struct Context {
352
+ int* data;
353
+ size_t size;
354
+ FILE* log;
355
+ };
356
+
357
+ Context* context_create(void) {
358
+ Context* ctx = calloc(1, sizeof(Context));
359
+ if (!ctx) return NULL;
360
+
361
+ ctx->data = malloc(100 * sizeof(int));
362
+ if (!ctx->data) {
363
+ free(ctx);
364
+ return NULL;
365
+ }
366
+
367
+ ctx->log = fopen("log.txt", "w");
368
+ if (!ctx->log) {
369
+ free(ctx->data);
370
+ free(ctx);
371
+ return NULL;
372
+ }
373
+
374
+ return ctx;
375
+ }
376
+
377
+ void context_destroy(Context* ctx) {
378
+ if (ctx) {
379
+ if (ctx->log) fclose(ctx->log);
380
+ if (ctx->data) free(ctx->data);
381
+ free(ctx);
382
+ }
383
+ }
384
+
385
+ // Pattern: Cleanup attribute (GCC/Clang extension)
386
+ #define AUTO_FREE __attribute__((cleanup(auto_free_func)))
387
+
388
+ void auto_free_func(void** ptr) {
389
+ free(*ptr);
390
+ }
391
+
392
+ void auto_free_example(void) {
393
+ AUTO_FREE char* buffer = malloc(1024);
394
+ // buffer automatically freed at end of scope
395
+ }
396
+ ```
397
+
398
+ ### Pattern 5: Bounds Checking
399
+
400
+ ```cpp
401
+ // C++: Use containers instead of raw arrays
402
+ #include <vector>
403
+ #include <array>
404
+ #include <span>
405
+
406
+ void safe_array_access() {
407
+ std::vector<int> vec = {1, 2, 3, 4, 5};
408
+
409
+ // Safe: throws std::out_of_range
410
+ try {
411
+ int val = vec.at(10);
412
+ } catch (const std::out_of_range& e) {
413
+ // Handle error
414
+ }
415
+
416
+ // Unsafe but faster (no bounds check)
417
+ int val = vec[2];
418
+
419
+ // Modern C++20: std::span for array views
420
+ std::span<int> view(vec);
421
+ // Iterators are bounds-safe
422
+ for (int& x : view) {
423
+ x *= 2;
424
+ }
425
+ }
426
+
427
+ // Fixed-size arrays
428
+ void fixed_array() {
429
+ std::array<int, 5> arr = {1, 2, 3, 4, 5};
430
+
431
+ // Compile-time size known
432
+ static_assert(arr.size() == 5);
433
+
434
+ // Safe access
435
+ int val = arr.at(2);
436
+ }
437
+ ```
438
+
439
+ ```rust
440
+ // Rust: Bounds checking by default
441
+
442
+ fn rust_bounds_checking() {
443
+ let vec = vec![1, 2, 3, 4, 5];
444
+
445
+ // Runtime bounds check (panics if out of bounds)
446
+ let val = vec[2];
447
+
448
+ // Explicit option (no panic)
449
+ match vec.get(10) {
450
+ Some(val) => println!("Got {}", val),
451
+ None => println!("Index out of bounds"),
452
+ }
453
+
454
+ // Iterators (no bounds checking needed)
455
+ for val in &vec {
456
+ println!("{}", val);
457
+ }
458
+
459
+ // Slices are bounds-checked
460
+ let slice = &vec[1..3]; // [2, 3]
461
+ }
462
+ ```
463
+
464
+ ### Pattern 6: Preventing Data Races
465
+
466
+ ```cpp
467
+ // C++: Thread-safe shared state
468
+ #include <mutex>
469
+ #include <shared_mutex>
470
+ #include <atomic>
471
+
472
+ class ThreadSafeCounter {
473
+ public:
474
+ void increment() {
475
+ // Atomic operations
476
+ count_.fetch_add(1, std::memory_order_relaxed);
477
+ }
478
+
479
+ int get() const {
480
+ return count_.load(std::memory_order_relaxed);
481
+ }
482
+
483
+ private:
484
+ std::atomic<int> count_{0};
485
+ };
486
+
487
+ class ThreadSafeMap {
488
+ public:
489
+ void write(const std::string& key, int value) {
490
+ std::unique_lock lock(mutex_);
491
+ data_[key] = value;
492
+ }
493
+
494
+ std::optional<int> read(const std::string& key) {
495
+ std::shared_lock lock(mutex_);
496
+ auto it = data_.find(key);
497
+ if (it != data_.end()) {
498
+ return it->second;
499
+ }
500
+ return std::nullopt;
501
+ }
502
+
503
+ private:
504
+ mutable std::shared_mutex mutex_;
505
+ std::map<std::string, int> data_;
506
+ };
507
+ ```
508
+
509
+ ```rust
510
+ // Rust: Data race prevention at compile time
511
+
512
+ use std::sync::{Arc, Mutex, RwLock};
513
+ use std::sync::atomic::{AtomicI32, Ordering};
514
+ use std::thread;
515
+
516
+ // Atomic for simple types
517
+ fn atomic_example() {
518
+ let counter = Arc::new(AtomicI32::new(0));
519
+
520
+ let handles: Vec<_> = (0..10)
521
+ .map(|_| {
522
+ let counter = Arc::clone(&counter);
523
+ thread::spawn(move || {
524
+ counter.fetch_add(1, Ordering::SeqCst);
525
+ })
526
+ })
527
+ .collect();
528
+
529
+ for handle in handles {
530
+ handle.join().unwrap();
531
+ }
532
+
533
+ println!("Counter: {}", counter.load(Ordering::SeqCst));
534
+ }
535
+
536
+ // Mutex for complex types
537
+ fn mutex_example() {
538
+ let data = Arc::new(Mutex::new(vec![]));
539
+
540
+ let handles: Vec<_> = (0..10)
541
+ .map(|i| {
542
+ let data = Arc::clone(&data);
543
+ thread::spawn(move || {
544
+ let mut vec = data.lock().unwrap();
545
+ vec.push(i);
546
+ })
547
+ })
548
+ .collect();
549
+
550
+ for handle in handles {
551
+ handle.join().unwrap();
552
+ }
553
+ }
554
+
555
+ // RwLock for read-heavy workloads
556
+ fn rwlock_example() {
557
+ let data = Arc::new(RwLock::new(HashMap::new()));
558
+
559
+ // Multiple readers OK
560
+ let read_guard = data.read().unwrap();
561
+
562
+ // Writer blocks readers
563
+ let write_guard = data.write().unwrap();
564
+ }
565
+ ```
566
+
567
+ ## Best Practices
568
+
569
+ ### Do's
570
+ - **Prefer RAII** - Tie resource lifetime to scope
571
+ - **Use smart pointers** - Avoid raw pointers in C++
572
+ - **Understand ownership** - Know who owns what
573
+ - **Check bounds** - Use safe access methods
574
+ - **Use tools** - AddressSanitizer, Valgrind, Miri
575
+
576
+ ### Don'ts
577
+ - **Don't use raw pointers** - Unless interfacing with C
578
+ - **Don't return local references** - Dangling pointer
579
+ - **Don't ignore compiler warnings** - They catch bugs
580
+ - **Don't use `unsafe` carelessly** - In Rust, minimize it
581
+ - **Don't assume thread safety** - Be explicit
582
+
583
+ ## Debugging Tools
584
+
585
+ ```bash
586
+ # AddressSanitizer (Clang/GCC)
587
+ clang++ -fsanitize=address -g source.cpp
588
+
589
+ # Valgrind
590
+ valgrind --leak-check=full ./program
591
+
592
+ # Rust Miri (undefined behavior detector)
593
+ cargo +nightly miri run
594
+
595
+ # ThreadSanitizer
596
+ clang++ -fsanitize=thread -g source.cpp
597
+ ```
598
+
599
+ ## Resources
600
+
601
+ - [C++ Core Guidelines](https://isocpp.github.io/CppCoreGuidelines/)
602
+ - [Rust Ownership](https://doc.rust-lang.org/book/ch04-00-understanding-ownership.html)
603
+ - [AddressSanitizer](https://clang.llvm.org/docs/AddressSanitizer.html)
@@ -0,0 +1,59 @@
1
+ ---
2
+ name: mermaid-expert
3
+ description: Create Mermaid diagrams for flowcharts, sequences, ERDs, and
4
+ architectures. Masters syntax for all diagram types and styling. Use
5
+ PROACTIVELY for visual documentation, system diagrams, or process flows.
6
+ metadata:
7
+ model: haiku
8
+ ---
9
+
10
+ ## Use this skill when
11
+
12
+ - Working on mermaid expert tasks or workflows
13
+ - Needing guidance, best practices, or checklists for mermaid expert
14
+
15
+ ## Do not use this skill when
16
+
17
+ - The task is unrelated to mermaid expert
18
+ - You need a different domain or tool outside this scope
19
+
20
+ ## Instructions
21
+
22
+ - Clarify goals, constraints, and required inputs.
23
+ - Apply relevant best practices and validate outcomes.
24
+ - Provide actionable steps and verification.
25
+ - If detailed examples are required, open `resources/implementation-playbook.md`.
26
+
27
+ You are a Mermaid diagram expert specializing in clear, professional visualizations.
28
+
29
+ ## Focus Areas
30
+ - Flowcharts and decision trees
31
+ - Sequence diagrams for APIs/interactions
32
+ - Entity Relationship Diagrams (ERD)
33
+ - State diagrams and user journeys
34
+ - Gantt charts for project timelines
35
+ - Architecture and network diagrams
36
+
37
+ ## Diagram Types Expertise
38
+ ```
39
+ graph (flowchart), sequenceDiagram, classDiagram,
40
+ stateDiagram-v2, erDiagram, gantt, pie,
41
+ gitGraph, journey, quadrantChart, timeline
42
+ ```
43
+
44
+ ## Approach
45
+ 1. Choose the right diagram type for the data
46
+ 2. Keep diagrams readable - avoid overcrowding
47
+ 3. Use consistent styling and colors
48
+ 4. Add meaningful labels and descriptions
49
+ 5. Test rendering before delivery
50
+
51
+ ## Output
52
+ - Complete Mermaid diagram code
53
+ - Rendering instructions/preview
54
+ - Alternative diagram options
55
+ - Styling customizations
56
+ - Accessibility considerations
57
+ - Export recommendations
58
+
59
+ Always provide both basic and styled versions. Include comments explaining complex syntax.
@@ -0,0 +1,35 @@
1
+ ---
2
+ name: microservices-patterns
3
+ description: Design microservices architectures with service boundaries, event-driven communication, and resilience patterns. Use when building distributed systems, decomposing monoliths, or implementing microservices.
4
+ ---
5
+
6
+ # Microservices Patterns
7
+
8
+ Master microservices architecture patterns including service boundaries, inter-service communication, data management, and resilience patterns for building distributed systems.
9
+
10
+ ## Use this skill when
11
+
12
+ - Decomposing monoliths into microservices
13
+ - Designing service boundaries and contracts
14
+ - Implementing inter-service communication
15
+ - Managing distributed data and transactions
16
+ - Building resilient distributed systems
17
+ - Implementing service discovery and load balancing
18
+ - Designing event-driven architectures
19
+
20
+ ## Do not use this skill when
21
+
22
+ - The system is small enough for a modular monolith
23
+ - You need a quick prototype without distributed complexity
24
+ - There is no operational support for distributed systems
25
+
26
+ ## Instructions
27
+
28
+ 1. Identify domain boundaries and ownership for each service.
29
+ 2. Define contracts, data ownership, and communication patterns.
30
+ 3. Plan resilience, observability, and deployment strategy.
31
+ 4. Provide migration steps and operational guardrails.
32
+
33
+ ## Resources
34
+
35
+ - `resources/implementation-playbook.md` for detailed patterns and examples.