@cubis/foundry 0.3.70 → 0.3.72

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 (304) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/dist/cli/core.js +4 -18
  3. package/dist/cli/core.js.map +1 -1
  4. package/package.json +1 -1
  5. package/src/cli/core.ts +4 -18
  6. package/workflows/powers/accessibility/POWER.md +83 -94
  7. package/workflows/powers/accessibility/SKILL.md +82 -94
  8. package/workflows/powers/agent-design/POWER.md +201 -0
  9. package/workflows/powers/agent-design/SKILL.md +198 -0
  10. package/workflows/powers/agent-design/references/clarification-patterns.md +153 -0
  11. package/workflows/powers/agent-design/references/skill-testing.md +164 -0
  12. package/workflows/powers/agent-design/references/workflow-patterns.md +226 -0
  13. package/workflows/powers/agentic-eval/POWER.md +62 -0
  14. package/workflows/powers/agentic-eval/SKILL.md +59 -0
  15. package/workflows/powers/agentic-eval/references/rubric-and-regression-checklist.md +11 -0
  16. package/workflows/powers/api-designer/POWER.md +43 -71
  17. package/workflows/powers/api-designer/SKILL.md +43 -71
  18. package/workflows/powers/api-patterns/POWER.md +42 -56
  19. package/workflows/powers/api-patterns/SKILL.md +42 -57
  20. package/workflows/powers/architecture-designer/POWER.md +43 -60
  21. package/workflows/powers/architecture-designer/SKILL.md +43 -60
  22. package/workflows/powers/ask-questions-if-underspecified/POWER.md +51 -3
  23. package/workflows/powers/ask-questions-if-underspecified/SKILL.md +51 -3
  24. package/workflows/powers/auth-architect/POWER.md +69 -0
  25. package/workflows/powers/auth-architect/SKILL.md +66 -0
  26. package/workflows/powers/auth-architect/references/session-token-policy-checklist.md +45 -0
  27. package/workflows/powers/behavioral-modes/POWER.md +100 -9
  28. package/workflows/powers/behavioral-modes/SKILL.md +100 -9
  29. package/workflows/powers/c-pro/POWER.md +105 -0
  30. package/workflows/powers/c-pro/SKILL.md +102 -0
  31. package/workflows/powers/c-pro/references/build-systems-and-toolchains.md +148 -0
  32. package/workflows/powers/c-pro/references/common-ub-and-portability.md +166 -0
  33. package/workflows/powers/c-pro/references/debugging-with-sanitizers.md +205 -0
  34. package/workflows/powers/c-pro/references/memory-safety-and-build-checklist.md +60 -0
  35. package/workflows/powers/c-pro/references/posix-and-platform-apis.md +244 -0
  36. package/workflows/powers/changelog-generator/POWER.md +127 -63
  37. package/workflows/powers/changelog-generator/SKILL.md +126 -63
  38. package/workflows/powers/ci-cd-pipelines/POWER.md +156 -0
  39. package/workflows/powers/ci-cd-pipelines/SKILL.md +153 -0
  40. package/workflows/powers/ci-cd-pipelines/references/github-actions-patterns.md +160 -0
  41. package/workflows/powers/ci-cd-pipelines/references/pipeline-security-checklist.md +57 -0
  42. package/workflows/powers/cli-developer/POWER.md +152 -95
  43. package/workflows/powers/cli-developer/SKILL.md +152 -95
  44. package/workflows/powers/cpp-pro/POWER.md +111 -0
  45. package/workflows/powers/cpp-pro/SKILL.md +108 -0
  46. package/workflows/powers/cpp-pro/references/concurrency-primitives.md +266 -0
  47. package/workflows/powers/cpp-pro/references/move-semantics-and-value-types.md +149 -0
  48. package/workflows/powers/cpp-pro/references/performance-and-profiling.md +191 -0
  49. package/workflows/powers/cpp-pro/references/raii-and-modern-cpp-checklist.md +87 -0
  50. package/workflows/powers/cpp-pro/references/template-and-concepts-patterns.md +205 -0
  51. package/workflows/powers/csharp-pro/POWER.md +47 -22
  52. package/workflows/powers/csharp-pro/SKILL.md +47 -22
  53. package/workflows/powers/dart-pro/POWER.md +68 -0
  54. package/workflows/powers/dart-pro/SKILL.md +65 -0
  55. package/workflows/powers/dart-pro/references/isolate-and-concurrency.md +180 -0
  56. package/workflows/powers/dart-pro/references/null-safety-and-async-patterns.md +133 -0
  57. package/workflows/powers/dart-pro/references/package-structure-and-linting.md +193 -0
  58. package/workflows/powers/dart-pro/references/sealed-records-patterns.md +173 -0
  59. package/workflows/powers/dart-pro/references/testing-and-mocking.md +235 -0
  60. package/workflows/powers/database-design/POWER.md +47 -33
  61. package/workflows/powers/database-design/SKILL.md +47 -33
  62. package/workflows/powers/database-optimizer/POWER.md +43 -64
  63. package/workflows/powers/database-optimizer/SKILL.md +43 -64
  64. package/workflows/powers/database-skills/POWER.md +59 -93
  65. package/workflows/powers/database-skills/SKILL.md +59 -93
  66. package/workflows/powers/debugging-strategies/POWER.md +69 -0
  67. package/workflows/powers/debugging-strategies/SKILL.md +66 -0
  68. package/workflows/powers/debugging-strategies/references/reproduce-isolate-verify-checklist.md +42 -0
  69. package/workflows/powers/deep-research/POWER.md +67 -0
  70. package/workflows/powers/deep-research/SKILL.md +64 -0
  71. package/workflows/powers/deep-research/references/multi-round-research-loop.md +80 -0
  72. package/workflows/powers/design-system-builder/POWER.md +130 -116
  73. package/workflows/powers/design-system-builder/SKILL.md +130 -116
  74. package/workflows/powers/devops-engineer/POWER.md +120 -57
  75. package/workflows/powers/devops-engineer/SKILL.md +120 -57
  76. package/workflows/powers/docker-kubernetes/POWER.md +94 -0
  77. package/workflows/powers/docker-kubernetes/SKILL.md +91 -0
  78. package/workflows/powers/docker-kubernetes/references/dockerfile-optimization-checklist.md +35 -0
  79. package/workflows/powers/docker-kubernetes/references/kubernetes-deployment-patterns.md +59 -0
  80. package/workflows/powers/documentation-templates/POWER.md +158 -127
  81. package/workflows/powers/documentation-templates/SKILL.md +158 -127
  82. package/workflows/powers/drizzle-expert/POWER.md +66 -0
  83. package/workflows/powers/drizzle-expert/SKILL.md +63 -0
  84. package/workflows/powers/drizzle-expert/references/runtime-pairing-matrix.md +16 -0
  85. package/workflows/powers/drizzle-expert/references/schema-and-migration-playbook.md +18 -0
  86. package/workflows/powers/error-ux-observability/POWER.md +144 -131
  87. package/workflows/powers/error-ux-observability/SKILL.md +143 -131
  88. package/workflows/powers/fastapi-expert/POWER.md +46 -60
  89. package/workflows/powers/fastapi-expert/SKILL.md +46 -60
  90. package/workflows/powers/firebase/POWER.md +65 -0
  91. package/workflows/powers/firebase/SKILL.md +62 -0
  92. package/workflows/powers/firebase/references/platform-routing.md +16 -0
  93. package/workflows/powers/firebase/references/rules-and-indexes-checklist.md +11 -0
  94. package/workflows/powers/flutter-design-system/POWER.md +63 -0
  95. package/workflows/powers/flutter-design-system/SKILL.md +60 -0
  96. package/workflows/powers/flutter-design-system/references/shared-widgets.md +29 -0
  97. package/workflows/powers/flutter-design-system/references/tokens-and-theme.md +34 -0
  98. package/workflows/powers/flutter-drift/POWER.md +65 -0
  99. package/workflows/powers/flutter-drift/SKILL.md +62 -0
  100. package/workflows/powers/flutter-drift/references/migrations.md +22 -0
  101. package/workflows/powers/flutter-drift/references/query-patterns.md +26 -0
  102. package/workflows/powers/flutter-feature/POWER.md +65 -0
  103. package/workflows/powers/flutter-feature/SKILL.md +62 -0
  104. package/workflows/powers/flutter-feature/references/architecture-rules.md +85 -0
  105. package/workflows/powers/flutter-feature/references/composite-provider.md +58 -0
  106. package/workflows/powers/flutter-feature/references/outbox-pattern.md +87 -0
  107. package/workflows/powers/flutter-feature/references/testing-patterns.md +218 -0
  108. package/workflows/powers/flutter-go-router/POWER.md +64 -0
  109. package/workflows/powers/flutter-go-router/SKILL.md +61 -0
  110. package/workflows/powers/flutter-go-router/references/guards-and-deeplinks.md +20 -0
  111. package/workflows/powers/flutter-go-router/references/typed-routes.md +27 -0
  112. package/workflows/powers/flutter-offline-sync/POWER.md +62 -0
  113. package/workflows/powers/flutter-offline-sync/SKILL.md +59 -0
  114. package/workflows/powers/flutter-offline-sync/references/outbox-full.md +44 -0
  115. package/workflows/powers/flutter-repository/POWER.md +64 -0
  116. package/workflows/powers/flutter-repository/SKILL.md +61 -0
  117. package/workflows/powers/flutter-repository/references/drift-patterns.md +21 -0
  118. package/workflows/powers/flutter-repository/references/retrofit-patterns.md +20 -0
  119. package/workflows/powers/flutter-riverpod/POWER.md +70 -0
  120. package/workflows/powers/flutter-riverpod/SKILL.md +67 -0
  121. package/workflows/powers/flutter-riverpod/references/async-and-mutations.md +19 -0
  122. package/workflows/powers/flutter-riverpod/references/async-lifecycle.md +19 -0
  123. package/workflows/powers/flutter-riverpod/references/provider-selection.md +20 -0
  124. package/workflows/powers/flutter-riverpod/references/testing.md +21 -0
  125. package/workflows/powers/flutter-riverpod/references/version-matrix.md +24 -0
  126. package/workflows/powers/flutter-state-machine/POWER.md +62 -0
  127. package/workflows/powers/flutter-state-machine/SKILL.md +59 -0
  128. package/workflows/powers/flutter-state-machine/references/app-state-contract.md +23 -0
  129. package/workflows/powers/flutter-state-machine/references/ui-rendering.md +14 -0
  130. package/workflows/powers/flutter-testing/POWER.md +64 -0
  131. package/workflows/powers/flutter-testing/SKILL.md +61 -0
  132. package/workflows/powers/flutter-testing/references/offline-sync-tests.md +16 -0
  133. package/workflows/powers/flutter-testing/references/test-layers.md +33 -0
  134. package/workflows/powers/frontend-code-review/POWER.md +137 -0
  135. package/workflows/powers/frontend-code-review/SKILL.md +134 -0
  136. package/workflows/powers/frontend-code-review/references/common-antipatterns.md +86 -0
  137. package/workflows/powers/frontend-code-review/references/performance-budgets.md +56 -0
  138. package/workflows/powers/frontend-code-review/references/review-checklists.md +47 -0
  139. package/workflows/powers/frontend-design/POWER.md +163 -362
  140. package/workflows/powers/frontend-design/SKILL.md +163 -362
  141. package/workflows/powers/game-development/POWER.md +57 -140
  142. package/workflows/powers/game-development/SKILL.md +57 -140
  143. package/workflows/powers/geo-fundamentals/POWER.md +64 -126
  144. package/workflows/powers/geo-fundamentals/SKILL.md +64 -127
  145. package/workflows/powers/git-workflow/POWER.md +135 -0
  146. package/workflows/powers/git-workflow/SKILL.md +132 -0
  147. package/workflows/powers/git-workflow/references/pr-review-checklist.md +63 -0
  148. package/workflows/powers/golang-pro/POWER.md +46 -35
  149. package/workflows/powers/golang-pro/SKILL.md +46 -35
  150. package/workflows/powers/graphql-architect/POWER.md +44 -62
  151. package/workflows/powers/graphql-architect/SKILL.md +44 -62
  152. package/workflows/powers/i18n-localization/POWER.md +118 -103
  153. package/workflows/powers/i18n-localization/SKILL.md +118 -103
  154. package/workflows/powers/java-pro/POWER.md +47 -22
  155. package/workflows/powers/java-pro/SKILL.md +47 -22
  156. package/workflows/powers/javascript-pro/POWER.md +47 -34
  157. package/workflows/powers/javascript-pro/SKILL.md +47 -34
  158. package/workflows/powers/kotlin-pro/POWER.md +46 -23
  159. package/workflows/powers/kotlin-pro/SKILL.md +46 -23
  160. package/workflows/powers/legacy-modernizer/POWER.md +43 -60
  161. package/workflows/powers/legacy-modernizer/SKILL.md +43 -60
  162. package/workflows/powers/mcp-builder/POWER.md +65 -0
  163. package/workflows/powers/mcp-builder/SKILL.md +62 -0
  164. package/workflows/powers/mcp-builder/references/testing-and-evals.md +17 -0
  165. package/workflows/powers/mcp-builder/references/transport-and-tool-design.md +17 -0
  166. package/workflows/powers/microservices-architect/POWER.md +43 -70
  167. package/workflows/powers/microservices-architect/SKILL.md +43 -70
  168. package/workflows/powers/mobile-design/POWER.md +110 -345
  169. package/workflows/powers/mobile-design/SKILL.md +110 -345
  170. package/workflows/powers/mongodb/POWER.md +67 -0
  171. package/workflows/powers/mongodb/SKILL.md +64 -0
  172. package/workflows/powers/mongodb/references/mongodb-checklist.md +20 -0
  173. package/workflows/powers/mysql/POWER.md +67 -0
  174. package/workflows/powers/mysql/SKILL.md +64 -0
  175. package/workflows/powers/mysql/references/mysql-checklist.md +20 -0
  176. package/workflows/powers/neki/POWER.md +67 -0
  177. package/workflows/powers/neki/SKILL.md +64 -0
  178. package/workflows/powers/neki/references/neki-checklist.md +18 -0
  179. package/workflows/powers/nestjs-expert/POWER.md +45 -91
  180. package/workflows/powers/nestjs-expert/SKILL.md +45 -91
  181. package/workflows/powers/nextjs-developer/POWER.md +51 -44
  182. package/workflows/powers/nextjs-developer/SKILL.md +51 -44
  183. package/workflows/powers/nodejs-best-practices/POWER.md +48 -29
  184. package/workflows/powers/nodejs-best-practices/SKILL.md +48 -29
  185. package/workflows/powers/observability/POWER.md +109 -0
  186. package/workflows/powers/observability/SKILL.md +106 -0
  187. package/workflows/powers/observability/references/alerting-and-slo-checklist.md +87 -0
  188. package/workflows/powers/observability/references/opentelemetry-setup-guide.md +121 -0
  189. package/workflows/powers/openai-docs/POWER.md +61 -0
  190. package/workflows/powers/openai-docs/SKILL.md +58 -0
  191. package/workflows/powers/openai-docs/references/official-source-playbook.md +10 -0
  192. package/workflows/powers/performance-profiling/POWER.md +61 -114
  193. package/workflows/powers/performance-profiling/SKILL.md +61 -114
  194. package/workflows/powers/php-pro/POWER.md +116 -0
  195. package/workflows/powers/php-pro/SKILL.md +113 -0
  196. package/workflows/powers/php-pro/references/architecture-and-di.md +239 -0
  197. package/workflows/powers/php-pro/references/modern-php-features.md +189 -0
  198. package/workflows/powers/php-pro/references/performance-and-deployment.md +197 -0
  199. package/workflows/powers/php-pro/references/php84-strict-typing-checklist.md +161 -0
  200. package/workflows/powers/php-pro/references/testing-and-static-analysis.md +235 -0
  201. package/workflows/powers/playwright-e2e/POWER.md +85 -0
  202. package/workflows/powers/playwright-e2e/SKILL.md +82 -0
  203. package/workflows/powers/playwright-e2e/references/locator-trace-flake-checklist.md +80 -0
  204. package/workflows/powers/postgres/POWER.md +67 -0
  205. package/workflows/powers/postgres/SKILL.md +64 -0
  206. package/workflows/powers/postgres/references/postgres-checklist.md +20 -0
  207. package/workflows/powers/prompt-engineer/POWER.md +47 -30
  208. package/workflows/powers/prompt-engineer/SKILL.md +47 -30
  209. package/workflows/powers/python-pro/POWER.md +47 -36
  210. package/workflows/powers/python-pro/SKILL.md +47 -36
  211. package/workflows/powers/react-best-practices/POWER.md +56 -33
  212. package/workflows/powers/react-best-practices/SKILL.md +56 -33
  213. package/workflows/powers/react-expert/POWER.md +47 -37
  214. package/workflows/powers/react-expert/SKILL.md +47 -37
  215. package/workflows/powers/redis/POWER.md +67 -0
  216. package/workflows/powers/redis/SKILL.md +64 -0
  217. package/workflows/powers/redis/references/redis-checklist.md +19 -0
  218. package/workflows/powers/ruby-pro/POWER.md +118 -0
  219. package/workflows/powers/ruby-pro/SKILL.md +115 -0
  220. package/workflows/powers/ruby-pro/references/modern-ruby-features.md +189 -0
  221. package/workflows/powers/ruby-pro/references/object-design-patterns.md +220 -0
  222. package/workflows/powers/ruby-pro/references/performance-and-profiling.md +224 -0
  223. package/workflows/powers/ruby-pro/references/ruby-concurrency-and-testing.md +190 -0
  224. package/workflows/powers/ruby-pro/references/testing-and-rspec.md +236 -0
  225. package/workflows/powers/rust-pro/POWER.md +45 -31
  226. package/workflows/powers/rust-pro/SKILL.md +45 -31
  227. package/workflows/powers/security-engineer/POWER.md +129 -0
  228. package/workflows/powers/security-engineer/SKILL.md +126 -0
  229. package/workflows/powers/seo-fundamentals/POWER.md +59 -102
  230. package/workflows/powers/seo-fundamentals/SKILL.md +59 -102
  231. package/workflows/powers/serverless-patterns/POWER.md +171 -0
  232. package/workflows/powers/serverless-patterns/SKILL.md +168 -0
  233. package/workflows/powers/skill-creator/POWER.md +90 -0
  234. package/workflows/powers/skill-creator/SKILL.md +87 -0
  235. package/workflows/powers/skill-creator/references/platform-formats.md +181 -0
  236. package/workflows/powers/skill-creator/references/schemas.md +430 -0
  237. package/workflows/powers/spec-miner/POWER.md +49 -57
  238. package/workflows/powers/spec-miner/SKILL.md +49 -57
  239. package/workflows/powers/sqlite/POWER.md +67 -0
  240. package/workflows/powers/sqlite/SKILL.md +64 -0
  241. package/workflows/powers/sqlite/references/sqlite-checklist.md +19 -0
  242. package/workflows/powers/sre-engineer/POWER.md +123 -64
  243. package/workflows/powers/sre-engineer/SKILL.md +123 -64
  244. package/workflows/powers/static-analysis/POWER.md +121 -77
  245. package/workflows/powers/static-analysis/SKILL.md +121 -77
  246. package/workflows/powers/stripe-best-practices/POWER.md +140 -17
  247. package/workflows/powers/stripe-best-practices/SKILL.md +139 -17
  248. package/workflows/powers/supabase/POWER.md +67 -0
  249. package/workflows/powers/supabase/SKILL.md +64 -0
  250. package/workflows/powers/supabase/references/supabase-checklist.md +19 -0
  251. package/workflows/powers/swift-pro/POWER.md +118 -0
  252. package/workflows/powers/swift-pro/SKILL.md +115 -0
  253. package/workflows/powers/swift-pro/references/concurrency-patterns.md +165 -0
  254. package/workflows/powers/swift-pro/references/protocol-and-generics.md +172 -0
  255. package/workflows/powers/swift-pro/references/sendable-and-isolation.md +116 -0
  256. package/workflows/powers/swift-pro/references/swift-concurrency-and-protocols.md +260 -0
  257. package/workflows/powers/swift-pro/references/testing-and-packages.md +192 -0
  258. package/workflows/powers/tailwind-patterns/POWER.md +71 -240
  259. package/workflows/powers/tailwind-patterns/SKILL.md +71 -240
  260. package/workflows/powers/testing-patterns/POWER.md +155 -10
  261. package/workflows/powers/testing-patterns/SKILL.md +155 -10
  262. package/workflows/powers/typescript-pro/POWER.md +47 -38
  263. package/workflows/powers/typescript-pro/SKILL.md +47 -38
  264. package/workflows/powers/vitess/POWER.md +67 -0
  265. package/workflows/powers/vitess/SKILL.md +64 -0
  266. package/workflows/powers/vitess/references/vitess-checklist.md +19 -0
  267. package/workflows/powers/vulnerability-scanner/POWER.md +146 -10
  268. package/workflows/powers/vulnerability-scanner/SKILL.md +146 -10
  269. package/workflows/powers/web-perf/POWER.md +43 -170
  270. package/workflows/powers/web-perf/SKILL.md +43 -170
  271. package/workflows/powers/webapp-testing/POWER.md +43 -164
  272. package/workflows/powers/webapp-testing/SKILL.md +43 -164
  273. package/workflows/skills/agent-design/SKILL.md +198 -0
  274. package/workflows/skills/agent-design/references/clarification-patterns.md +153 -0
  275. package/workflows/skills/agent-design/references/skill-testing.md +164 -0
  276. package/workflows/skills/agent-design/references/workflow-patterns.md +226 -0
  277. package/workflows/skills/deep-research/SKILL.md +25 -20
  278. package/workflows/skills/deep-research/references/multi-round-research-loop.md +73 -8
  279. package/workflows/skills/frontend-design/SKILL.md +37 -32
  280. package/workflows/skills/frontend-design/commands/brand.md +167 -0
  281. package/workflows/skills/frontend-design/references/brand-presets.md +228 -0
  282. package/workflows/skills/generated/skill-audit.json +11 -2
  283. package/workflows/skills/generated/skill-catalog.json +37 -5
  284. package/workflows/skills/skills_index.json +1 -1
  285. package/workflows/workflows/agent-environment-setup/platforms/claude/skills/agent-design/SKILL.md +198 -0
  286. package/workflows/workflows/agent-environment-setup/platforms/claude/skills/agent-design/references/clarification-patterns.md +153 -0
  287. package/workflows/workflows/agent-environment-setup/platforms/claude/skills/agent-design/references/skill-testing.md +164 -0
  288. package/workflows/workflows/agent-environment-setup/platforms/claude/skills/agent-design/references/workflow-patterns.md +226 -0
  289. package/workflows/workflows/agent-environment-setup/platforms/claude/skills/deep-research/SKILL.md +25 -20
  290. package/workflows/workflows/agent-environment-setup/platforms/claude/skills/deep-research/references/multi-round-research-loop.md +73 -8
  291. package/workflows/workflows/agent-environment-setup/platforms/claude/skills/frontend-design/SKILL.md +37 -32
  292. package/workflows/workflows/agent-environment-setup/platforms/claude/skills/frontend-design/commands/brand.md +167 -0
  293. package/workflows/workflows/agent-environment-setup/platforms/claude/skills/frontend-design/references/brand-presets.md +228 -0
  294. package/workflows/workflows/agent-environment-setup/platforms/claude/skills/skills_index.json +1 -1
  295. package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/agent-design/SKILL.md +197 -0
  296. package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/agent-design/references/clarification-patterns.md +153 -0
  297. package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/agent-design/references/skill-testing.md +164 -0
  298. package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/agent-design/references/workflow-patterns.md +226 -0
  299. package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/deep-research/SKILL.md +25 -20
  300. package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/deep-research/references/multi-round-research-loop.md +73 -8
  301. package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/frontend-design/SKILL.md +37 -32
  302. package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/frontend-design/commands/brand.md +167 -0
  303. package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/frontend-design/references/brand-presets.md +228 -0
  304. package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/skills_index.json +1 -1
