@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.
- package/CHANGELOG.md +15 -0
- package/dist/cli/core.js +4 -18
- package/dist/cli/core.js.map +1 -1
- package/package.json +1 -1
- package/src/cli/core.ts +4 -18
- package/workflows/powers/accessibility/POWER.md +83 -94
- package/workflows/powers/accessibility/SKILL.md +82 -94
- package/workflows/powers/agent-design/POWER.md +201 -0
- package/workflows/powers/agent-design/SKILL.md +198 -0
- package/workflows/powers/agent-design/references/clarification-patterns.md +153 -0
- package/workflows/powers/agent-design/references/skill-testing.md +164 -0
- package/workflows/powers/agent-design/references/workflow-patterns.md +226 -0
- package/workflows/powers/agentic-eval/POWER.md +62 -0
- package/workflows/powers/agentic-eval/SKILL.md +59 -0
- package/workflows/powers/agentic-eval/references/rubric-and-regression-checklist.md +11 -0
- package/workflows/powers/api-designer/POWER.md +43 -71
- package/workflows/powers/api-designer/SKILL.md +43 -71
- package/workflows/powers/api-patterns/POWER.md +42 -56
- package/workflows/powers/api-patterns/SKILL.md +42 -57
- package/workflows/powers/architecture-designer/POWER.md +43 -60
- package/workflows/powers/architecture-designer/SKILL.md +43 -60
- package/workflows/powers/ask-questions-if-underspecified/POWER.md +51 -3
- package/workflows/powers/ask-questions-if-underspecified/SKILL.md +51 -3
- package/workflows/powers/auth-architect/POWER.md +69 -0
- package/workflows/powers/auth-architect/SKILL.md +66 -0
- package/workflows/powers/auth-architect/references/session-token-policy-checklist.md +45 -0
- package/workflows/powers/behavioral-modes/POWER.md +100 -9
- package/workflows/powers/behavioral-modes/SKILL.md +100 -9
- package/workflows/powers/c-pro/POWER.md +105 -0
- package/workflows/powers/c-pro/SKILL.md +102 -0
- package/workflows/powers/c-pro/references/build-systems-and-toolchains.md +148 -0
- package/workflows/powers/c-pro/references/common-ub-and-portability.md +166 -0
- package/workflows/powers/c-pro/references/debugging-with-sanitizers.md +205 -0
- package/workflows/powers/c-pro/references/memory-safety-and-build-checklist.md +60 -0
- package/workflows/powers/c-pro/references/posix-and-platform-apis.md +244 -0
- package/workflows/powers/changelog-generator/POWER.md +127 -63
- package/workflows/powers/changelog-generator/SKILL.md +126 -63
- package/workflows/powers/ci-cd-pipelines/POWER.md +156 -0
- package/workflows/powers/ci-cd-pipelines/SKILL.md +153 -0
- package/workflows/powers/ci-cd-pipelines/references/github-actions-patterns.md +160 -0
- package/workflows/powers/ci-cd-pipelines/references/pipeline-security-checklist.md +57 -0
- package/workflows/powers/cli-developer/POWER.md +152 -95
- package/workflows/powers/cli-developer/SKILL.md +152 -95
- package/workflows/powers/cpp-pro/POWER.md +111 -0
- package/workflows/powers/cpp-pro/SKILL.md +108 -0
- package/workflows/powers/cpp-pro/references/concurrency-primitives.md +266 -0
- package/workflows/powers/cpp-pro/references/move-semantics-and-value-types.md +149 -0
- package/workflows/powers/cpp-pro/references/performance-and-profiling.md +191 -0
- package/workflows/powers/cpp-pro/references/raii-and-modern-cpp-checklist.md +87 -0
- package/workflows/powers/cpp-pro/references/template-and-concepts-patterns.md +205 -0
- package/workflows/powers/csharp-pro/POWER.md +47 -22
- package/workflows/powers/csharp-pro/SKILL.md +47 -22
- package/workflows/powers/dart-pro/POWER.md +68 -0
- package/workflows/powers/dart-pro/SKILL.md +65 -0
- package/workflows/powers/dart-pro/references/isolate-and-concurrency.md +180 -0
- package/workflows/powers/dart-pro/references/null-safety-and-async-patterns.md +133 -0
- package/workflows/powers/dart-pro/references/package-structure-and-linting.md +193 -0
- package/workflows/powers/dart-pro/references/sealed-records-patterns.md +173 -0
- package/workflows/powers/dart-pro/references/testing-and-mocking.md +235 -0
- package/workflows/powers/database-design/POWER.md +47 -33
- package/workflows/powers/database-design/SKILL.md +47 -33
- package/workflows/powers/database-optimizer/POWER.md +43 -64
- package/workflows/powers/database-optimizer/SKILL.md +43 -64
- package/workflows/powers/database-skills/POWER.md +59 -93
- package/workflows/powers/database-skills/SKILL.md +59 -93
- package/workflows/powers/debugging-strategies/POWER.md +69 -0
- package/workflows/powers/debugging-strategies/SKILL.md +66 -0
- package/workflows/powers/debugging-strategies/references/reproduce-isolate-verify-checklist.md +42 -0
- package/workflows/powers/deep-research/POWER.md +67 -0
- package/workflows/powers/deep-research/SKILL.md +64 -0
- package/workflows/powers/deep-research/references/multi-round-research-loop.md +80 -0
- package/workflows/powers/design-system-builder/POWER.md +130 -116
- package/workflows/powers/design-system-builder/SKILL.md +130 -116
- package/workflows/powers/devops-engineer/POWER.md +120 -57
- package/workflows/powers/devops-engineer/SKILL.md +120 -57
- package/workflows/powers/docker-kubernetes/POWER.md +94 -0
- package/workflows/powers/docker-kubernetes/SKILL.md +91 -0
- package/workflows/powers/docker-kubernetes/references/dockerfile-optimization-checklist.md +35 -0
- package/workflows/powers/docker-kubernetes/references/kubernetes-deployment-patterns.md +59 -0
- package/workflows/powers/documentation-templates/POWER.md +158 -127
- package/workflows/powers/documentation-templates/SKILL.md +158 -127
- package/workflows/powers/drizzle-expert/POWER.md +66 -0
- package/workflows/powers/drizzle-expert/SKILL.md +63 -0
- package/workflows/powers/drizzle-expert/references/runtime-pairing-matrix.md +16 -0
- package/workflows/powers/drizzle-expert/references/schema-and-migration-playbook.md +18 -0
- package/workflows/powers/error-ux-observability/POWER.md +144 -131
- package/workflows/powers/error-ux-observability/SKILL.md +143 -131
- package/workflows/powers/fastapi-expert/POWER.md +46 -60
- package/workflows/powers/fastapi-expert/SKILL.md +46 -60
- package/workflows/powers/firebase/POWER.md +65 -0
- package/workflows/powers/firebase/SKILL.md +62 -0
- package/workflows/powers/firebase/references/platform-routing.md +16 -0
- package/workflows/powers/firebase/references/rules-and-indexes-checklist.md +11 -0
- package/workflows/powers/flutter-design-system/POWER.md +63 -0
- package/workflows/powers/flutter-design-system/SKILL.md +60 -0
- package/workflows/powers/flutter-design-system/references/shared-widgets.md +29 -0
- package/workflows/powers/flutter-design-system/references/tokens-and-theme.md +34 -0
- package/workflows/powers/flutter-drift/POWER.md +65 -0
- package/workflows/powers/flutter-drift/SKILL.md +62 -0
- package/workflows/powers/flutter-drift/references/migrations.md +22 -0
- package/workflows/powers/flutter-drift/references/query-patterns.md +26 -0
- package/workflows/powers/flutter-feature/POWER.md +65 -0
- package/workflows/powers/flutter-feature/SKILL.md +62 -0
- package/workflows/powers/flutter-feature/references/architecture-rules.md +85 -0
- package/workflows/powers/flutter-feature/references/composite-provider.md +58 -0
- package/workflows/powers/flutter-feature/references/outbox-pattern.md +87 -0
- package/workflows/powers/flutter-feature/references/testing-patterns.md +218 -0
- package/workflows/powers/flutter-go-router/POWER.md +64 -0
- package/workflows/powers/flutter-go-router/SKILL.md +61 -0
- package/workflows/powers/flutter-go-router/references/guards-and-deeplinks.md +20 -0
- package/workflows/powers/flutter-go-router/references/typed-routes.md +27 -0
- package/workflows/powers/flutter-offline-sync/POWER.md +62 -0
- package/workflows/powers/flutter-offline-sync/SKILL.md +59 -0
- package/workflows/powers/flutter-offline-sync/references/outbox-full.md +44 -0
- package/workflows/powers/flutter-repository/POWER.md +64 -0
- package/workflows/powers/flutter-repository/SKILL.md +61 -0
- package/workflows/powers/flutter-repository/references/drift-patterns.md +21 -0
- package/workflows/powers/flutter-repository/references/retrofit-patterns.md +20 -0
- package/workflows/powers/flutter-riverpod/POWER.md +70 -0
- package/workflows/powers/flutter-riverpod/SKILL.md +67 -0
- package/workflows/powers/flutter-riverpod/references/async-and-mutations.md +19 -0
- package/workflows/powers/flutter-riverpod/references/async-lifecycle.md +19 -0
- package/workflows/powers/flutter-riverpod/references/provider-selection.md +20 -0
- package/workflows/powers/flutter-riverpod/references/testing.md +21 -0
- package/workflows/powers/flutter-riverpod/references/version-matrix.md +24 -0
- package/workflows/powers/flutter-state-machine/POWER.md +62 -0
- package/workflows/powers/flutter-state-machine/SKILL.md +59 -0
- package/workflows/powers/flutter-state-machine/references/app-state-contract.md +23 -0
- package/workflows/powers/flutter-state-machine/references/ui-rendering.md +14 -0
- package/workflows/powers/flutter-testing/POWER.md +64 -0
- package/workflows/powers/flutter-testing/SKILL.md +61 -0
- package/workflows/powers/flutter-testing/references/offline-sync-tests.md +16 -0
- package/workflows/powers/flutter-testing/references/test-layers.md +33 -0
- package/workflows/powers/frontend-code-review/POWER.md +137 -0
- package/workflows/powers/frontend-code-review/SKILL.md +134 -0
- package/workflows/powers/frontend-code-review/references/common-antipatterns.md +86 -0
- package/workflows/powers/frontend-code-review/references/performance-budgets.md +56 -0
- package/workflows/powers/frontend-code-review/references/review-checklists.md +47 -0
- package/workflows/powers/frontend-design/POWER.md +163 -362
- package/workflows/powers/frontend-design/SKILL.md +163 -362
- package/workflows/powers/game-development/POWER.md +57 -140
- package/workflows/powers/game-development/SKILL.md +57 -140
- package/workflows/powers/geo-fundamentals/POWER.md +64 -126
- package/workflows/powers/geo-fundamentals/SKILL.md +64 -127
- package/workflows/powers/git-workflow/POWER.md +135 -0
- package/workflows/powers/git-workflow/SKILL.md +132 -0
- package/workflows/powers/git-workflow/references/pr-review-checklist.md +63 -0
- package/workflows/powers/golang-pro/POWER.md +46 -35
- package/workflows/powers/golang-pro/SKILL.md +46 -35
- package/workflows/powers/graphql-architect/POWER.md +44 -62
- package/workflows/powers/graphql-architect/SKILL.md +44 -62
- package/workflows/powers/i18n-localization/POWER.md +118 -103
- package/workflows/powers/i18n-localization/SKILL.md +118 -103
- package/workflows/powers/java-pro/POWER.md +47 -22
- package/workflows/powers/java-pro/SKILL.md +47 -22
- package/workflows/powers/javascript-pro/POWER.md +47 -34
- package/workflows/powers/javascript-pro/SKILL.md +47 -34
- package/workflows/powers/kotlin-pro/POWER.md +46 -23
- package/workflows/powers/kotlin-pro/SKILL.md +46 -23
- package/workflows/powers/legacy-modernizer/POWER.md +43 -60
- package/workflows/powers/legacy-modernizer/SKILL.md +43 -60
- package/workflows/powers/mcp-builder/POWER.md +65 -0
- package/workflows/powers/mcp-builder/SKILL.md +62 -0
- package/workflows/powers/mcp-builder/references/testing-and-evals.md +17 -0
- package/workflows/powers/mcp-builder/references/transport-and-tool-design.md +17 -0
- package/workflows/powers/microservices-architect/POWER.md +43 -70
- package/workflows/powers/microservices-architect/SKILL.md +43 -70
- package/workflows/powers/mobile-design/POWER.md +110 -345
- package/workflows/powers/mobile-design/SKILL.md +110 -345
- package/workflows/powers/mongodb/POWER.md +67 -0
- package/workflows/powers/mongodb/SKILL.md +64 -0
- package/workflows/powers/mongodb/references/mongodb-checklist.md +20 -0
- package/workflows/powers/mysql/POWER.md +67 -0
- package/workflows/powers/mysql/SKILL.md +64 -0
- package/workflows/powers/mysql/references/mysql-checklist.md +20 -0
- package/workflows/powers/neki/POWER.md +67 -0
- package/workflows/powers/neki/SKILL.md +64 -0
- package/workflows/powers/neki/references/neki-checklist.md +18 -0
- package/workflows/powers/nestjs-expert/POWER.md +45 -91
- package/workflows/powers/nestjs-expert/SKILL.md +45 -91
- package/workflows/powers/nextjs-developer/POWER.md +51 -44
- package/workflows/powers/nextjs-developer/SKILL.md +51 -44
- package/workflows/powers/nodejs-best-practices/POWER.md +48 -29
- package/workflows/powers/nodejs-best-practices/SKILL.md +48 -29
- package/workflows/powers/observability/POWER.md +109 -0
- package/workflows/powers/observability/SKILL.md +106 -0
- package/workflows/powers/observability/references/alerting-and-slo-checklist.md +87 -0
- package/workflows/powers/observability/references/opentelemetry-setup-guide.md +121 -0
- package/workflows/powers/openai-docs/POWER.md +61 -0
- package/workflows/powers/openai-docs/SKILL.md +58 -0
- package/workflows/powers/openai-docs/references/official-source-playbook.md +10 -0
- package/workflows/powers/performance-profiling/POWER.md +61 -114
- package/workflows/powers/performance-profiling/SKILL.md +61 -114
- package/workflows/powers/php-pro/POWER.md +116 -0
- package/workflows/powers/php-pro/SKILL.md +113 -0
- package/workflows/powers/php-pro/references/architecture-and-di.md +239 -0
- package/workflows/powers/php-pro/references/modern-php-features.md +189 -0
- package/workflows/powers/php-pro/references/performance-and-deployment.md +197 -0
- package/workflows/powers/php-pro/references/php84-strict-typing-checklist.md +161 -0
- package/workflows/powers/php-pro/references/testing-and-static-analysis.md +235 -0
- package/workflows/powers/playwright-e2e/POWER.md +85 -0
- package/workflows/powers/playwright-e2e/SKILL.md +82 -0
- package/workflows/powers/playwright-e2e/references/locator-trace-flake-checklist.md +80 -0
- package/workflows/powers/postgres/POWER.md +67 -0
- package/workflows/powers/postgres/SKILL.md +64 -0
- package/workflows/powers/postgres/references/postgres-checklist.md +20 -0
- package/workflows/powers/prompt-engineer/POWER.md +47 -30
- package/workflows/powers/prompt-engineer/SKILL.md +47 -30
- package/workflows/powers/python-pro/POWER.md +47 -36
- package/workflows/powers/python-pro/SKILL.md +47 -36
- package/workflows/powers/react-best-practices/POWER.md +56 -33
- package/workflows/powers/react-best-practices/SKILL.md +56 -33
- package/workflows/powers/react-expert/POWER.md +47 -37
- package/workflows/powers/react-expert/SKILL.md +47 -37
- package/workflows/powers/redis/POWER.md +67 -0
- package/workflows/powers/redis/SKILL.md +64 -0
- package/workflows/powers/redis/references/redis-checklist.md +19 -0
- package/workflows/powers/ruby-pro/POWER.md +118 -0
- package/workflows/powers/ruby-pro/SKILL.md +115 -0
- package/workflows/powers/ruby-pro/references/modern-ruby-features.md +189 -0
- package/workflows/powers/ruby-pro/references/object-design-patterns.md +220 -0
- package/workflows/powers/ruby-pro/references/performance-and-profiling.md +224 -0
- package/workflows/powers/ruby-pro/references/ruby-concurrency-and-testing.md +190 -0
- package/workflows/powers/ruby-pro/references/testing-and-rspec.md +236 -0
- package/workflows/powers/rust-pro/POWER.md +45 -31
- package/workflows/powers/rust-pro/SKILL.md +45 -31
- package/workflows/powers/security-engineer/POWER.md +129 -0
- package/workflows/powers/security-engineer/SKILL.md +126 -0
- package/workflows/powers/seo-fundamentals/POWER.md +59 -102
- package/workflows/powers/seo-fundamentals/SKILL.md +59 -102
- package/workflows/powers/serverless-patterns/POWER.md +171 -0
- package/workflows/powers/serverless-patterns/SKILL.md +168 -0
- package/workflows/powers/skill-creator/POWER.md +90 -0
- package/workflows/powers/skill-creator/SKILL.md +87 -0
- package/workflows/powers/skill-creator/references/platform-formats.md +181 -0
- package/workflows/powers/skill-creator/references/schemas.md +430 -0
- package/workflows/powers/spec-miner/POWER.md +49 -57
- package/workflows/powers/spec-miner/SKILL.md +49 -57
- package/workflows/powers/sqlite/POWER.md +67 -0
- package/workflows/powers/sqlite/SKILL.md +64 -0
- package/workflows/powers/sqlite/references/sqlite-checklist.md +19 -0
- package/workflows/powers/sre-engineer/POWER.md +123 -64
- package/workflows/powers/sre-engineer/SKILL.md +123 -64
- package/workflows/powers/static-analysis/POWER.md +121 -77
- package/workflows/powers/static-analysis/SKILL.md +121 -77
- package/workflows/powers/stripe-best-practices/POWER.md +140 -17
- package/workflows/powers/stripe-best-practices/SKILL.md +139 -17
- package/workflows/powers/supabase/POWER.md +67 -0
- package/workflows/powers/supabase/SKILL.md +64 -0
- package/workflows/powers/supabase/references/supabase-checklist.md +19 -0
- package/workflows/powers/swift-pro/POWER.md +118 -0
- package/workflows/powers/swift-pro/SKILL.md +115 -0
- package/workflows/powers/swift-pro/references/concurrency-patterns.md +165 -0
- package/workflows/powers/swift-pro/references/protocol-and-generics.md +172 -0
- package/workflows/powers/swift-pro/references/sendable-and-isolation.md +116 -0
- package/workflows/powers/swift-pro/references/swift-concurrency-and-protocols.md +260 -0
- package/workflows/powers/swift-pro/references/testing-and-packages.md +192 -0
- package/workflows/powers/tailwind-patterns/POWER.md +71 -240
- package/workflows/powers/tailwind-patterns/SKILL.md +71 -240
- package/workflows/powers/testing-patterns/POWER.md +155 -10
- package/workflows/powers/testing-patterns/SKILL.md +155 -10
- package/workflows/powers/typescript-pro/POWER.md +47 -38
- package/workflows/powers/typescript-pro/SKILL.md +47 -38
- package/workflows/powers/vitess/POWER.md +67 -0
- package/workflows/powers/vitess/SKILL.md +64 -0
- package/workflows/powers/vitess/references/vitess-checklist.md +19 -0
- package/workflows/powers/vulnerability-scanner/POWER.md +146 -10
- package/workflows/powers/vulnerability-scanner/SKILL.md +146 -10
- package/workflows/powers/web-perf/POWER.md +43 -170
- package/workflows/powers/web-perf/SKILL.md +43 -170
- package/workflows/powers/webapp-testing/POWER.md +43 -164
- package/workflows/powers/webapp-testing/SKILL.md +43 -164
- package/workflows/skills/agent-design/SKILL.md +198 -0
- package/workflows/skills/agent-design/references/clarification-patterns.md +153 -0
- package/workflows/skills/agent-design/references/skill-testing.md +164 -0
- package/workflows/skills/agent-design/references/workflow-patterns.md +226 -0
- package/workflows/skills/deep-research/SKILL.md +25 -20
- package/workflows/skills/deep-research/references/multi-round-research-loop.md +73 -8
- package/workflows/skills/frontend-design/SKILL.md +37 -32
- package/workflows/skills/frontend-design/commands/brand.md +167 -0
- package/workflows/skills/frontend-design/references/brand-presets.md +228 -0
- package/workflows/skills/generated/skill-audit.json +11 -2
- package/workflows/skills/generated/skill-catalog.json +37 -5
- package/workflows/skills/skills_index.json +1 -1
- package/workflows/workflows/agent-environment-setup/platforms/claude/skills/agent-design/SKILL.md +198 -0
- package/workflows/workflows/agent-environment-setup/platforms/claude/skills/agent-design/references/clarification-patterns.md +153 -0
- package/workflows/workflows/agent-environment-setup/platforms/claude/skills/agent-design/references/skill-testing.md +164 -0
- package/workflows/workflows/agent-environment-setup/platforms/claude/skills/agent-design/references/workflow-patterns.md +226 -0
- package/workflows/workflows/agent-environment-setup/platforms/claude/skills/deep-research/SKILL.md +25 -20
- package/workflows/workflows/agent-environment-setup/platforms/claude/skills/deep-research/references/multi-round-research-loop.md +73 -8
- package/workflows/workflows/agent-environment-setup/platforms/claude/skills/frontend-design/SKILL.md +37 -32
- package/workflows/workflows/agent-environment-setup/platforms/claude/skills/frontend-design/commands/brand.md +167 -0
- package/workflows/workflows/agent-environment-setup/platforms/claude/skills/frontend-design/references/brand-presets.md +228 -0
- package/workflows/workflows/agent-environment-setup/platforms/claude/skills/skills_index.json +1 -1
- package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/agent-design/SKILL.md +197 -0
- package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/agent-design/references/clarification-patterns.md +153 -0
- package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/agent-design/references/skill-testing.md +164 -0
- package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/agent-design/references/workflow-patterns.md +226 -0
- package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/deep-research/SKILL.md +25 -20
- package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/deep-research/references/multi-round-research-loop.md +73 -8
- package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/frontend-design/SKILL.md +37 -32
- package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/frontend-design/commands/brand.md +167 -0
- package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/frontend-design/references/brand-presets.md +228 -0
- 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:
|
|
5
|
-
description: "Use for framework-agnostic React architecture with React 19 patterns, state design, and performance
|
|
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
|
-
|
|
9
|
-
|
|
10
|
-
|
|
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
|
-
##
|
|
15
|
+
## Purpose
|
|
18
16
|
|
|
19
|
-
-
|
|
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
|
|
19
|
+
## When to Use
|
|
23
20
|
|
|
24
|
-
-
|
|
25
|
-
-
|
|
26
|
-
-
|
|
27
|
-
-
|
|
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
|
-
##
|
|
26
|
+
## Instructions
|
|
30
27
|
|
|
31
|
-
1.
|
|
32
|
-
2.
|
|
33
|
-
3.
|
|
34
|
-
4.
|
|
35
|
-
5. Validate
|
|
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
|
-
|
|
34
|
+
### Baseline standards
|
|
38
35
|
|
|
39
|
-
- Prefer pure render logic and explicit
|
|
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
|
-
-
|
|
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
|
-
|
|
42
|
+
### Constraints
|
|
46
43
|
|
|
47
|
-
-
|
|
48
|
-
-
|
|
49
|
-
-
|
|
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
|
-
##
|
|
49
|
+
## Output Format
|
|
52
50
|
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
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:
|
|
3
|
-
description: "Use for framework-agnostic React architecture with React 19 patterns, state design, and performance
|
|
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
|
-
|
|
7
|
-
|
|
8
|
-
|
|
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
|
-
##
|
|
13
|
+
## Purpose
|
|
16
14
|
|
|
17
|
-
-
|
|
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
|
|
17
|
+
## When to Use
|
|
21
18
|
|
|
22
|
-
-
|
|
23
|
-
-
|
|
24
|
-
-
|
|
25
|
-
-
|
|
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
|
-
##
|
|
24
|
+
## Instructions
|
|
28
25
|
|
|
29
|
-
1.
|
|
30
|
-
2.
|
|
31
|
-
3.
|
|
32
|
-
4.
|
|
33
|
-
5. Validate
|
|
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
|
-
|
|
32
|
+
### Baseline standards
|
|
36
33
|
|
|
37
|
-
- Prefer pure render logic and explicit
|
|
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
|
-
-
|
|
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
|
-
|
|
40
|
+
### Constraints
|
|
44
41
|
|
|
45
|
-
-
|
|
46
|
-
-
|
|
47
|
-
-
|
|
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
|
-
##
|
|
47
|
+
## Output Format
|
|
50
48
|
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
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"
|