@@ -1,59 +1,69 @@
1
1
  ````markdown
2
2
  ---
3
3
  inclusion: manual
4
- name: "react-expert"
5
- description: "Use for framework-agnostic React architecture with React 19 patterns, state design, and performance tuning."
4
+ name: react-expert
5
+ description: "Use for framework-agnostic React architecture with React 19 patterns, state design, component boundaries, and rendering-performance decisions."
6
6
  license: MIT
7
7
  metadata:
8
- version: "2.0.0"
9
- domain: "frontend"
10
- role: "specialist"
11
- stack: "react"
12
- baseline: "React 19"
8
+ author: cubis-foundry
9
+ version: "3.0"
10
+ compatibility: Claude Code, Codex, GitHub Copilot
13
11
  ---
14
12
 
15
13
  # React Expert
16
14
 
17
- ## Scope
15
+ ## Purpose
18
16
 
19
- - Use this for React component and state architecture.
20
- - Use `nextjs-developer` for Next.js routing/App Router specifics.
17
+ Use for framework-agnostic React architecture with React 19 patterns, state design, component boundaries, and rendering-performance decisions.
21
18
 
22
- ## When to use
19
+ ## When to Use
23
20
 
24
- - Building reusable component systems.
25
- - Designing local/shared/remote state boundaries.
26
- - Refactoring for rendering performance.
27
- - Implementing robust form and async UI flows.
21
+ - Designing reusable component and state boundaries.
22
+ - Refactoring React code for predictable rendering and side-effect control.
23
+ - Choosing local, shared, server, or async UI state placement.
24
+ - Reviewing hooks, forms, transitions, and accessibility-sensitive UI flows.
28
25
 
29
- ## Core workflow
26
+ ## Instructions
30
27
 
31
- 1. Model component responsibilities and ownership boundaries.
32
- 2. Decide state location and mutation strategy.
33
- 3. Implement with accessible markup and predictable effects.
34
- 4. Measure rerender behavior before applying memoization.
35
- 5. Validate with component and interaction tests.
28
+ 1. Define component ownership and server/client boundaries first.
29
+ 2. Place state at the lowest level that preserves correctness.
30
+ 3. Keep effects explicit, idempotent, and cleanup-safe.
31
+ 4. Profile rerender behavior before reaching for memoization.
32
+ 5. Validate accessible interaction states and error/loading behavior.
36
33
 
37
- ## Baseline standards
34
+ ### Baseline standards
38
35
 
39
- - Prefer pure render logic and explicit side-effect boundaries.
40
- - Use transitions/suspense intentionally for UX.
41
- - Keep effects idempotent and cleanup-safe.
36
+ - Prefer pure render logic and explicit mutation boundaries.
42
37
  - Derive state instead of duplicating it.
43
- - Keep mutation logic centralized when state grows.
38
+ - Use transitions and suspense intentionally for UX, not fashion.
39
+ - Keep form and async flows predictable.
40
+ - Pair implementation with focused component or interaction tests.
44
41
 
45
- ## Avoid
42
+ ### Constraints
46
43
 
47
- - Blanket memoization without profiling evidence.
48
- - Effect-driven derived state loops.
49
- - Hidden shared mutable module state.
44
+ - Avoid blanket memoization with no evidence.
45
+ - Avoid effect-driven derived-state loops.
46
+ - Avoid hidden shared mutable module state.
47
+ - Avoid client-only patterns when server rendering would simplify the surface.
50
48
 
51
- ## Reference files
49
+ ## Output Format
52
50
 
53
- - `references/react-19-features.md`
54
- - `references/hooks-patterns.md`
55
- - `references/state-management.md`
56
- - `references/performance.md`
57
- - `references/testing-react.md`
58
- - `references/server-components.md`
51
+ Provide implementation guidance, code examples, and configuration as appropriate to the task.
52
+
53
+ ## References
54
+
55
+ Load on demand. Do not preload all reference files.
56
+
57
+ | File | Load when |
58
+ | --- | --- |
59
+ | `references/rendering-state-checklist.md` | The task needs a deeper playbook for state placement, effect discipline, rendering cost, and interaction-level verification. |
60
+
61
+ ## Scripts
62
+
63
+ No helper scripts are required for this skill right now. Keep execution in `SKILL.md` and `references/` unless repeated automation becomes necessary.
64
+
65
+ ## Examples
66
+
67
+ - "Help me with react expert best practices in this project"
68
+ - "Review my react expert implementation for issues"
59
69
  ````
@@ -1,56 +1,66 @@
1
1
  ---
2
- name: "react-expert"
3
- description: "Use for framework-agnostic React architecture with React 19 patterns, state design, and performance tuning."
2
+ name: react-expert
3
+ description: "Use for framework-agnostic React architecture with React 19 patterns, state design, component boundaries, and rendering-performance decisions."
4
4
  license: MIT
5
5
  metadata:
6
- version: "2.0.0"
7
- domain: "frontend"
8
- role: "specialist"
9
- stack: "react"
10
- baseline: "React 19"
6
+ author: cubis-foundry
7
+ version: "3.0"
8
+ compatibility: Claude Code, Codex, GitHub Copilot
11
9
  ---
12
10
 
13
11
  # React Expert
14
12
 
15
- ## Scope
13
+ ## Purpose
16
14
 
17
- - Use this for React component and state architecture.
18
- - Use `nextjs-developer` for Next.js routing/App Router specifics.
15
+ Use for framework-agnostic React architecture with React 19 patterns, state design, component boundaries, and rendering-performance decisions.
19
16
 
20
- ## When to use
17
+ ## When to Use
21
18
 
22
- - Building reusable component systems.
23
- - Designing local/shared/remote state boundaries.
24
- - Refactoring for rendering performance.
25
- - Implementing robust form and async UI flows.
19
+ - Designing reusable component and state boundaries.
20
+ - Refactoring React code for predictable rendering and side-effect control.
21
+ - Choosing local, shared, server, or async UI state placement.
22
+ - Reviewing hooks, forms, transitions, and accessibility-sensitive UI flows.
26
23
 
27
- ## Core workflow
24
+ ## Instructions
28
25
 
29
- 1. Model component responsibilities and ownership boundaries.
30
- 2. Decide state location and mutation strategy.
31
- 3. Implement with accessible markup and predictable effects.
32
- 4. Measure rerender behavior before applying memoization.
33
- 5. Validate with component and interaction tests.
26
+ 1. Define component ownership and server/client boundaries first.
27
+ 2. Place state at the lowest level that preserves correctness.
28
+ 3. Keep effects explicit, idempotent, and cleanup-safe.
29
+ 4. Profile rerender behavior before reaching for memoization.
30
+ 5. Validate accessible interaction states and error/loading behavior.
34
31
 
35
- ## Baseline standards
32
+ ### Baseline standards
36
33
 
37
- - Prefer pure render logic and explicit side-effect boundaries.
38
- - Use transitions/suspense intentionally for UX.
39
- - Keep effects idempotent and cleanup-safe.
34
+ - Prefer pure render logic and explicit mutation boundaries.
40
35
  - Derive state instead of duplicating it.
41
- - Keep mutation logic centralized when state grows.
36
+ - Use transitions and suspense intentionally for UX, not fashion.
37
+ - Keep form and async flows predictable.
38
+ - Pair implementation with focused component or interaction tests.
42
39
 
43
- ## Avoid
40
+ ### Constraints
44
41
 
45
- - Blanket memoization without profiling evidence.
46
- - Effect-driven derived state loops.
47
- - Hidden shared mutable module state.
42
+ - Avoid blanket memoization with no evidence.
43
+ - Avoid effect-driven derived-state loops.
44
+ - Avoid hidden shared mutable module state.
45
+ - Avoid client-only patterns when server rendering would simplify the surface.
48
46
 
49
- ## Reference files
47
+ ## Output Format
50
48
 
51
- - `references/react-19-features.md`
52
- - `references/hooks-patterns.md`
53
- - `references/state-management.md`
54
- - `references/performance.md`
55
- - `references/testing-react.md`
56
- - `references/server-components.md`
49
+ Provide implementation guidance, code examples, and configuration as appropriate to the task.
50
+
51
+ ## References
52
+
53
+ Load on demand. Do not preload all reference files.
54
+
55
+ | File | Load when |
56
+ | --- | --- |
57
+ | `references/rendering-state-checklist.md` | The task needs a deeper playbook for state placement, effect discipline, rendering cost, and interaction-level verification. |
58
+
59
+ ## Scripts
60
+
61
+ No helper scripts are required for this skill right now. Keep execution in `SKILL.md` and `references/` unless repeated automation becomes necessary.
62
+
63
+ ## Examples
64
+
65
+ - "Help me with react expert best practices in this project"
66
+ - "Review my react expert implementation for issues"
@@ -0,0 +1,67 @@
1
+ ````markdown
2
+ ---
3
+ inclusion: manual
4
+ name: redis
5
+ description: "Use when the task is specifically Redis: cache design, key strategy, TTLs, queues, rate limiting, pub/sub, memory tradeoffs, and safe persistence or eviction decisions."
6
+ license: MIT
7
+ metadata:
8
+ author: cubis-foundry
9
+ version: "3.0"
10
+ compatibility: Claude Code, Codex, GitHub Copilot
11
+ ---
12
+
13
+ # Redis
14
+
15
+ ## Purpose
16
+
17
+ Use when the task is specifically Redis: cache design, key strategy, TTLs, queues, rate limiting, pub/sub, memory tradeoffs, and safe persistence or eviction decisions.
18
+
19
+ ## When to Use
20
+
21
+ - The task is specifically about Redis for cache, coordination, queue, rate-limit, or ephemeral data behavior.
22
+ - You need Redis-aware key design, TTL, eviction, persistence, or memory guidance.
23
+ - The workload depends on Redis data structures or latency-sensitive read paths.
24
+
25
+ ## Instructions
26
+
27
+ 1. Confirm whether Redis is cache, queue, coordination layer, or primary transient store.
28
+ 2. Define key shape, TTL, invalidation, and cardinality expectations explicitly.
29
+ 3. Choose the smallest data structure and persistence posture that fits the workload.
30
+ 4. Check memory pressure, eviction, hot-key risk, and failure behavior.
31
+ 5. Validate correctness under cache misses, stale data, and failover.
32
+
33
+ ### Baseline standards
34
+
35
+ - Treat invalidation and staleness as design work, not cleanup.
36
+ - Prefer simple keys and clear TTL policy.
37
+ - Make persistence and recovery expectations explicit.
38
+ - Use Redis to reduce latency or coordination cost, not to hide data-model ambiguity.
39
+
40
+ ### Constraints
41
+
42
+ - Avoid permanent business truth in cache without justification.
43
+ - Avoid unbounded key growth or missing TTL strategy.
44
+ - Avoid complex Lua or multi-step logic where simpler patterns would suffice.
45
+ - Avoid ignoring eviction behavior in production planning.
46
+
47
+ ## Output Format
48
+
49
+ Provide implementation guidance, code examples, and configuration as appropriate to the task.
50
+
51
+ ## References
52
+
53
+ Load on demand. Do not preload all reference files.
54
+
55
+ | File | Load when |
56
+ | --- | --- |
57
+ | `references/redis-checklist.md` | You need a deeper Redis playbook for keys, TTL, invalidation, eviction, queues, and persistence tradeoffs. |
58
+
59
+ ## Scripts
60
+
61
+ No helper scripts are required for this skill right now. Keep execution in `SKILL.md` and `references/` unless repeated automation becomes necessary.
62
+
63
+ ## Examples
64
+
65
+ - "Help me with redis best practices in this project"
66
+ - "Review my redis implementation for issues"
67
+ ````
@@ -0,0 +1,64 @@
1
+ ---
2
+ name: redis
3
+ description: "Use when the task is specifically Redis: cache design, key strategy, TTLs, queues, rate limiting, pub/sub, memory tradeoffs, and safe persistence or eviction decisions."
4
+ license: MIT
5
+ metadata:
6
+ author: cubis-foundry
7
+ version: "3.0"
8
+ compatibility: Claude Code, Codex, GitHub Copilot
9
+ ---
10
+
11
+ # Redis
12
+
13
+ ## Purpose
14
+
15
+ Use when the task is specifically Redis: cache design, key strategy, TTLs, queues, rate limiting, pub/sub, memory tradeoffs, and safe persistence or eviction decisions.
16
+
17
+ ## When to Use
18
+
19
+ - The task is specifically about Redis for cache, coordination, queue, rate-limit, or ephemeral data behavior.
20
+ - You need Redis-aware key design, TTL, eviction, persistence, or memory guidance.
21
+ - The workload depends on Redis data structures or latency-sensitive read paths.
22
+
23
+ ## Instructions
24
+
25
+ 1. Confirm whether Redis is cache, queue, coordination layer, or primary transient store.
26
+ 2. Define key shape, TTL, invalidation, and cardinality expectations explicitly.
27
+ 3. Choose the smallest data structure and persistence posture that fits the workload.
28
+ 4. Check memory pressure, eviction, hot-key risk, and failure behavior.
29
+ 5. Validate correctness under cache misses, stale data, and failover.
30
+
31
+ ### Baseline standards
32
+
33
+ - Treat invalidation and staleness as design work, not cleanup.
34
+ - Prefer simple keys and clear TTL policy.
35
+ - Make persistence and recovery expectations explicit.
36
+ - Use Redis to reduce latency or coordination cost, not to hide data-model ambiguity.
37
+
38
+ ### Constraints
39
+
40
+ - Avoid permanent business truth in cache without justification.
41
+ - Avoid unbounded key growth or missing TTL strategy.
42
+ - Avoid complex Lua or multi-step logic where simpler patterns would suffice.
43
+ - Avoid ignoring eviction behavior in production planning.
44
+
45
+ ## Output Format
46
+
47
+ Provide implementation guidance, code examples, and configuration as appropriate to the task.
48
+
49
+ ## References
50
+
51
+ Load on demand. Do not preload all reference files.
52
+
53
+ | File | Load when |
54
+ | --- | --- |
55
+ | `references/redis-checklist.md` | You need a deeper Redis playbook for keys, TTL, invalidation, eviction, queues, and persistence tradeoffs. |
56
+
57
+ ## Scripts
58
+
59
+ No helper scripts are required for this skill right now. Keep execution in `SKILL.md` and `references/` unless repeated automation becomes necessary.
60
+
61
+ ## Examples
62
+
63
+ - "Help me with redis best practices in this project"
64
+ - "Review my redis implementation for issues"
@@ -0,0 +1,19 @@
1
+ # Redis Checklist
2
+
3
+ Load this when Redis-specific tradeoffs matter.
4
+
5
+ ## Data purpose
6
+
7
+ - Confirm whether Redis is cache, queue, coordination layer, or transient store.
8
+ - Keep the system of record explicit.
9
+
10
+ ## Keys and TTL
11
+
12
+ - Design keys, namespaces, and cardinality deliberately.
13
+ - Make TTL and invalidation policy explicit.
14
+ - Check hot keys and unbounded growth risk.
15
+
16
+ ## Operations
17
+
18
+ - Choose persistence and eviction posture intentionally.
19
+ - Re-check failure behavior, stale data handling, and cache miss correctness.
@@ -0,0 +1,118 @@
1
+ ````markdown
2
+ ---
3
+ inclusion: manual
4
+ name: ruby-pro
5
+ description: "Use for modern Ruby 3.4-era backend, scripting, and application engineering with clear object boundaries, concurrency awareness, and test discipline."
6
+ license: MIT
7
+ metadata:
8
+ author: cubis-foundry
9
+ version: "2.0"
10
+ compatibility: Claude Code, Codex, GitHub Copilot
11
+ ---
12
+
13
+ # Ruby Pro
14
+
15
+ ## Purpose
16
+
17
+ Use for modern Ruby 3.4-era backend, scripting, and application engineering with clear object boundaries, concurrency awareness, and test discipline.
18
+
19
+ ## When to Use
20
+
21
+ - Building or refactoring Ruby services, scripts, or app-layer code.
22
+ - Clarifying object boundaries, service layers, and package structure.
23
+ - Improving background jobs, test coverage, and runtime safety.
24
+
25
+ ## Instructions
26
+
27
+ 1. Confirm runtime and app structure before editing.
28
+ 2. Keep object responsibilities small and explicit.
29
+ 3. Prefer clear data flow over callback-heavy indirection.
30
+ 4. Make concurrency, I/O, and retries explicit when present.
31
+ 5. Validate with focused tests and dependency-aware Bundler hygiene.
32
+
33
+ ### Baseline standards
34
+
35
+ - Use Ruby 3.4+ features: pattern matching (`in`/`=>` patterns), Data classes, and frozen string literals.
36
+ - Add `# frozen_string_literal: true` to every file. Mutable strings must be explicit (`String.new` or `.dup`).
37
+ - Run RuboCop in CI with project-specific `.rubocop.yml`. Treat offenses as build failures.
38
+ - Use Sorbet or RBS type signatures at module boundaries for large codebases.
39
+ - Pin gems to exact versions in `Gemfile.lock`. Run `bundle audit` in CI for vulnerability checks.
40
+
41
+ ### Object design
42
+
43
+ - Keep classes focused on a single responsibility. Extract service objects, value objects, and query objects.
44
+ - Prefer composition over inheritance. Use modules for shared behavior, not deep class hierarchies.
45
+ - Use `Data.define` (Ruby 3.2+) for immutable value objects instead of `Struct` or `OpenStruct`.
46
+ - Use pattern matching with `case`/`in` for structured data decomposition.
47
+ - Make method visibility explicit (`public`, `private`, `protected`). Default to private.
48
+
49
+ ### Concurrency
50
+
51
+ - Use Ractors for CPU-bound parallelism that needs true thread safety.
52
+ - Use Fibers and `Async` gem for I/O-bound concurrency within a single thread.
53
+ - Use thread-safe data structures (`Queue`, `Mutex`, `Monitor`) when sharing state across threads.
54
+ - Background jobs (Sidekiq, GoodJob) are the preferred pattern for async work in web apps.
55
+ - Never share mutable state between Ractors — pass messages or use shareable frozen objects.
56
+
57
+ ### Error handling
58
+
59
+ - Rescue specific exceptions, not bare `rescue` or `rescue Exception`.
60
+ - Use custom exception classes per failure domain. Include context in the error message.
61
+ - Prefer returning result objects (Success/Failure) for expected failures over exception-based control flow.
62
+ - Always re-raise or log rescued exceptions — never swallow errors silently.
63
+
64
+ ### Testing
65
+
66
+ - Use RSpec or Minitest. Keep test files mirroring the source structure.
67
+ - Use `let`, `subject`, and `context` blocks for readable test organization in RSpec.
68
+ - Mock external dependencies (HTTP, databases, file I/O) — test business logic in isolation.
69
+ - Use FactoryBot or fixtures for test data. Never depend on production database state.
70
+ - Run tests with SimpleCov for coverage reporting. Focus on meaningful coverage over percentage targets.
71
+
72
+ ### Performance
73
+
74
+ - Profile with `ruby-prof`, `stackprof`, or `memory_profiler` before optimizing.
75
+ - Use `Enumerable` methods (`map`, `select`, `reduce`) over manual loops. They express intent clearly.
76
+ - Prefer `freeze` on constants and frequently reused strings to reduce object allocations.
77
+ - Use connection pooling for database connections. Never create connections per-request.
78
+ - Cache expensive computations with `Rails.cache`, `Dalli`, or application-level memoization.
79
+
80
+ ### Bundler hygiene
81
+
82
+ - Group gems by purpose in `Gemfile`: `:development`, `:test`, `:production`.
83
+ - Run `bundle outdated` regularly. Update gems in small batches with test verification.
84
+ - Audit gems with `bundle audit` before deploy. Block deploys on critical vulnerabilities.
85
+ - Prefer gems with active maintainers and recent releases. Avoid abandoned gems.
86
+
87
+ ### Constraints
88
+
89
+ - Avoid `method_missing` without `respond_to_missing?` — makes debugging impossible.
90
+ - Avoid `eval` and `instance_eval` with user input — injection risk.
91
+ - Avoid `OpenStruct` in production code — slow, no type safety, memory-heavy.
92
+ - Avoid monkey-patching core classes — use Refinements instead when behavior extension is needed.
93
+ - Avoid bare `rescue` without exception class — catches everything including `SystemExit`.
94
+ - Avoid deep callback chains (Rails `before_action`, `after_commit`) — make control flow invisible.
95
+
96
+ ## Output Format
97
+
98
+ Provide implementation guidance, code examples, and configuration as appropriate to the task.
99
+
100
+ ## References
101
+
102
+ | File | Load when |
103
+ | -------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- |
104
+ | `references/ruby-concurrency-and-testing.md` | Concurrency patterns (Ractors, Fibers, Async), testing strategy, or gem dependency audit is needed. |
105
+ | `references/modern-ruby-features.md` | You need pattern matching, Data.define, numbered block parameters, endless ranges, or deconstruct patterns. |
106
+ | `references/object-design-patterns.md` | You need service objects, value objects, query objects, result monads, or composition-over-inheritance patterns. |
107
+ | `references/testing-and-rspec.md` | You need RSpec patterns, shared examples, request specs, FactoryBot strategies, or SimpleCov CI setup. |
108
+ | `references/performance-and-profiling.md` | You need profiling with stackprof/ruby-prof, memory analysis, GC tuning, Yjit, or caching strategies. |
109
+
110
+ ## Scripts
111
+
112
+ No helper scripts are required for this skill right now. Keep execution in `SKILL.md` and `references/` unless repeated automation becomes necessary.
113
+
114
+ ## Examples
115
+
116
+ - "Help me with ruby pro best practices in this project"
117
+ - "Review my ruby pro implementation for issues"
118
+ ````
@@ -0,0 +1,115 @@
1
+ ---
2
+ name: ruby-pro
3
+ description: "Use for modern Ruby 3.4-era backend, scripting, and application engineering with clear object boundaries, concurrency awareness, and test discipline."
4
+ license: MIT
5
+ metadata:
6
+ author: cubis-foundry
7
+ version: "2.0"
8
+ compatibility: Claude Code, Codex, GitHub Copilot
9
+ ---
10
+
11
+ # Ruby Pro
12
+
13
+ ## Purpose
14
+
15
+ Use for modern Ruby 3.4-era backend, scripting, and application engineering with clear object boundaries, concurrency awareness, and test discipline.
16
+
17
+ ## When to Use
18
+
19
+ - Building or refactoring Ruby services, scripts, or app-layer code.
20
+ - Clarifying object boundaries, service layers, and package structure.
21
+ - Improving background jobs, test coverage, and runtime safety.
22
+
23
+ ## Instructions
24
+
25
+ 1. Confirm runtime and app structure before editing.
26
+ 2. Keep object responsibilities small and explicit.
27
+ 3. Prefer clear data flow over callback-heavy indirection.
28
+ 4. Make concurrency, I/O, and retries explicit when present.
29
+ 5. Validate with focused tests and dependency-aware Bundler hygiene.
30
+
31
+ ### Baseline standards
32
+
33
+ - Use Ruby 3.4+ features: pattern matching (`in`/`=>` patterns), Data classes, and frozen string literals.
34
+ - Add `# frozen_string_literal: true` to every file. Mutable strings must be explicit (`String.new` or `.dup`).
35
+ - Run RuboCop in CI with project-specific `.rubocop.yml`. Treat offenses as build failures.
36
+ - Use Sorbet or RBS type signatures at module boundaries for large codebases.
37
+ - Pin gems to exact versions in `Gemfile.lock`. Run `bundle audit` in CI for vulnerability checks.
38
+
39
+ ### Object design
40
+
41
+ - Keep classes focused on a single responsibility. Extract service objects, value objects, and query objects.
42
+ - Prefer composition over inheritance. Use modules for shared behavior, not deep class hierarchies.
43
+ - Use `Data.define` (Ruby 3.2+) for immutable value objects instead of `Struct` or `OpenStruct`.
44
+ - Use pattern matching with `case`/`in` for structured data decomposition.
45
+ - Make method visibility explicit (`public`, `private`, `protected`). Default to private.
46
+
47
+ ### Concurrency
48
+
49
+ - Use Ractors for CPU-bound parallelism that needs true thread safety.
50
+ - Use Fibers and `Async` gem for I/O-bound concurrency within a single thread.
51
+ - Use thread-safe data structures (`Queue`, `Mutex`, `Monitor`) when sharing state across threads.
52
+ - Background jobs (Sidekiq, GoodJob) are the preferred pattern for async work in web apps.
53
+ - Never share mutable state between Ractors — pass messages or use shareable frozen objects.
54
+
55
+ ### Error handling
56
+
57
+ - Rescue specific exceptions, not bare `rescue` or `rescue Exception`.
58
+ - Use custom exception classes per failure domain. Include context in the error message.
59
+ - Prefer returning result objects (Success/Failure) for expected failures over exception-based control flow.
60
+ - Always re-raise or log rescued exceptions — never swallow errors silently.
61
+
62
+ ### Testing
63
+
64
+ - Use RSpec or Minitest. Keep test files mirroring the source structure.
65
+ - Use `let`, `subject`, and `context` blocks for readable test organization in RSpec.
66
+ - Mock external dependencies (HTTP, databases, file I/O) — test business logic in isolation.
67
+ - Use FactoryBot or fixtures for test data. Never depend on production database state.
68
+ - Run tests with SimpleCov for coverage reporting. Focus on meaningful coverage over percentage targets.
69
+
70
+ ### Performance
71
+
72
+ - Profile with `ruby-prof`, `stackprof`, or `memory_profiler` before optimizing.
73
+ - Use `Enumerable` methods (`map`, `select`, `reduce`) over manual loops. They express intent clearly.
74
+ - Prefer `freeze` on constants and frequently reused strings to reduce object allocations.
75
+ - Use connection pooling for database connections. Never create connections per-request.
76
+ - Cache expensive computations with `Rails.cache`, `Dalli`, or application-level memoization.
77
+
78
+ ### Bundler hygiene
79
+
80
+ - Group gems by purpose in `Gemfile`: `:development`, `:test`, `:production`.
81
+ - Run `bundle outdated` regularly. Update gems in small batches with test verification.
82
+ - Audit gems with `bundle audit` before deploy. Block deploys on critical vulnerabilities.
83
+ - Prefer gems with active maintainers and recent releases. Avoid abandoned gems.
84
+
85
+ ### Constraints
86
+
87
+ - Avoid `method_missing` without `respond_to_missing?` — makes debugging impossible.
88
+ - Avoid `eval` and `instance_eval` with user input — injection risk.
89
+ - Avoid `OpenStruct` in production code — slow, no type safety, memory-heavy.
90
+ - Avoid monkey-patching core classes — use Refinements instead when behavior extension is needed.
91
+ - Avoid bare `rescue` without exception class — catches everything including `SystemExit`.
92
+ - Avoid deep callback chains (Rails `before_action`, `after_commit`) — make control flow invisible.
93
+
94
+ ## Output Format
95
+
96
+ Provide implementation guidance, code examples, and configuration as appropriate to the task.
97
+
98
+ ## References
99
+
100
+ | File | Load when |
101
+ | -------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- |
102
+ | `references/ruby-concurrency-and-testing.md` | Concurrency patterns (Ractors, Fibers, Async), testing strategy, or gem dependency audit is needed. |
103
+ | `references/modern-ruby-features.md` | You need pattern matching, Data.define, numbered block parameters, endless ranges, or deconstruct patterns. |
104
+ | `references/object-design-patterns.md` | You need service objects, value objects, query objects, result monads, or composition-over-inheritance patterns. |
105
+ | `references/testing-and-rspec.md` | You need RSpec patterns, shared examples, request specs, FactoryBot strategies, or SimpleCov CI setup. |
106
+ | `references/performance-and-profiling.md` | You need profiling with stackprof/ruby-prof, memory analysis, GC tuning, Yjit, or caching strategies. |
107
+
108
+ ## Scripts
109
+
110
+ No helper scripts are required for this skill right now. Keep execution in `SKILL.md` and `references/` unless repeated automation becomes necessary.
111
+
112
+ ## Examples
113
+
114
+ - "Help me with ruby pro best practices in this project"
115
+ - "Review my ruby pro implementation for issues"