@ivannxbt/ai-config 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.agents/AGENTS.md +49 -0
- package/.agents/skills/ab-test-setup/SKILL.md +266 -0
- package/.agents/skills/ab-test-setup/references/sample-size-guide.md +263 -0
- package/.agents/skills/ab-test-setup/references/test-templates.md +277 -0
- package/.agents/skills/ad-creative/SKILL.md +362 -0
- package/.agents/skills/ad-creative/references/generative-tools.md +637 -0
- package/.agents/skills/ad-creative/references/platform-specs.md +213 -0
- package/.agents/skills/agent-browser/SKILL.md +347 -0
- package/.agents/skills/agent-browser/references/authentication.md +188 -0
- package/.agents/skills/agent-browser/references/proxy-support.md +175 -0
- package/.agents/skills/agent-browser/references/session-management.md +181 -0
- package/.agents/skills/agent-browser/references/snapshot-refs.md +186 -0
- package/.agents/skills/agent-browser/references/video-recording.md +162 -0
- package/.agents/skills/agent-browser/templates/authenticated-session.sh +91 -0
- package/.agents/skills/agent-browser/templates/capture-workflow.sh +68 -0
- package/.agents/skills/agent-browser/templates/form-automation.sh +64 -0
- package/.agents/skills/ai-seo/SKILL.md +398 -0
- package/.agents/skills/ai-seo/references/content-patterns.md +285 -0
- package/.agents/skills/ai-seo/references/platform-ranking-factors.md +152 -0
- package/.agents/skills/analytics-tracking/SKILL.md +309 -0
- package/.agents/skills/analytics-tracking/references/event-library.md +260 -0
- package/.agents/skills/analytics-tracking/references/ga4-implementation.md +300 -0
- package/.agents/skills/analytics-tracking/references/gtm-implementation.md +390 -0
- package/.agents/skills/appinsights-instrumentation/LICENSE.txt +21 -0
- package/.agents/skills/appinsights-instrumentation/SKILL.md +72 -0
- package/.agents/skills/appinsights-instrumentation/examples/appinsights.bicep +30 -0
- package/.agents/skills/appinsights-instrumentation/references/aspnetcore.md +29 -0
- package/.agents/skills/appinsights-instrumentation/references/auto.md +13 -0
- package/.agents/skills/appinsights-instrumentation/references/nodejs.md +28 -0
- package/.agents/skills/appinsights-instrumentation/references/python.md +48 -0
- package/.agents/skills/appinsights-instrumentation/references/sdk/azure-monitor-opentelemetry-exporter-java.md +31 -0
- package/.agents/skills/appinsights-instrumentation/references/sdk/azure-monitor-opentelemetry-exporter-py.md +22 -0
- package/.agents/skills/appinsights-instrumentation/references/sdk/azure-monitor-opentelemetry-py.md +23 -0
- package/.agents/skills/appinsights-instrumentation/references/sdk/azure-monitor-opentelemetry-ts.md +26 -0
- package/.agents/skills/appinsights-instrumentation/scripts/appinsights.ps1 +20 -0
- package/.agents/skills/audit-website/README.md +20 -0
- package/.agents/skills/audit-website/SKILL.md +470 -0
- package/.agents/skills/audit-website/agents/openai.yaml +6 -0
- package/.agents/skills/audit-website/assets/icon-large.png +0 -0
- package/.agents/skills/audit-website/assets/icon-small.svg +41 -0
- package/.agents/skills/audit-website/references/OUTPUT-FORMAT.md +250 -0
- package/.agents/skills/better-auth/SKILL.md +204 -0
- package/.agents/skills/better-auth/references/advanced-features.md +553 -0
- package/.agents/skills/better-auth/references/database-integration.md +577 -0
- package/.agents/skills/better-auth/references/email-password-auth.md +416 -0
- package/.agents/skills/better-auth/references/oauth-providers.md +430 -0
- package/.agents/skills/better-auth/scripts/.coverage +0 -0
- package/.agents/skills/better-auth/scripts/better_auth_init.py +521 -0
- package/.agents/skills/better-auth/scripts/requirements.txt +15 -0
- package/.agents/skills/better-auth/scripts/tests/.coverage +0 -0
- package/.agents/skills/better-auth/scripts/tests/test_better_auth_init.py +421 -0
- package/.agents/skills/better-auth-best-practices/SKILL.md +166 -0
- package/.agents/skills/building-native-ui/SKILL.md +321 -0
- package/.agents/skills/building-native-ui/references/animations.md +220 -0
- package/.agents/skills/building-native-ui/references/controls.md +270 -0
- package/.agents/skills/building-native-ui/references/form-sheet.md +227 -0
- package/.agents/skills/building-native-ui/references/gradients.md +106 -0
- package/.agents/skills/building-native-ui/references/icons.md +213 -0
- package/.agents/skills/building-native-ui/references/media.md +198 -0
- package/.agents/skills/building-native-ui/references/route-structure.md +229 -0
- package/.agents/skills/building-native-ui/references/search.md +248 -0
- package/.agents/skills/building-native-ui/references/storage.md +121 -0
- package/.agents/skills/building-native-ui/references/tabs.md +433 -0
- package/.agents/skills/building-native-ui/references/toolbar-and-headers.md +284 -0
- package/.agents/skills/building-native-ui/references/visual-effects.md +197 -0
- package/.agents/skills/building-native-ui/references/webgpu-three.md +605 -0
- package/.agents/skills/building-native-ui/references/zoom-transitions.md +158 -0
- package/.agents/skills/churn-prevention/SKILL.md +424 -0
- package/.agents/skills/churn-prevention/references/cancel-flow-patterns.md +316 -0
- package/.agents/skills/churn-prevention/references/dunning-playbook.md +408 -0
- package/.agents/skills/cold-email/SKILL.md +158 -0
- package/.agents/skills/cold-email/references/benchmarks.md +83 -0
- package/.agents/skills/cold-email/references/follow-up-sequences.md +81 -0
- package/.agents/skills/cold-email/references/frameworks.md +90 -0
- package/.agents/skills/cold-email/references/personalization.md +79 -0
- package/.agents/skills/cold-email/references/subject-lines.md +53 -0
- package/.agents/skills/competitor-alternatives/SKILL.md +256 -0
- package/.agents/skills/competitor-alternatives/references/content-architecture.md +271 -0
- package/.agents/skills/competitor-alternatives/references/templates.md +223 -0
- package/.agents/skills/content-strategy/SKILL.md +359 -0
- package/.agents/skills/copy-editing/SKILL.md +447 -0
- package/.agents/skills/copy-editing/references/plain-english-alternatives.md +394 -0
- package/.agents/skills/copywriting/SKILL.md +252 -0
- package/.agents/skills/copywriting/references/copy-frameworks.md +344 -0
- package/.agents/skills/copywriting/references/natural-transitions.md +272 -0
- package/.agents/skills/deep-agents-core/SKILL.md +423 -0
- package/.agents/skills/deep-agents-memory/SKILL.md +301 -0
- package/.agents/skills/deep-agents-orchestration/SKILL.md +471 -0
- package/.agents/skills/design-md/SKILL.md +172 -0
- package/.agents/skills/design-md/examples/DESIGN.md +154 -0
- package/.agents/skills/email-best-practices/README.md +63 -0
- package/.agents/skills/email-best-practices/SKILL.md +59 -0
- package/.agents/skills/email-best-practices/resources/compliance.md +125 -0
- package/.agents/skills/email-best-practices/resources/deliverability.md +121 -0
- package/.agents/skills/email-best-practices/resources/email-capture.md +129 -0
- package/.agents/skills/email-best-practices/resources/email-types.md +173 -0
- package/.agents/skills/email-best-practices/resources/list-management.md +157 -0
- package/.agents/skills/email-best-practices/resources/marketing-emails.md +115 -0
- package/.agents/skills/email-best-practices/resources/sending-reliability.md +155 -0
- package/.agents/skills/email-best-practices/resources/transactional-email-catalog.md +418 -0
- package/.agents/skills/email-best-practices/resources/transactional-emails.md +92 -0
- package/.agents/skills/email-best-practices/resources/webhooks-events.md +167 -0
- package/.agents/skills/email-best-practices/tests/README.md +35 -0
- package/.agents/skills/email-best-practices/tests/scenarios/01-spam-deliverability.md +46 -0
- package/.agents/skills/email-best-practices/tests/scenarios/02-multi-region-compliance.md +48 -0
- package/.agents/skills/email-best-practices/tests/scenarios/03-retry-idempotency.md +36 -0
- package/.agents/skills/email-best-practices/tests/scenarios/04-webhook-bounce-handling.md +52 -0
- package/.agents/skills/email-best-practices/tests/scenarios/05-new-saas-email-plan.md +51 -0
- package/.agents/skills/email-sequence/SKILL.md +309 -0
- package/.agents/skills/email-sequence/references/copy-guidelines.md +113 -0
- package/.agents/skills/email-sequence/references/email-types.md +515 -0
- package/.agents/skills/email-sequence/references/sequence-templates.md +168 -0
- package/.agents/skills/entra-app-registration/SKILL.md +191 -0
- package/.agents/skills/entra-app-registration/references/BICEP-EXAMPLE.bicep +199 -0
- package/.agents/skills/entra-app-registration/references/api-permissions.md +341 -0
- package/.agents/skills/entra-app-registration/references/auth-best-practices.md +128 -0
- package/.agents/skills/entra-app-registration/references/cli-commands.md +409 -0
- package/.agents/skills/entra-app-registration/references/console-app-example.md +392 -0
- package/.agents/skills/entra-app-registration/references/first-app-registration.md +243 -0
- package/.agents/skills/entra-app-registration/references/oauth-flows.md +398 -0
- package/.agents/skills/entra-app-registration/references/sdk/azure-identity-dotnet.md +22 -0
- package/.agents/skills/entra-app-registration/references/sdk/azure-identity-java.md +30 -0
- package/.agents/skills/entra-app-registration/references/sdk/azure-identity-py.md +27 -0
- package/.agents/skills/entra-app-registration/references/sdk/azure-identity-rust.md +21 -0
- package/.agents/skills/entra-app-registration/references/sdk/azure-identity-ts.md +24 -0
- package/.agents/skills/entra-app-registration/references/sdk/azure-keyvault-py.md +25 -0
- package/.agents/skills/entra-app-registration/references/sdk/azure-keyvault-secrets-ts.md +23 -0
- package/.agents/skills/entra-app-registration/references/sdk/microsoft-azure-webjobs-extensions-authentication-events-dotnet.md +37 -0
- package/.agents/skills/entra-app-registration/references/troubleshooting.md +269 -0
- package/.agents/skills/expo-api-routes/SKILL.md +368 -0
- package/.agents/skills/expo-cicd-workflows/SKILL.md +92 -0
- package/.agents/skills/expo-cicd-workflows/scripts/fetch.js +109 -0
- package/.agents/skills/expo-cicd-workflows/scripts/package.json +11 -0
- package/.agents/skills/expo-cicd-workflows/scripts/validate.js +84 -0
- package/.agents/skills/expo-deployment/SKILL.md +190 -0
- package/.agents/skills/expo-deployment/references/app-store-metadata.md +479 -0
- package/.agents/skills/expo-deployment/references/ios-app-store.md +355 -0
- package/.agents/skills/expo-deployment/references/play-store.md +246 -0
- package/.agents/skills/expo-deployment/references/testflight.md +58 -0
- package/.agents/skills/expo-deployment/references/workflows.md +200 -0
- package/.agents/skills/expo-dev-client/SKILL.md +164 -0
- package/.agents/skills/expo-react-native-performance/AGENTS.md +2515 -0
- package/.agents/skills/expo-react-native-performance/SKILL.md +118 -0
- package/.agents/skills/expo-react-native-performance/references/anim-interaction-manager.md +63 -0
- package/.agents/skills/expo-react-native-performance/references/anim-layout-animation.md +75 -0
- package/.agents/skills/expo-react-native-performance/references/anim-transform-not-dimensions.md +67 -0
- package/.agents/skills/expo-react-native-performance/references/anim-use-native-driver.md +55 -0
- package/.agents/skills/expo-react-native-performance/references/anim-use-reanimated.md +53 -0
- package/.agents/skills/expo-react-native-performance/references/asset-optimize-image-size.md +60 -0
- package/.agents/skills/expo-react-native-performance/references/asset-prefetch-images.md +60 -0
- package/.agents/skills/expo-react-native-performance/references/asset-recycling-key.md +57 -0
- package/.agents/skills/expo-react-native-performance/references/asset-use-expo-image.md +58 -0
- package/.agents/skills/expo-react-native-performance/references/asset-use-webp-format.md +50 -0
- package/.agents/skills/expo-react-native-performance/references/async-batch-api-calls.md +65 -0
- package/.agents/skills/expo-react-native-performance/references/async-cache-responses.md +54 -0
- package/.agents/skills/expo-react-native-performance/references/async-defer-await.md +56 -0
- package/.agents/skills/expo-react-native-performance/references/async-parallel-fetching.md +60 -0
- package/.agents/skills/expo-react-native-performance/references/async-refetch-on-focus.md +68 -0
- package/.agents/skills/expo-react-native-performance/references/list-estimated-item-size.md +52 -0
- package/.agents/skills/expo-react-native-performance/references/list-get-item-layout.md +64 -0
- package/.agents/skills/expo-react-native-performance/references/list-get-item-type.md +59 -0
- package/.agents/skills/expo-react-native-performance/references/list-memoize-items.md +59 -0
- package/.agents/skills/expo-react-native-performance/references/list-stable-render-item.md +61 -0
- package/.agents/skills/expo-react-native-performance/references/list-use-flashlist.md +56 -0
- package/.agents/skills/expo-react-native-performance/references/mem-abort-fetch.md +78 -0
- package/.agents/skills/expo-react-native-performance/references/mem-avoid-inline-objects.md +61 -0
- package/.agents/skills/expo-react-native-performance/references/mem-cleanup-subscriptions.md +63 -0
- package/.agents/skills/expo-react-native-performance/references/mem-clear-timers.md +63 -0
- package/.agents/skills/expo-react-native-performance/references/mem-limit-list-data.md +69 -0
- package/.agents/skills/expo-react-native-performance/references/platform-android-overdraw.md +63 -0
- package/.agents/skills/expo-react-native-performance/references/platform-android-proguard.md +63 -0
- package/.agents/skills/expo-react-native-performance/references/platform-conditional-render.md +81 -0
- package/.agents/skills/expo-react-native-performance/references/platform-ios-text-rendering.md +57 -0
- package/.agents/skills/expo-react-native-performance/references/rerender-derive-state.md +58 -0
- package/.agents/skills/expo-react-native-performance/references/rerender-functional-setstate.md +54 -0
- package/.agents/skills/expo-react-native-performance/references/rerender-lazy-state-init.md +55 -0
- package/.agents/skills/expo-react-native-performance/references/rerender-split-context.md +69 -0
- package/.agents/skills/expo-react-native-performance/references/rerender-use-callback-handlers.md +63 -0
- package/.agents/skills/expo-react-native-performance/references/rerender-use-memo-expensive.md +54 -0
- package/.agents/skills/expo-react-native-performance/references/startup-async-routes.md +63 -0
- package/.agents/skills/expo-react-native-performance/references/startup-cherry-pick-imports.md +45 -0
- package/.agents/skills/expo-react-native-performance/references/startup-enable-hermes.md +39 -0
- package/.agents/skills/expo-react-native-performance/references/startup-preload-assets.md +68 -0
- package/.agents/skills/expo-react-native-performance/references/startup-remove-console-logs.md +47 -0
- package/.agents/skills/expo-react-native-performance/references/startup-splash-screen-control.md +58 -0
- package/.agents/skills/expo-tailwind-setup/SKILL.md +480 -0
- package/.agents/skills/express-rest-api/SKILL.md +249 -0
- package/.agents/skills/express-rest-api/assets/config.yaml +1 -0
- package/.agents/skills/express-rest-api/references/GUIDE.md +1 -0
- package/.agents/skills/express-rest-api/scripts/helper.py +3 -0
- package/.agents/skills/find-skills/SKILL.md +133 -0
- package/.agents/skills/form-cro/SKILL.md +429 -0
- package/.agents/skills/framer-code-components-overrides/SKILL.md +297 -0
- package/.agents/skills/framer-code-components-overrides/references/patterns.md +338 -0
- package/.agents/skills/framer-code-components-overrides/references/property-controls.md +241 -0
- package/.agents/skills/framer-code-components-overrides/references/webgl-shaders.md +207 -0
- package/.agents/skills/framework-selection/SKILL.md +163 -0
- package/.agents/skills/free-tool-strategy/SKILL.md +178 -0
- package/.agents/skills/free-tool-strategy/references/tool-types.md +217 -0
- package/.agents/skills/frontend-design/LICENSE.txt +177 -0
- package/.agents/skills/frontend-design/SKILL.md +42 -0
- package/.agents/skills/gws-calendar/SKILL.md +108 -0
- package/.agents/skills/gws-calendar-agenda/SKILL.md +52 -0
- package/.agents/skills/gws-calendar-insert/SKILL.md +55 -0
- package/.agents/skills/gws-docs/SKILL.md +48 -0
- package/.agents/skills/gws-docs-write/SKILL.md +49 -0
- package/.agents/skills/gws-drive/SKILL.md +137 -0
- package/.agents/skills/gws-drive-upload/SKILL.md +52 -0
- package/.agents/skills/gws-gmail/SKILL.md +59 -0
- package/.agents/skills/gws-gmail-forward/SKILL.md +52 -0
- package/.agents/skills/gws-gmail-reply/SKILL.md +51 -0
- package/.agents/skills/gws-gmail-reply-all/SKILL.md +54 -0
- package/.agents/skills/gws-gmail-send/SKILL.md +52 -0
- package/.agents/skills/gws-gmail-triage/SKILL.md +50 -0
- package/.agents/skills/gws-gmail-watch/SKILL.md +58 -0
- package/.agents/skills/gws-meet/SKILL.md +51 -0
- package/.agents/skills/gws-shared/SKILL.md +66 -0
- package/.agents/skills/gws-sheets/SKILL.md +53 -0
- package/.agents/skills/gws-sheets-append/SKILL.md +51 -0
- package/.agents/skills/gws-sheets-read/SKILL.md +47 -0
- package/.agents/skills/gws-slides/SKILL.md +43 -0
- package/.agents/skills/gws-workflow/SKILL.md +44 -0
- package/.agents/skills/gws-workflow-email-to-task/SKILL.md +47 -0
- package/.agents/skills/gws-workflow-file-announce/SKILL.md +50 -0
- package/.agents/skills/gws-workflow-meeting-prep/SKILL.md +47 -0
- package/.agents/skills/gws-workflow-standup-report/SKILL.md +46 -0
- package/.agents/skills/gws-workflow-weekly-digest/SKILL.md +46 -0
- package/.agents/skills/langchain-dependencies/SKILL.md +419 -0
- package/.agents/skills/langchain-fundamentals/SKILL.md +392 -0
- package/.agents/skills/langchain-middleware/SKILL.md +302 -0
- package/.agents/skills/langchain-rag/SKILL.md +517 -0
- package/.agents/skills/langgraph-fundamentals/SKILL.md +811 -0
- package/.agents/skills/langgraph-human-in-the-loop/SKILL.md +532 -0
- package/.agents/skills/langgraph-persistence/SKILL.md +560 -0
- package/.agents/skills/launch-strategy/SKILL.md +353 -0
- package/.agents/skills/marketing-ideas/SKILL.md +167 -0
- package/.agents/skills/marketing-ideas/references/ideas-by-category.md +366 -0
- package/.agents/skills/marketing-psychology/SKILL.md +455 -0
- package/.agents/skills/microsoft-foundry/SKILL.md +102 -0
- package/.agents/skills/microsoft-foundry/foundry-agent/create/create-prompt.md +89 -0
- package/.agents/skills/microsoft-foundry/foundry-agent/create/create.md +239 -0
- package/.agents/skills/microsoft-foundry/foundry-agent/create/references/agent-tools.md +45 -0
- package/.agents/skills/microsoft-foundry/foundry-agent/create/references/agentframework.md +92 -0
- package/.agents/skills/microsoft-foundry/foundry-agent/create/references/sdk-operations.md +47 -0
- package/.agents/skills/microsoft-foundry/foundry-agent/create/references/tool-azure-ai-search.md +69 -0
- package/.agents/skills/microsoft-foundry/foundry-agent/create/references/tool-bing-grounding.md +50 -0
- package/.agents/skills/microsoft-foundry/foundry-agent/create/references/tool-file-search.md +60 -0
- package/.agents/skills/microsoft-foundry/foundry-agent/create/references/tool-mcp.md +66 -0
- package/.agents/skills/microsoft-foundry/foundry-agent/create/references/tool-memory.md +109 -0
- package/.agents/skills/microsoft-foundry/foundry-agent/create/references/tool-web-search.md +57 -0
- package/.agents/skills/microsoft-foundry/foundry-agent/deploy/deploy.md +319 -0
- package/.agents/skills/microsoft-foundry/foundry-agent/invoke/invoke.md +98 -0
- package/.agents/skills/microsoft-foundry/foundry-agent/observe/observe.md +51 -0
- package/.agents/skills/microsoft-foundry/foundry-agent/observe/references/analyze-results.md +47 -0
- package/.agents/skills/microsoft-foundry/foundry-agent/observe/references/cicd-monitoring.md +35 -0
- package/.agents/skills/microsoft-foundry/foundry-agent/observe/references/compare-iterate.md +48 -0
- package/.agents/skills/microsoft-foundry/foundry-agent/observe/references/deploy-and-setup.md +76 -0
- package/.agents/skills/microsoft-foundry/foundry-agent/observe/references/evaluate-step.md +51 -0
- package/.agents/skills/microsoft-foundry/foundry-agent/observe/references/optimize-deploy.md +30 -0
- package/.agents/skills/microsoft-foundry/foundry-agent/trace/references/analyze-failures.md +83 -0
- package/.agents/skills/microsoft-foundry/foundry-agent/trace/references/analyze-latency.md +90 -0
- package/.agents/skills/microsoft-foundry/foundry-agent/trace/references/conversation-detail.md +84 -0
- package/.agents/skills/microsoft-foundry/foundry-agent/trace/references/eval-correlation.md +57 -0
- package/.agents/skills/microsoft-foundry/foundry-agent/trace/references/kql-templates.md +173 -0
- package/.agents/skills/microsoft-foundry/foundry-agent/trace/references/search-traces.md +141 -0
- package/.agents/skills/microsoft-foundry/foundry-agent/trace/trace.md +57 -0
- package/.agents/skills/microsoft-foundry/foundry-agent/troubleshoot/troubleshoot.md +93 -0
- package/.agents/skills/microsoft-foundry/models/deploy-model/SKILL.md +144 -0
- package/.agents/skills/microsoft-foundry/models/deploy-model/TEST_PROMPTS.md +78 -0
- package/.agents/skills/microsoft-foundry/models/deploy-model/capacity/SKILL.md +146 -0
- package/.agents/skills/microsoft-foundry/models/deploy-model/capacity/scripts/discover_and_rank.ps1 +113 -0
- package/.agents/skills/microsoft-foundry/models/deploy-model/capacity/scripts/discover_and_rank.sh +113 -0
- package/.agents/skills/microsoft-foundry/models/deploy-model/capacity/scripts/query_capacity.ps1 +80 -0
- package/.agents/skills/microsoft-foundry/models/deploy-model/capacity/scripts/query_capacity.sh +75 -0
- package/.agents/skills/microsoft-foundry/models/deploy-model/customize/EXAMPLES.md +90 -0
- package/.agents/skills/microsoft-foundry/models/deploy-model/customize/SKILL.md +168 -0
- package/.agents/skills/microsoft-foundry/models/deploy-model/customize/references/customize-guides.md +124 -0
- package/.agents/skills/microsoft-foundry/models/deploy-model/customize/references/customize-workflow.md +410 -0
- package/.agents/skills/microsoft-foundry/models/deploy-model/preset/EXAMPLES.md +68 -0
- package/.agents/skills/microsoft-foundry/models/deploy-model/preset/SKILL.md +103 -0
- package/.agents/skills/microsoft-foundry/models/deploy-model/preset/references/preset-workflow.md +694 -0
- package/.agents/skills/microsoft-foundry/models/deploy-model/preset/references/workflow.md +172 -0
- package/.agents/skills/microsoft-foundry/models/deploy-model/scripts/generate_deployment_url.ps1 +73 -0
- package/.agents/skills/microsoft-foundry/models/deploy-model/scripts/generate_deployment_url.sh +90 -0
- package/.agents/skills/microsoft-foundry/project/connections.md +58 -0
- package/.agents/skills/microsoft-foundry/project/create/create-foundry-project.md +132 -0
- package/.agents/skills/microsoft-foundry/quota/quota.md +186 -0
- package/.agents/skills/microsoft-foundry/quota/references/capacity-planning.md +124 -0
- package/.agents/skills/microsoft-foundry/quota/references/error-resolution.md +143 -0
- package/.agents/skills/microsoft-foundry/quota/references/optimization.md +166 -0
- package/.agents/skills/microsoft-foundry/quota/references/ptu-guide.md +150 -0
- package/.agents/skills/microsoft-foundry/quota/references/troubleshooting.md +209 -0
- package/.agents/skills/microsoft-foundry/quota/references/workflows.md +174 -0
- package/.agents/skills/microsoft-foundry/rbac/rbac.md +156 -0
- package/.agents/skills/microsoft-foundry/references/auth-best-practices.md +128 -0
- package/.agents/skills/microsoft-foundry/references/sdk/foundry-sdk-py.md +263 -0
- package/.agents/skills/microsoft-foundry/resource/create/create-foundry-resource.md +150 -0
- package/.agents/skills/microsoft-foundry/resource/create/references/patterns.md +134 -0
- package/.agents/skills/microsoft-foundry/resource/create/references/troubleshooting.md +92 -0
- package/.agents/skills/microsoft-foundry/resource/create/references/workflows.md +235 -0
- package/.agents/skills/native-data-fetching/SKILL.md +491 -0
- package/.agents/skills/next-best-practices/SKILL.md +153 -0
- package/.agents/skills/next-best-practices/async-patterns.md +87 -0
- package/.agents/skills/next-best-practices/bundling.md +180 -0
- package/.agents/skills/next-best-practices/data-patterns.md +297 -0
- package/.agents/skills/next-best-practices/debug-tricks.md +105 -0
- package/.agents/skills/next-best-practices/directives.md +73 -0
- package/.agents/skills/next-best-practices/error-handling.md +227 -0
- package/.agents/skills/next-best-practices/file-conventions.md +140 -0
- package/.agents/skills/next-best-practices/font.md +245 -0
- package/.agents/skills/next-best-practices/functions.md +108 -0
- package/.agents/skills/next-best-practices/hydration-error.md +91 -0
- package/.agents/skills/next-best-practices/image.md +173 -0
- package/.agents/skills/next-best-practices/metadata.md +301 -0
- package/.agents/skills/next-best-practices/parallel-routes.md +287 -0
- package/.agents/skills/next-best-practices/route-handlers.md +146 -0
- package/.agents/skills/next-best-practices/rsc-boundaries.md +159 -0
- package/.agents/skills/next-best-practices/runtime-selection.md +39 -0
- package/.agents/skills/next-best-practices/scripts.md +141 -0
- package/.agents/skills/next-best-practices/self-hosting.md +371 -0
- package/.agents/skills/next-best-practices/suspense-boundaries.md +67 -0
- package/.agents/skills/onboarding-cro/SKILL.md +220 -0
- package/.agents/skills/onboarding-cro/references/experiments.md +258 -0
- package/.agents/skills/page-cro/SKILL.md +182 -0
- package/.agents/skills/page-cro/references/experiments.md +248 -0
- package/.agents/skills/paid-ads/SKILL.md +315 -0
- package/.agents/skills/paid-ads/references/ad-copy-templates.md +207 -0
- package/.agents/skills/paid-ads/references/audience-targeting.md +243 -0
- package/.agents/skills/paid-ads/references/platform-setup-checklists.md +277 -0
- package/.agents/skills/paywall-upgrade-cro/SKILL.md +227 -0
- package/.agents/skills/paywall-upgrade-cro/references/experiments.md +164 -0
- package/.agents/skills/persona-content-creator/SKILL.md +33 -0
- package/.agents/skills/persona-customer-support/SKILL.md +34 -0
- package/.agents/skills/persona-event-coordinator/SKILL.md +35 -0
- package/.agents/skills/persona-exec-assistant/SKILL.md +35 -0
- package/.agents/skills/persona-hr-coordinator/SKILL.md +33 -0
- package/.agents/skills/persona-it-admin/SKILL.md +30 -0
- package/.agents/skills/persona-project-manager/SKILL.md +35 -0
- package/.agents/skills/persona-researcher/SKILL.md +33 -0
- package/.agents/skills/persona-sales-ops/SKILL.md +35 -0
- package/.agents/skills/persona-team-lead/SKILL.md +36 -0
- package/.agents/skills/popup-cro/SKILL.md +453 -0
- package/.agents/skills/pricing-strategy/SKILL.md +231 -0
- package/.agents/skills/pricing-strategy/references/research-methods.md +152 -0
- package/.agents/skills/pricing-strategy/references/tier-structure.md +232 -0
- package/.agents/skills/prisma-cli/SKILL.md +243 -0
- package/.agents/skills/prisma-cli/references/db-execute.md +75 -0
- package/.agents/skills/prisma-cli/references/db-pull.md +185 -0
- package/.agents/skills/prisma-cli/references/db-push.md +148 -0
- package/.agents/skills/prisma-cli/references/db-seed.md +191 -0
- package/.agents/skills/prisma-cli/references/debug.md +46 -0
- package/.agents/skills/prisma-cli/references/dev.md +157 -0
- package/.agents/skills/prisma-cli/references/format.md +48 -0
- package/.agents/skills/prisma-cli/references/generate.md +147 -0
- package/.agents/skills/prisma-cli/references/init.md +118 -0
- package/.agents/skills/prisma-cli/references/migrate-deploy.md +127 -0
- package/.agents/skills/prisma-cli/references/migrate-dev.md +143 -0
- package/.agents/skills/prisma-cli/references/migrate-diff.md +89 -0
- package/.agents/skills/prisma-cli/references/migrate-reset.md +72 -0
- package/.agents/skills/prisma-cli/references/migrate-resolve.md +57 -0
- package/.agents/skills/prisma-cli/references/migrate-status.md +65 -0
- package/.agents/skills/prisma-cli/references/studio.md +122 -0
- package/.agents/skills/prisma-cli/references/validate.md +53 -0
- package/.agents/skills/prisma-client-api/SKILL.md +216 -0
- package/.agents/skills/prisma-client-api/references/client-methods.md +221 -0
- package/.agents/skills/prisma-client-api/references/constructor.md +185 -0
- package/.agents/skills/prisma-client-api/references/filters.md +256 -0
- package/.agents/skills/prisma-client-api/references/model-queries.md +281 -0
- package/.agents/skills/prisma-client-api/references/query-options.md +276 -0
- package/.agents/skills/prisma-client-api/references/raw-queries.md +194 -0
- package/.agents/skills/prisma-client-api/references/relations.md +308 -0
- package/.agents/skills/prisma-client-api/references/transactions.md +184 -0
- package/.agents/skills/prisma-database-setup/SKILL.md +186 -0
- package/.agents/skills/prisma-database-setup/references/cockroachdb.md +89 -0
- package/.agents/skills/prisma-database-setup/references/mongodb.md +72 -0
- package/.agents/skills/prisma-database-setup/references/mysql.md +109 -0
- package/.agents/skills/prisma-database-setup/references/postgresql.md +92 -0
- package/.agents/skills/prisma-database-setup/references/prisma-client-setup.md +47 -0
- package/.agents/skills/prisma-database-setup/references/prisma-postgres.md +90 -0
- package/.agents/skills/prisma-database-setup/references/sqlite.md +106 -0
- package/.agents/skills/prisma-database-setup/references/sqlserver.md +94 -0
- package/.agents/skills/prisma-driver-adapter-implementation/SKILL.md +638 -0
- package/.agents/skills/prisma-postgres/SKILL.md +110 -0
- package/.agents/skills/prisma-postgres/references/console-and-connections.md +40 -0
- package/.agents/skills/prisma-postgres/references/create-db-cli.md +123 -0
- package/.agents/skills/prisma-postgres/references/management-api-sdk.md +56 -0
- package/.agents/skills/prisma-postgres/references/management-api.md +61 -0
- package/.agents/skills/prisma-upgrade-v7/SKILL.md +228 -0
- package/.agents/skills/prisma-upgrade-v7/references/accelerate-users.md +151 -0
- package/.agents/skills/prisma-upgrade-v7/references/driver-adapters.md +251 -0
- package/.agents/skills/prisma-upgrade-v7/references/env-variables.md +161 -0
- package/.agents/skills/prisma-upgrade-v7/references/esm-support.md +160 -0
- package/.agents/skills/prisma-upgrade-v7/references/prisma-config.md +203 -0
- package/.agents/skills/prisma-upgrade-v7/references/removed-features.md +215 -0
- package/.agents/skills/prisma-upgrade-v7/references/schema-changes.md +111 -0
- package/.agents/skills/product-marketing-context/SKILL.md +241 -0
- package/.agents/skills/programmatic-seo/SKILL.md +238 -0
- package/.agents/skills/programmatic-seo/references/playbooks.md +308 -0
- package/.agents/skills/react-doctor/SKILL.md +41 -0
- package/.agents/skills/react-native-best-practices/POWER.md +145 -0
- package/.agents/skills/react-native-best-practices/SKILL.md +215 -0
- package/.agents/skills/react-native-best-practices/agents/openai.yaml +4 -0
- package/.agents/skills/react-native-best-practices/references/bundle-analyze-app.md +211 -0
- package/.agents/skills/react-native-best-practices/references/bundle-analyze-js.md +262 -0
- package/.agents/skills/react-native-best-practices/references/bundle-barrel-exports.md +248 -0
- package/.agents/skills/react-native-best-practices/references/bundle-code-splitting.md +224 -0
- package/.agents/skills/react-native-best-practices/references/bundle-hermes-mmap.md +167 -0
- package/.agents/skills/react-native-best-practices/references/bundle-library-size.md +177 -0
- package/.agents/skills/react-native-best-practices/references/bundle-native-assets.md +214 -0
- package/.agents/skills/react-native-best-practices/references/bundle-r8-android.md +225 -0
- package/.agents/skills/react-native-best-practices/references/bundle-tree-shaking.md +214 -0
- package/.agents/skills/react-native-best-practices/references/images/bundle-treemap-source-map-explorer.png +0 -0
- package/.agents/skills/react-native-best-practices/references/images/controlled-textinput-pingpong.png +0 -0
- package/.agents/skills/react-native-best-practices/references/images/devtools-flamegraph.png +0 -0
- package/.agents/skills/react-native-best-practices/references/images/emerge-xray-ios.png +0 -0
- package/.agents/skills/react-native-best-practices/references/images/expo-atlas-treemap.png +0 -0
- package/.agents/skills/react-native-best-practices/references/images/flashlight-flatlist-vs-flashlist.png +0 -0
- package/.agents/skills/react-native-best-practices/references/images/fps-drop-graph.png +0 -0
- package/.agents/skills/react-native-best-practices/references/images/memory-heap-snapshot.png +0 -0
- package/.agents/skills/react-native-best-practices/references/images/tti-warm-start-diagram.png +0 -0
- package/.agents/skills/react-native-best-practices/references/images/view-hierarchy-flattening.png +0 -0
- package/.agents/skills/react-native-best-practices/references/images/xcode-instruments-templates.png +0 -0
- package/.agents/skills/react-native-best-practices/references/images/xcode-thread-view.png +0 -0
- package/.agents/skills/react-native-best-practices/references/js-animations-reanimated.md +254 -0
- package/.agents/skills/react-native-best-practices/references/js-atomic-state.md +245 -0
- package/.agents/skills/react-native-best-practices/references/js-concurrent-react.md +236 -0
- package/.agents/skills/react-native-best-practices/references/js-lists-flatlist-flashlist.md +236 -0
- package/.agents/skills/react-native-best-practices/references/js-measure-fps.md +180 -0
- package/.agents/skills/react-native-best-practices/references/js-memory-leaks.md +205 -0
- package/.agents/skills/react-native-best-practices/references/js-profile-react.md +161 -0
- package/.agents/skills/react-native-best-practices/references/js-react-compiler.md +368 -0
- package/.agents/skills/react-native-best-practices/references/js-uncontrolled-components.md +216 -0
- package/.agents/skills/react-native-best-practices/references/native-android-16kb-alignment.md +113 -0
- package/.agents/skills/react-native-best-practices/references/native-measure-tti.md +262 -0
- package/.agents/skills/react-native-best-practices/references/native-memory-leaks.md +240 -0
- package/.agents/skills/react-native-best-practices/references/native-memory-patterns.md +274 -0
- package/.agents/skills/react-native-best-practices/references/native-platform-setup.md +110 -0
- package/.agents/skills/react-native-best-practices/references/native-profiling.md +176 -0
- package/.agents/skills/react-native-best-practices/references/native-sdks-over-polyfills.md +183 -0
- package/.agents/skills/react-native-best-practices/references/native-threading-model.md +234 -0
- package/.agents/skills/react-native-best-practices/references/native-turbo-modules.md +292 -0
- package/.agents/skills/react-native-best-practices/references/native-view-flattening.md +201 -0
- package/.agents/skills/react-native-expo/.claude-plugin/plugin.json +13 -0
- package/.agents/skills/react-native-expo/SKILL.md +1077 -0
- package/.agents/skills/react-native-expo/agents/expo-build.md +207 -0
- package/.agents/skills/react-native-expo/assets/css-features-cheatsheet.md +488 -0
- package/.agents/skills/react-native-expo/assets/example-template.txt +14 -0
- package/.agents/skills/react-native-expo/assets/new-arch-decision-tree.md +312 -0
- package/.agents/skills/react-native-expo/references/example-reference.md +26 -0
- package/.agents/skills/react-native-expo/references/expo-sdk-52-breaking.md +409 -0
- package/.agents/skills/react-native-expo/references/new-architecture-errors.md +501 -0
- package/.agents/skills/react-native-expo/references/react-19-migration.md +365 -0
- package/.agents/skills/react-native-expo/scripts/check-rn-version.sh +121 -0
- package/.agents/skills/react-native-expo/scripts/example-script.sh +15 -0
- package/.agents/skills/react-native-testing/SKILL.md +161 -0
- package/.agents/skills/react-native-testing/references/anti-patterns.md +287 -0
- package/.agents/skills/react-native-testing/references/api-reference-v13.md +572 -0
- package/.agents/skills/react-native-testing/references/api-reference-v14.md +574 -0
- package/.agents/skills/recipe-audit-external-sharing/SKILL.md +28 -0
- package/.agents/skills/recipe-backup-sheet-as-csv/SKILL.md +25 -0
- package/.agents/skills/recipe-batch-invite-to-event/SKILL.md +25 -0
- package/.agents/skills/recipe-batch-rename-files/SKILL.md +25 -0
- package/.agents/skills/recipe-batch-reply-to-emails/SKILL.md +26 -0
- package/.agents/skills/recipe-block-focus-time/SKILL.md +24 -0
- package/.agents/skills/recipe-bulk-download-folder/SKILL.md +25 -0
- package/.agents/skills/recipe-cancel-and-notify/SKILL.md +28 -0
- package/.agents/skills/recipe-collect-form-responses/SKILL.md +25 -0
- package/.agents/skills/recipe-compare-sheet-tabs/SKILL.md +25 -0
- package/.agents/skills/recipe-copy-sheet-for-new-month/SKILL.md +25 -0
- package/.agents/skills/recipe-create-classroom-course/SKILL.md +25 -0
- package/.agents/skills/recipe-create-doc-from-template/SKILL.md +29 -0
- package/.agents/skills/recipe-create-events-from-sheet/SKILL.md +24 -0
- package/.agents/skills/recipe-create-expense-tracker/SKILL.md +26 -0
- package/.agents/skills/recipe-create-feedback-form/SKILL.md +25 -0
- package/.agents/skills/recipe-create-gmail-filter/SKILL.md +26 -0
- package/.agents/skills/recipe-create-meet-space/SKILL.md +25 -0
- package/.agents/skills/recipe-create-presentation/SKILL.md +25 -0
- package/.agents/skills/recipe-create-shared-drive/SKILL.md +25 -0
- package/.agents/skills/recipe-create-task-list/SKILL.md +26 -0
- package/.agents/skills/recipe-create-vacation-responder/SKILL.md +25 -0
- package/.agents/skills/recipe-deploy-apps-script/SKILL.md +26 -0
- package/.agents/skills/recipe-draft-email-from-doc/SKILL.md +25 -0
- package/.agents/skills/recipe-email-drive-link/SKILL.md +25 -0
- package/.agents/skills/recipe-find-free-time/SKILL.md +25 -0
- package/.agents/skills/recipe-find-large-files/SKILL.md +24 -0
- package/.agents/skills/recipe-forward-labeled-emails/SKILL.md +27 -0
- package/.agents/skills/recipe-generate-report-from-sheet/SKILL.md +34 -0
- package/.agents/skills/recipe-label-and-archive-emails/SKILL.md +25 -0
- package/.agents/skills/recipe-log-deal-update/SKILL.md +25 -0
- package/.agents/skills/recipe-organize-drive-folder/SKILL.md +26 -0
- package/.agents/skills/recipe-plan-weekly-schedule/SKILL.md +26 -0
- package/.agents/skills/recipe-post-mortem-setup/SKILL.md +25 -0
- package/.agents/skills/recipe-reschedule-meeting/SKILL.md +25 -0
- package/.agents/skills/recipe-review-meet-participants/SKILL.md +25 -0
- package/.agents/skills/recipe-review-overdue-tasks/SKILL.md +25 -0
- package/.agents/skills/recipe-save-email-attachments/SKILL.md +26 -0
- package/.agents/skills/recipe-save-email-to-doc/SKILL.md +29 -0
- package/.agents/skills/recipe-schedule-recurring-event/SKILL.md +24 -0
- package/.agents/skills/recipe-search-and-export-emails/SKILL.md +25 -0
- package/.agents/skills/recipe-send-personalized-emails/SKILL.md +24 -0
- package/.agents/skills/recipe-send-team-announcement/SKILL.md +24 -0
- package/.agents/skills/recipe-share-doc-and-notify/SKILL.md +25 -0
- package/.agents/skills/recipe-share-event-materials/SKILL.md +25 -0
- package/.agents/skills/recipe-share-folder-with-team/SKILL.md +26 -0
- package/.agents/skills/recipe-sync-contacts-to-sheet/SKILL.md +25 -0
- package/.agents/skills/recipe-transfer-file-ownership/SKILL.md +27 -0
- package/.agents/skills/recipe-triage-security-alerts/SKILL.md +25 -0
- package/.agents/skills/recipe-watch-drive-changes/SKILL.md +25 -0
- package/.agents/skills/referral-program/SKILL.md +255 -0
- package/.agents/skills/referral-program/references/affiliate-programs.md +164 -0
- package/.agents/skills/referral-program/references/program-examples.md +143 -0
- package/.agents/skills/remotion-best-practices/SKILL.md +43 -0
- package/.agents/skills/remotion-best-practices/rules/3d.md +86 -0
- package/.agents/skills/remotion-best-practices/rules/animations.md +29 -0
- package/.agents/skills/remotion-best-practices/rules/assets/charts-bar-chart.tsx +173 -0
- package/.agents/skills/remotion-best-practices/rules/assets/text-animations-typewriter.tsx +100 -0
- package/.agents/skills/remotion-best-practices/rules/assets/text-animations-word-highlight.tsx +108 -0
- package/.agents/skills/remotion-best-practices/rules/assets.md +78 -0
- package/.agents/skills/remotion-best-practices/rules/audio.md +172 -0
- package/.agents/skills/remotion-best-practices/rules/calculate-metadata.md +104 -0
- package/.agents/skills/remotion-best-practices/rules/can-decode.md +75 -0
- package/.agents/skills/remotion-best-practices/rules/charts.md +58 -0
- package/.agents/skills/remotion-best-practices/rules/compositions.md +146 -0
- package/.agents/skills/remotion-best-practices/rules/display-captions.md +126 -0
- package/.agents/skills/remotion-best-practices/rules/extract-frames.md +229 -0
- package/.agents/skills/remotion-best-practices/rules/fonts.md +152 -0
- package/.agents/skills/remotion-best-practices/rules/get-audio-duration.md +58 -0
- package/.agents/skills/remotion-best-practices/rules/get-video-dimensions.md +68 -0
- package/.agents/skills/remotion-best-practices/rules/get-video-duration.md +58 -0
- package/.agents/skills/remotion-best-practices/rules/gifs.md +138 -0
- package/.agents/skills/remotion-best-practices/rules/images.md +130 -0
- package/.agents/skills/remotion-best-practices/rules/import-srt-captions.md +67 -0
- package/.agents/skills/remotion-best-practices/rules/lottie.md +68 -0
- package/.agents/skills/remotion-best-practices/rules/measuring-dom-nodes.md +35 -0
- package/.agents/skills/remotion-best-practices/rules/measuring-text.md +143 -0
- package/.agents/skills/remotion-best-practices/rules/sequencing.md +106 -0
- package/.agents/skills/remotion-best-practices/rules/tailwind.md +11 -0
- package/.agents/skills/remotion-best-practices/rules/text-animations.md +20 -0
- package/.agents/skills/remotion-best-practices/rules/timing.md +179 -0
- package/.agents/skills/remotion-best-practices/rules/transcribe-captions.md +19 -0
- package/.agents/skills/remotion-best-practices/rules/transitions.md +122 -0
- package/.agents/skills/remotion-best-practices/rules/trimming.md +53 -0
- package/.agents/skills/remotion-best-practices/rules/videos.md +171 -0
- package/.agents/skills/resend/LICENSE +21 -0
- package/.agents/skills/resend/README.md +59 -0
- package/.agents/skills/resend/SKILL.md +86 -0
- package/.agents/skills/resend/agent-email-inbox/SKILL.md +1147 -0
- package/.agents/skills/resend/package.json +11 -0
- package/.agents/skills/resend/pnpm-lock.yaml +68 -0
- package/.agents/skills/resend/resend-inbound/SKILL.md +279 -0
- package/.agents/skills/resend/send-email/SKILL.md +405 -0
- package/.agents/skills/resend/send-email/references/batch-email-examples.md +807 -0
- package/.agents/skills/resend/send-email/references/best-practices.md +453 -0
- package/.agents/skills/resend/send-email/references/installation.md +142 -0
- package/.agents/skills/resend/send-email/references/single-email-examples.md +470 -0
- package/.agents/skills/resend/send-email/references/webhooks.md +221 -0
- package/.agents/skills/resend/templates/SKILL.md +105 -0
- package/.agents/skills/resend/templates/fetch-all-templates.mjs +36 -0
- package/.agents/skills/resend/templates/reference.md +114 -0
- package/.agents/skills/resend/tests/agent-email-inbox.test.md +371 -0
- package/.agents/skills/resend/tests/resend-inbound.test.md +280 -0
- package/.agents/skills/resend/tests/resend-router.test.md +200 -0
- package/.agents/skills/resend/tests/send-email.test.md +337 -0
- package/.agents/skills/resend/tests/templates.test.md +295 -0
- package/.agents/skills/revops/SKILL.md +343 -0
- package/.agents/skills/revops/references/automation-playbooks.md +290 -0
- package/.agents/skills/revops/references/lifecycle-definitions.md +278 -0
- package/.agents/skills/revops/references/routing-rules.md +203 -0
- package/.agents/skills/revops/references/scoring-models.md +247 -0
- package/.agents/skills/sales-enablement/SKILL.md +349 -0
- package/.agents/skills/sales-enablement/references/deck-frameworks.md +263 -0
- package/.agents/skills/sales-enablement/references/demo-scripts.md +355 -0
- package/.agents/skills/sales-enablement/references/objection-library.md +270 -0
- package/.agents/skills/sales-enablement/references/one-pager-templates.md +208 -0
- package/.agents/skills/schema-markup/SKILL.md +179 -0
- package/.agents/skills/schema-markup/references/schema-examples.md +398 -0
- package/.agents/skills/seo-audit/SKILL.md +412 -0
- package/.agents/skills/seo-audit/references/ai-writing-detection.md +200 -0
- package/.agents/skills/shadcn/SKILL.md +240 -0
- package/.agents/skills/shadcn/agents/openai.yml +5 -0
- package/.agents/skills/shadcn/assets/shadcn-small.png +0 -0
- package/.agents/skills/shadcn/assets/shadcn.png +0 -0
- package/.agents/skills/shadcn/cli.md +255 -0
- package/.agents/skills/shadcn/customization.md +202 -0
- package/.agents/skills/shadcn/evals/evals.json +47 -0
- package/.agents/skills/shadcn/mcp.md +94 -0
- package/.agents/skills/shadcn/rules/base-vs-radix.md +306 -0
- package/.agents/skills/shadcn/rules/composition.md +195 -0
- package/.agents/skills/shadcn/rules/forms.md +192 -0
- package/.agents/skills/shadcn/rules/icons.md +101 -0
- package/.agents/skills/shadcn/rules/styling.md +162 -0
- package/.agents/skills/signup-flow-cro/SKILL.md +359 -0
- package/.agents/skills/site-architecture/SKILL.md +357 -0
- package/.agents/skills/site-architecture/references/mermaid-templates.md +216 -0
- package/.agents/skills/site-architecture/references/navigation-patterns.md +305 -0
- package/.agents/skills/site-architecture/references/site-type-templates.md +293 -0
- package/.agents/skills/skill-creator/LICENSE.txt +202 -0
- package/.agents/skills/skill-creator/SKILL.md +356 -0
- package/.agents/skills/skill-creator/references/output-patterns.md +82 -0
- package/.agents/skills/skill-creator/references/workflows.md +28 -0
- package/.agents/skills/skill-creator/scripts/init_skill.py +303 -0
- package/.agents/skills/skill-creator/scripts/package_skill.py +110 -0
- package/.agents/skills/skill-creator/scripts/quick_validate.py +95 -0
- package/.agents/skills/social-content/SKILL.md +278 -0
- package/.agents/skills/social-content/references/platforms.md +170 -0
- package/.agents/skills/social-content/references/post-templates.md +177 -0
- package/.agents/skills/social-content/references/reverse-engineering.md +195 -0
- package/.agents/skills/supabase-postgres-best-practices/AGENTS.md +68 -0
- package/.agents/skills/supabase-postgres-best-practices/CLAUDE.md +68 -0
- package/.agents/skills/supabase-postgres-best-practices/SKILL.md +64 -0
- package/.agents/skills/supabase-postgres-best-practices/references/advanced-full-text-search.md +55 -0
- package/.agents/skills/supabase-postgres-best-practices/references/advanced-jsonb-indexing.md +49 -0
- package/.agents/skills/supabase-postgres-best-practices/references/conn-idle-timeout.md +46 -0
- package/.agents/skills/supabase-postgres-best-practices/references/conn-limits.md +44 -0
- package/.agents/skills/supabase-postgres-best-practices/references/conn-pooling.md +41 -0
- package/.agents/skills/supabase-postgres-best-practices/references/conn-prepared-statements.md +46 -0
- package/.agents/skills/supabase-postgres-best-practices/references/data-batch-inserts.md +54 -0
- package/.agents/skills/supabase-postgres-best-practices/references/data-n-plus-one.md +53 -0
- package/.agents/skills/supabase-postgres-best-practices/references/data-pagination.md +50 -0
- package/.agents/skills/supabase-postgres-best-practices/references/data-upsert.md +50 -0
- package/.agents/skills/supabase-postgres-best-practices/references/lock-advisory.md +56 -0
- package/.agents/skills/supabase-postgres-best-practices/references/lock-deadlock-prevention.md +68 -0
- package/.agents/skills/supabase-postgres-best-practices/references/lock-short-transactions.md +50 -0
- package/.agents/skills/supabase-postgres-best-practices/references/lock-skip-locked.md +54 -0
- package/.agents/skills/supabase-postgres-best-practices/references/monitor-explain-analyze.md +45 -0
- package/.agents/skills/supabase-postgres-best-practices/references/monitor-pg-stat-statements.md +55 -0
- package/.agents/skills/supabase-postgres-best-practices/references/monitor-vacuum-analyze.md +55 -0
- package/.agents/skills/supabase-postgres-best-practices/references/query-composite-indexes.md +44 -0
- package/.agents/skills/supabase-postgres-best-practices/references/query-covering-indexes.md +40 -0
- package/.agents/skills/supabase-postgres-best-practices/references/query-index-types.md +48 -0
- package/.agents/skills/supabase-postgres-best-practices/references/query-missing-indexes.md +43 -0
- package/.agents/skills/supabase-postgres-best-practices/references/query-partial-indexes.md +45 -0
- package/.agents/skills/supabase-postgres-best-practices/references/schema-constraints.md +80 -0
- package/.agents/skills/supabase-postgres-best-practices/references/schema-data-types.md +46 -0
- package/.agents/skills/supabase-postgres-best-practices/references/schema-foreign-key-indexes.md +59 -0
- package/.agents/skills/supabase-postgres-best-practices/references/schema-lowercase-identifiers.md +55 -0
- package/.agents/skills/supabase-postgres-best-practices/references/schema-partitioning.md +55 -0
- package/.agents/skills/supabase-postgres-best-practices/references/schema-primary-keys.md +61 -0
- package/.agents/skills/supabase-postgres-best-practices/references/security-privileges.md +54 -0
- package/.agents/skills/supabase-postgres-best-practices/references/security-rls-basics.md +50 -0
- package/.agents/skills/supabase-postgres-best-practices/references/security-rls-performance.md +57 -0
- package/.agents/skills/ui-skills/SKILL.md +85 -0
- package/.agents/skills/ui-ux-pro-max/SKILL.md +386 -0
- package/.agents/skills/ui-ux-pro-max/data/charts.csv +26 -0
- package/.agents/skills/ui-ux-pro-max/data/colors.csv +97 -0
- package/.agents/skills/ui-ux-pro-max/data/icons.csv +101 -0
- package/.agents/skills/ui-ux-pro-max/data/landing.csv +31 -0
- package/.agents/skills/ui-ux-pro-max/data/products.csv +97 -0
- package/.agents/skills/ui-ux-pro-max/data/react-performance.csv +45 -0
- package/.agents/skills/ui-ux-pro-max/data/stacks/astro.csv +54 -0
- package/.agents/skills/ui-ux-pro-max/data/stacks/flutter.csv +53 -0
- package/.agents/skills/ui-ux-pro-max/data/stacks/html-tailwind.csv +56 -0
- package/.agents/skills/ui-ux-pro-max/data/stacks/jetpack-compose.csv +53 -0
- package/.agents/skills/ui-ux-pro-max/data/stacks/nextjs.csv +53 -0
- package/.agents/skills/ui-ux-pro-max/data/stacks/nuxt-ui.csv +51 -0
- package/.agents/skills/ui-ux-pro-max/data/stacks/nuxtjs.csv +59 -0
- package/.agents/skills/ui-ux-pro-max/data/stacks/react-native.csv +52 -0
- package/.agents/skills/ui-ux-pro-max/data/stacks/react.csv +54 -0
- package/.agents/skills/ui-ux-pro-max/data/stacks/shadcn.csv +61 -0
- package/.agents/skills/ui-ux-pro-max/data/stacks/svelte.csv +54 -0
- package/.agents/skills/ui-ux-pro-max/data/stacks/swiftui.csv +51 -0
- package/.agents/skills/ui-ux-pro-max/data/stacks/vue.csv +50 -0
- package/.agents/skills/ui-ux-pro-max/data/styles.csv +68 -0
- package/.agents/skills/ui-ux-pro-max/data/typography.csv +58 -0
- package/.agents/skills/ui-ux-pro-max/data/ui-reasoning.csv +101 -0
- package/.agents/skills/ui-ux-pro-max/data/ux-guidelines.csv +100 -0
- package/.agents/skills/ui-ux-pro-max/data/web-interface.csv +31 -0
- package/.agents/skills/ui-ux-pro-max/scripts/core.py +253 -0
- package/.agents/skills/ui-ux-pro-max/scripts/design_system.py +1067 -0
- package/.agents/skills/ui-ux-pro-max/scripts/search.py +114 -0
- package/.agents/skills/upgrading-expo/SKILL.md +125 -0
- package/.agents/skills/upgrading-expo/references/expo-av-to-audio.md +132 -0
- package/.agents/skills/upgrading-expo/references/expo-av-to-video.md +160 -0
- package/.agents/skills/upgrading-expo/references/native-tabs.md +124 -0
- package/.agents/skills/upgrading-expo/references/new-architecture.md +79 -0
- package/.agents/skills/upgrading-expo/references/react-19.md +79 -0
- package/.agents/skills/upgrading-expo/references/react-compiler.md +59 -0
- package/.agents/skills/use-dom/SKILL.md +417 -0
- package/.agents/skills/use-railway/SKILL.md +124 -0
- package/.agents/skills/use-railway/references/configure.md +283 -0
- package/.agents/skills/use-railway/references/deploy.md +184 -0
- package/.agents/skills/use-railway/references/operate.md +159 -0
- package/.agents/skills/use-railway/references/request.md +238 -0
- package/.agents/skills/use-railway/references/setup.md +195 -0
- package/.agents/skills/use-railway/scripts/railway-api.sh +41 -0
- package/.agents/skills/vercel-composition-patterns/AGENTS.md +946 -0
- package/.agents/skills/vercel-composition-patterns/README.md +60 -0
- package/.agents/skills/vercel-composition-patterns/SKILL.md +89 -0
- package/.agents/skills/vercel-composition-patterns/rules/architecture-avoid-boolean-props.md +100 -0
- package/.agents/skills/vercel-composition-patterns/rules/architecture-compound-components.md +112 -0
- package/.agents/skills/vercel-composition-patterns/rules/patterns-children-over-render-props.md +87 -0
- package/.agents/skills/vercel-composition-patterns/rules/patterns-explicit-variants.md +100 -0
- package/.agents/skills/vercel-composition-patterns/rules/react19-no-forwardref.md +42 -0
- package/.agents/skills/vercel-composition-patterns/rules/state-context-interface.md +191 -0
- package/.agents/skills/vercel-composition-patterns/rules/state-decouple-implementation.md +113 -0
- package/.agents/skills/vercel-composition-patterns/rules/state-lift-state.md +125 -0
- package/.agents/skills/vercel-react-best-practices/AGENTS.md +2934 -0
- package/.agents/skills/vercel-react-best-practices/SKILL.md +136 -0
- package/.agents/skills/vercel-react-best-practices/rules/advanced-event-handler-refs.md +55 -0
- package/.agents/skills/vercel-react-best-practices/rules/advanced-init-once.md +42 -0
- package/.agents/skills/vercel-react-best-practices/rules/advanced-use-latest.md +39 -0
- package/.agents/skills/vercel-react-best-practices/rules/async-api-routes.md +38 -0
- package/.agents/skills/vercel-react-best-practices/rules/async-defer-await.md +80 -0
- package/.agents/skills/vercel-react-best-practices/rules/async-dependencies.md +51 -0
- package/.agents/skills/vercel-react-best-practices/rules/async-parallel.md +28 -0
- package/.agents/skills/vercel-react-best-practices/rules/async-suspense-boundaries.md +99 -0
- package/.agents/skills/vercel-react-best-practices/rules/bundle-barrel-imports.md +59 -0
- package/.agents/skills/vercel-react-best-practices/rules/bundle-conditional.md +31 -0
- package/.agents/skills/vercel-react-best-practices/rules/bundle-defer-third-party.md +49 -0
- package/.agents/skills/vercel-react-best-practices/rules/bundle-dynamic-imports.md +35 -0
- package/.agents/skills/vercel-react-best-practices/rules/bundle-preload.md +50 -0
- package/.agents/skills/vercel-react-best-practices/rules/client-event-listeners.md +74 -0
- package/.agents/skills/vercel-react-best-practices/rules/client-localstorage-schema.md +71 -0
- package/.agents/skills/vercel-react-best-practices/rules/client-passive-event-listeners.md +48 -0
- package/.agents/skills/vercel-react-best-practices/rules/client-swr-dedup.md +56 -0
- package/.agents/skills/vercel-react-best-practices/rules/js-batch-dom-css.md +107 -0
- package/.agents/skills/vercel-react-best-practices/rules/js-cache-function-results.md +80 -0
- package/.agents/skills/vercel-react-best-practices/rules/js-cache-property-access.md +28 -0
- package/.agents/skills/vercel-react-best-practices/rules/js-cache-storage.md +70 -0
- package/.agents/skills/vercel-react-best-practices/rules/js-combine-iterations.md +32 -0
- package/.agents/skills/vercel-react-best-practices/rules/js-early-exit.md +50 -0
- package/.agents/skills/vercel-react-best-practices/rules/js-hoist-regexp.md +45 -0
- package/.agents/skills/vercel-react-best-practices/rules/js-index-maps.md +37 -0
- package/.agents/skills/vercel-react-best-practices/rules/js-length-check-first.md +49 -0
- package/.agents/skills/vercel-react-best-practices/rules/js-min-max-loop.md +82 -0
- package/.agents/skills/vercel-react-best-practices/rules/js-set-map-lookups.md +24 -0
- package/.agents/skills/vercel-react-best-practices/rules/js-tosorted-immutable.md +57 -0
- package/.agents/skills/vercel-react-best-practices/rules/rendering-activity.md +26 -0
- package/.agents/skills/vercel-react-best-practices/rules/rendering-animate-svg-wrapper.md +47 -0
- package/.agents/skills/vercel-react-best-practices/rules/rendering-conditional-render.md +40 -0
- package/.agents/skills/vercel-react-best-practices/rules/rendering-content-visibility.md +38 -0
- package/.agents/skills/vercel-react-best-practices/rules/rendering-hoist-jsx.md +46 -0
- package/.agents/skills/vercel-react-best-practices/rules/rendering-hydration-no-flicker.md +82 -0
- package/.agents/skills/vercel-react-best-practices/rules/rendering-hydration-suppress-warning.md +30 -0
- package/.agents/skills/vercel-react-best-practices/rules/rendering-svg-precision.md +28 -0
- package/.agents/skills/vercel-react-best-practices/rules/rendering-usetransition-loading.md +75 -0
- package/.agents/skills/vercel-react-best-practices/rules/rerender-defer-reads.md +39 -0
- package/.agents/skills/vercel-react-best-practices/rules/rerender-dependencies.md +45 -0
- package/.agents/skills/vercel-react-best-practices/rules/rerender-derived-state-no-effect.md +40 -0
- package/.agents/skills/vercel-react-best-practices/rules/rerender-derived-state.md +29 -0
- package/.agents/skills/vercel-react-best-practices/rules/rerender-functional-setstate.md +74 -0
- package/.agents/skills/vercel-react-best-practices/rules/rerender-lazy-state-init.md +58 -0
- package/.agents/skills/vercel-react-best-practices/rules/rerender-memo-with-default-value.md +38 -0
- package/.agents/skills/vercel-react-best-practices/rules/rerender-memo.md +44 -0
- package/.agents/skills/vercel-react-best-practices/rules/rerender-move-effect-to-event.md +45 -0
- package/.agents/skills/vercel-react-best-practices/rules/rerender-simple-expression-in-memo.md +35 -0
- package/.agents/skills/vercel-react-best-practices/rules/rerender-transitions.md +40 -0
- package/.agents/skills/vercel-react-best-practices/rules/rerender-use-ref-transient-values.md +73 -0
- package/.agents/skills/vercel-react-best-practices/rules/server-after-nonblocking.md +73 -0
- package/.agents/skills/vercel-react-best-practices/rules/server-auth-actions.md +96 -0
- package/.agents/skills/vercel-react-best-practices/rules/server-cache-lru.md +41 -0
- package/.agents/skills/vercel-react-best-practices/rules/server-cache-react.md +76 -0
- package/.agents/skills/vercel-react-best-practices/rules/server-dedup-props.md +65 -0
- package/.agents/skills/vercel-react-best-practices/rules/server-parallel-fetching.md +83 -0
- package/.agents/skills/vercel-react-best-practices/rules/server-serialization.md +38 -0
- package/.agents/skills/vercel-react-native-skills/AGENTS.md +2897 -0
- package/.agents/skills/vercel-react-native-skills/SKILL.md +121 -0
- package/.agents/skills/vercel-react-native-skills/rules/animation-derived-value.md +53 -0
- package/.agents/skills/vercel-react-native-skills/rules/animation-gesture-detector-press.md +95 -0
- package/.agents/skills/vercel-react-native-skills/rules/animation-gpu-properties.md +65 -0
- package/.agents/skills/vercel-react-native-skills/rules/design-system-compound-components.md +66 -0
- package/.agents/skills/vercel-react-native-skills/rules/fonts-config-plugin.md +71 -0
- package/.agents/skills/vercel-react-native-skills/rules/imports-design-system-folder.md +68 -0
- package/.agents/skills/vercel-react-native-skills/rules/js-hoist-intl.md +61 -0
- package/.agents/skills/vercel-react-native-skills/rules/list-performance-callbacks.md +44 -0
- package/.agents/skills/vercel-react-native-skills/rules/list-performance-function-references.md +132 -0
- package/.agents/skills/vercel-react-native-skills/rules/list-performance-images.md +53 -0
- package/.agents/skills/vercel-react-native-skills/rules/list-performance-inline-objects.md +97 -0
- package/.agents/skills/vercel-react-native-skills/rules/list-performance-item-expensive.md +94 -0
- package/.agents/skills/vercel-react-native-skills/rules/list-performance-item-memo.md +82 -0
- package/.agents/skills/vercel-react-native-skills/rules/list-performance-item-types.md +104 -0
- package/.agents/skills/vercel-react-native-skills/rules/list-performance-virtualize.md +67 -0
- package/.agents/skills/vercel-react-native-skills/rules/monorepo-native-deps-in-app.md +46 -0
- package/.agents/skills/vercel-react-native-skills/rules/monorepo-single-dependency-versions.md +63 -0
- package/.agents/skills/vercel-react-native-skills/rules/navigation-native-navigators.md +188 -0
- package/.agents/skills/vercel-react-native-skills/rules/react-compiler-destructure-functions.md +50 -0
- package/.agents/skills/vercel-react-native-skills/rules/react-compiler-reanimated-shared-values.md +48 -0
- package/.agents/skills/vercel-react-native-skills/rules/react-state-dispatcher.md +91 -0
- package/.agents/skills/vercel-react-native-skills/rules/react-state-fallback.md +56 -0
- package/.agents/skills/vercel-react-native-skills/rules/react-state-minimize.md +65 -0
- package/.agents/skills/vercel-react-native-skills/rules/rendering-no-falsy-and.md +74 -0
- package/.agents/skills/vercel-react-native-skills/rules/rendering-text-in-text-component.md +36 -0
- package/.agents/skills/vercel-react-native-skills/rules/scroll-position-no-state.md +82 -0
- package/.agents/skills/vercel-react-native-skills/rules/state-ground-truth.md +80 -0
- package/.agents/skills/vercel-react-native-skills/rules/ui-expo-image.md +66 -0
- package/.agents/skills/vercel-react-native-skills/rules/ui-image-gallery.md +104 -0
- package/.agents/skills/vercel-react-native-skills/rules/ui-measure-views.md +78 -0
- package/.agents/skills/vercel-react-native-skills/rules/ui-menus.md +174 -0
- package/.agents/skills/vercel-react-native-skills/rules/ui-native-modals.md +77 -0
- package/.agents/skills/vercel-react-native-skills/rules/ui-pressable.md +61 -0
- package/.agents/skills/vercel-react-native-skills/rules/ui-safe-area-scroll.md +65 -0
- package/.agents/skills/vercel-react-native-skills/rules/ui-scrollview-content-inset.md +45 -0
- package/.agents/skills/vercel-react-native-skills/rules/ui-styling.md +87 -0
- package/.agents/skills/web-design-guidelines/SKILL.md +39 -0
- package/.claude/CLAUDE.md +48 -0
- package/.claude/settings.local.json +7 -0
- package/.claude/skills/agent-browser/SKILL.md +347 -0
- package/.claude/skills/agent-browser/references/authentication.md +188 -0
- package/.claude/skills/agent-browser/references/proxy-support.md +175 -0
- package/.claude/skills/agent-browser/references/session-management.md +181 -0
- package/.claude/skills/agent-browser/references/snapshot-refs.md +186 -0
- package/.claude/skills/agent-browser/references/video-recording.md +162 -0
- package/.claude/skills/agent-browser/templates/authenticated-session.sh +91 -0
- package/.claude/skills/agent-browser/templates/capture-workflow.sh +68 -0
- package/.claude/skills/agent-browser/templates/form-automation.sh +64 -0
- package/.claude/skills/better-auth-best-practices/SKILL.md +166 -0
- package/.claude/skills/create-auth-skill/SKILL.md +214 -0
- package/.claude/skills/design-md/SKILL.md +172 -0
- package/.claude/skills/design-md/examples/DESIGN.md +154 -0
- package/.claude/skills/frontend-design/LICENSE.txt +177 -0
- package/.claude/skills/frontend-design/SKILL.md +42 -0
- package/.claude/skills/init-nexxo/SKILL.md +61 -0
- package/.claude/skills/init-nexxo/references/templates.md +166 -0
- package/.claude/skills/kickoff/SKILL.md +90 -0
- package/.claude/skills/planning-with-files/SKILL.md +160 -0
- package/.claude/skills/planning-with-files/examples.md +202 -0
- package/.claude/skills/planning-with-files/reference.md +110 -0
- package/.claude/skills/react-useeffect/SKILL.md +53 -0
- package/.claude/skills/react-useeffect/alternatives.md +258 -0
- package/.claude/skills/react-useeffect/anti-patterns.md +290 -0
- package/.claude/skills/remotion-best-practices/SKILL.md +43 -0
- package/.claude/skills/remotion-best-practices/rules/3d.md +86 -0
- package/.claude/skills/remotion-best-practices/rules/animations.md +29 -0
- package/.claude/skills/remotion-best-practices/rules/assets/charts-bar-chart.tsx +173 -0
- package/.claude/skills/remotion-best-practices/rules/assets/text-animations-typewriter.tsx +100 -0
- package/.claude/skills/remotion-best-practices/rules/assets/text-animations-word-highlight.tsx +108 -0
- package/.claude/skills/remotion-best-practices/rules/assets.md +78 -0
- package/.claude/skills/remotion-best-practices/rules/audio.md +172 -0
- package/.claude/skills/remotion-best-practices/rules/calculate-metadata.md +104 -0
- package/.claude/skills/remotion-best-practices/rules/can-decode.md +75 -0
- package/.claude/skills/remotion-best-practices/rules/charts.md +58 -0
- package/.claude/skills/remotion-best-practices/rules/compositions.md +146 -0
- package/.claude/skills/remotion-best-practices/rules/display-captions.md +126 -0
- package/.claude/skills/remotion-best-practices/rules/extract-frames.md +229 -0
- package/.claude/skills/remotion-best-practices/rules/fonts.md +152 -0
- package/.claude/skills/remotion-best-practices/rules/get-audio-duration.md +58 -0
- package/.claude/skills/remotion-best-practices/rules/get-video-dimensions.md +68 -0
- package/.claude/skills/remotion-best-practices/rules/get-video-duration.md +58 -0
- package/.claude/skills/remotion-best-practices/rules/gifs.md +138 -0
- package/.claude/skills/remotion-best-practices/rules/images.md +130 -0
- package/.claude/skills/remotion-best-practices/rules/import-srt-captions.md +67 -0
- package/.claude/skills/remotion-best-practices/rules/lottie.md +68 -0
- package/.claude/skills/remotion-best-practices/rules/measuring-dom-nodes.md +35 -0
- package/.claude/skills/remotion-best-practices/rules/measuring-text.md +143 -0
- package/.claude/skills/remotion-best-practices/rules/sequencing.md +106 -0
- package/.claude/skills/remotion-best-practices/rules/tailwind.md +11 -0
- package/.claude/skills/remotion-best-practices/rules/text-animations.md +20 -0
- package/.claude/skills/remotion-best-practices/rules/timing.md +179 -0
- package/.claude/skills/remotion-best-practices/rules/transcribe-captions.md +19 -0
- package/.claude/skills/remotion-best-practices/rules/transitions.md +122 -0
- package/.claude/skills/remotion-best-practices/rules/trimming.md +53 -0
- package/.claude/skills/remotion-best-practices/rules/videos.md +171 -0
- package/.claude/skills/skill-creator/LICENSE.txt +202 -0
- package/.claude/skills/skill-creator/SKILL.md +356 -0
- package/.claude/skills/skill-creator/references/output-patterns.md +82 -0
- package/.claude/skills/skill-creator/references/workflows.md +28 -0
- package/.claude/skills/skill-creator/scripts/init_skill.py +303 -0
- package/.claude/skills/skill-creator/scripts/package_skill.py +110 -0
- package/.claude/skills/skill-creator/scripts/quick_validate.py +95 -0
- package/.claude/skills/ui-skills/SKILL.md +85 -0
- package/.claude/skills/uifix/SKILL.md +46 -0
- package/.claude/skills/web-design-guidelines/SKILL.md +39 -0
- package/.codex/config.toml.template +158 -0
- package/.cursor/CURSOR.md +0 -0
- package/.cursor/hooks/state/continual-learning.json +8 -0
- package/.cursor/skills/agent-browser/SKILL.md +347 -0
- package/.cursor/skills/agent-browser/references/authentication.md +188 -0
- package/.cursor/skills/agent-browser/references/proxy-support.md +175 -0
- package/.cursor/skills/agent-browser/references/session-management.md +181 -0
- package/.cursor/skills/agent-browser/references/snapshot-refs.md +186 -0
- package/.cursor/skills/agent-browser/references/video-recording.md +162 -0
- package/.cursor/skills/agent-browser/templates/authenticated-session.sh +91 -0
- package/.cursor/skills/agent-browser/templates/capture-workflow.sh +68 -0
- package/.cursor/skills/agent-browser/templates/form-automation.sh +64 -0
- package/.cursor/skills/better-auth-best-practices/SKILL.md +166 -0
- package/.cursor/skills/create-auth-skill/SKILL.md +214 -0
- package/.cursor/skills/design-md/SKILL.md +172 -0
- package/.cursor/skills/design-md/examples/DESIGN.md +154 -0
- package/.cursor/skills/frontend-design/LICENSE.txt +177 -0
- package/.cursor/skills/frontend-design/SKILL.md +42 -0
- package/.cursor/skills/remotion-best-practices/SKILL.md +43 -0
- package/.cursor/skills/remotion-best-practices/rules/3d.md +86 -0
- package/.cursor/skills/remotion-best-practices/rules/animations.md +29 -0
- package/.cursor/skills/remotion-best-practices/rules/assets/charts-bar-chart.tsx +173 -0
- package/.cursor/skills/remotion-best-practices/rules/assets/text-animations-typewriter.tsx +100 -0
- package/.cursor/skills/remotion-best-practices/rules/assets/text-animations-word-highlight.tsx +108 -0
- package/.cursor/skills/remotion-best-practices/rules/assets.md +78 -0
- package/.cursor/skills/remotion-best-practices/rules/audio.md +172 -0
- package/.cursor/skills/remotion-best-practices/rules/calculate-metadata.md +104 -0
- package/.cursor/skills/remotion-best-practices/rules/can-decode.md +75 -0
- package/.cursor/skills/remotion-best-practices/rules/charts.md +58 -0
- package/.cursor/skills/remotion-best-practices/rules/compositions.md +146 -0
- package/.cursor/skills/remotion-best-practices/rules/display-captions.md +126 -0
- package/.cursor/skills/remotion-best-practices/rules/extract-frames.md +229 -0
- package/.cursor/skills/remotion-best-practices/rules/fonts.md +152 -0
- package/.cursor/skills/remotion-best-practices/rules/get-audio-duration.md +58 -0
- package/.cursor/skills/remotion-best-practices/rules/get-video-dimensions.md +68 -0
- package/.cursor/skills/remotion-best-practices/rules/get-video-duration.md +58 -0
- package/.cursor/skills/remotion-best-practices/rules/gifs.md +138 -0
- package/.cursor/skills/remotion-best-practices/rules/images.md +130 -0
- package/.cursor/skills/remotion-best-practices/rules/import-srt-captions.md +67 -0
- package/.cursor/skills/remotion-best-practices/rules/lottie.md +68 -0
- package/.cursor/skills/remotion-best-practices/rules/measuring-dom-nodes.md +35 -0
- package/.cursor/skills/remotion-best-practices/rules/measuring-text.md +143 -0
- package/.cursor/skills/remotion-best-practices/rules/sequencing.md +106 -0
- package/.cursor/skills/remotion-best-practices/rules/tailwind.md +11 -0
- package/.cursor/skills/remotion-best-practices/rules/text-animations.md +20 -0
- package/.cursor/skills/remotion-best-practices/rules/timing.md +179 -0
- package/.cursor/skills/remotion-best-practices/rules/transcribe-captions.md +19 -0
- package/.cursor/skills/remotion-best-practices/rules/transitions.md +122 -0
- package/.cursor/skills/remotion-best-practices/rules/trimming.md +53 -0
- package/.cursor/skills/remotion-best-practices/rules/videos.md +171 -0
- package/.cursor/skills/skill-creator/LICENSE.txt +202 -0
- package/.cursor/skills/skill-creator/SKILL.md +356 -0
- package/.cursor/skills/skill-creator/references/output-patterns.md +82 -0
- package/.cursor/skills/skill-creator/references/workflows.md +28 -0
- package/.cursor/skills/skill-creator/scripts/init_skill.py +303 -0
- package/.cursor/skills/skill-creator/scripts/package_skill.py +110 -0
- package/.cursor/skills/skill-creator/scripts/quick_validate.py +95 -0
- package/.cursor/skills/ui-skills/SKILL.md +85 -0
- package/.cursor/skills/use-railway/SKILL.md +124 -0
- package/.cursor/skills/use-railway/references/configure.md +283 -0
- package/.cursor/skills/use-railway/references/deploy.md +184 -0
- package/.cursor/skills/use-railway/references/operate.md +159 -0
- package/.cursor/skills/use-railway/references/request.md +238 -0
- package/.cursor/skills/use-railway/references/setup.md +195 -0
- package/.cursor/skills/use-railway/scripts/railway-api.sh +41 -0
- package/.cursor/skills/web-design-guidelines/SKILL.md +39 -0
- package/.gemini/GEMINI.md +75 -0
- package/.gemini/antigravity/skills/better-auth/SKILL.md +204 -0
- package/.gemini/antigravity/skills/better-auth/references/advanced-features.md +553 -0
- package/.gemini/antigravity/skills/better-auth/references/database-integration.md +577 -0
- package/.gemini/antigravity/skills/better-auth/references/email-password-auth.md +416 -0
- package/.gemini/antigravity/skills/better-auth/references/oauth-providers.md +430 -0
- package/.gemini/antigravity/skills/better-auth/scripts/.coverage +0 -0
- package/.gemini/antigravity/skills/better-auth/scripts/better_auth_init.py +521 -0
- package/.gemini/antigravity/skills/better-auth/scripts/requirements.txt +15 -0
- package/.gemini/antigravity/skills/better-auth/scripts/tests/.coverage +0 -0
- package/.gemini/antigravity/skills/better-auth/scripts/tests/test_better_auth_init.py +421 -0
- package/.gemini/antigravity/skills/better-auth-best-practices/SKILL.md +166 -0
- package/.gemini/antigravity/skills/create-auth-skill/SKILL.md +214 -0
- package/.gemini/antigravity/skills/expo-react-native-performance/AGENTS.md +2515 -0
- package/.gemini/antigravity/skills/expo-react-native-performance/SKILL.md +118 -0
- package/.gemini/antigravity/skills/expo-react-native-performance/references/anim-interaction-manager.md +63 -0
- package/.gemini/antigravity/skills/expo-react-native-performance/references/anim-layout-animation.md +75 -0
- package/.gemini/antigravity/skills/expo-react-native-performance/references/anim-transform-not-dimensions.md +67 -0
- package/.gemini/antigravity/skills/expo-react-native-performance/references/anim-use-native-driver.md +55 -0
- package/.gemini/antigravity/skills/expo-react-native-performance/references/anim-use-reanimated.md +53 -0
- package/.gemini/antigravity/skills/expo-react-native-performance/references/asset-optimize-image-size.md +60 -0
- package/.gemini/antigravity/skills/expo-react-native-performance/references/asset-prefetch-images.md +60 -0
- package/.gemini/antigravity/skills/expo-react-native-performance/references/asset-recycling-key.md +57 -0
- package/.gemini/antigravity/skills/expo-react-native-performance/references/asset-use-expo-image.md +58 -0
- package/.gemini/antigravity/skills/expo-react-native-performance/references/asset-use-webp-format.md +50 -0
- package/.gemini/antigravity/skills/expo-react-native-performance/references/async-batch-api-calls.md +65 -0
- package/.gemini/antigravity/skills/expo-react-native-performance/references/async-cache-responses.md +54 -0
- package/.gemini/antigravity/skills/expo-react-native-performance/references/async-defer-await.md +56 -0
- package/.gemini/antigravity/skills/expo-react-native-performance/references/async-parallel-fetching.md +60 -0
- package/.gemini/antigravity/skills/expo-react-native-performance/references/async-refetch-on-focus.md +68 -0
- package/.gemini/antigravity/skills/expo-react-native-performance/references/list-estimated-item-size.md +52 -0
- package/.gemini/antigravity/skills/expo-react-native-performance/references/list-get-item-layout.md +64 -0
- package/.gemini/antigravity/skills/expo-react-native-performance/references/list-get-item-type.md +59 -0
- package/.gemini/antigravity/skills/expo-react-native-performance/references/list-memoize-items.md +59 -0
- package/.gemini/antigravity/skills/expo-react-native-performance/references/list-stable-render-item.md +61 -0
- package/.gemini/antigravity/skills/expo-react-native-performance/references/list-use-flashlist.md +56 -0
- package/.gemini/antigravity/skills/expo-react-native-performance/references/mem-abort-fetch.md +78 -0
- package/.gemini/antigravity/skills/expo-react-native-performance/references/mem-avoid-inline-objects.md +61 -0
- package/.gemini/antigravity/skills/expo-react-native-performance/references/mem-cleanup-subscriptions.md +63 -0
- package/.gemini/antigravity/skills/expo-react-native-performance/references/mem-clear-timers.md +63 -0
- package/.gemini/antigravity/skills/expo-react-native-performance/references/mem-limit-list-data.md +69 -0
- package/.gemini/antigravity/skills/expo-react-native-performance/references/platform-android-overdraw.md +63 -0
- package/.gemini/antigravity/skills/expo-react-native-performance/references/platform-android-proguard.md +63 -0
- package/.gemini/antigravity/skills/expo-react-native-performance/references/platform-conditional-render.md +81 -0
- package/.gemini/antigravity/skills/expo-react-native-performance/references/platform-ios-text-rendering.md +57 -0
- package/.gemini/antigravity/skills/expo-react-native-performance/references/rerender-derive-state.md +58 -0
- package/.gemini/antigravity/skills/expo-react-native-performance/references/rerender-functional-setstate.md +54 -0
- package/.gemini/antigravity/skills/expo-react-native-performance/references/rerender-lazy-state-init.md +55 -0
- package/.gemini/antigravity/skills/expo-react-native-performance/references/rerender-split-context.md +69 -0
- package/.gemini/antigravity/skills/expo-react-native-performance/references/rerender-use-callback-handlers.md +63 -0
- package/.gemini/antigravity/skills/expo-react-native-performance/references/rerender-use-memo-expensive.md +54 -0
- package/.gemini/antigravity/skills/expo-react-native-performance/references/startup-async-routes.md +63 -0
- package/.gemini/antigravity/skills/expo-react-native-performance/references/startup-cherry-pick-imports.md +45 -0
- package/.gemini/antigravity/skills/expo-react-native-performance/references/startup-enable-hermes.md +39 -0
- package/.gemini/antigravity/skills/expo-react-native-performance/references/startup-preload-assets.md +68 -0
- package/.gemini/antigravity/skills/expo-react-native-performance/references/startup-remove-console-logs.md +47 -0
- package/.gemini/antigravity/skills/expo-react-native-performance/references/startup-splash-screen-control.md +58 -0
- package/.gemini/antigravity/skills/express-rest-api/SKILL.md +249 -0
- package/.gemini/antigravity/skills/express-rest-api/assets/config.yaml +1 -0
- package/.gemini/antigravity/skills/express-rest-api/references/GUIDE.md +1 -0
- package/.gemini/antigravity/skills/express-rest-api/scripts/helper.py +3 -0
- package/.gemini/antigravity/skills/react-doctor/SKILL.md +41 -0
- package/.gemini/antigravity/skills/react-native-best-practices/POWER.md +145 -0
- package/.gemini/antigravity/skills/react-native-best-practices/SKILL.md +215 -0
- package/.gemini/antigravity/skills/react-native-best-practices/agents/openai.yaml +4 -0
- package/.gemini/antigravity/skills/react-native-best-practices/references/bundle-analyze-app.md +211 -0
- package/.gemini/antigravity/skills/react-native-best-practices/references/bundle-analyze-js.md +262 -0
- package/.gemini/antigravity/skills/react-native-best-practices/references/bundle-barrel-exports.md +248 -0
- package/.gemini/antigravity/skills/react-native-best-practices/references/bundle-code-splitting.md +224 -0
- package/.gemini/antigravity/skills/react-native-best-practices/references/bundle-hermes-mmap.md +167 -0
- package/.gemini/antigravity/skills/react-native-best-practices/references/bundle-library-size.md +177 -0
- package/.gemini/antigravity/skills/react-native-best-practices/references/bundle-native-assets.md +214 -0
- package/.gemini/antigravity/skills/react-native-best-practices/references/bundle-r8-android.md +225 -0
- package/.gemini/antigravity/skills/react-native-best-practices/references/bundle-tree-shaking.md +214 -0
- package/.gemini/antigravity/skills/react-native-best-practices/references/images/bundle-treemap-source-map-explorer.png +0 -0
- package/.gemini/antigravity/skills/react-native-best-practices/references/images/controlled-textinput-pingpong.png +0 -0
- package/.gemini/antigravity/skills/react-native-best-practices/references/images/devtools-flamegraph.png +0 -0
- package/.gemini/antigravity/skills/react-native-best-practices/references/images/emerge-xray-ios.png +0 -0
- package/.gemini/antigravity/skills/react-native-best-practices/references/images/expo-atlas-treemap.png +0 -0
- package/.gemini/antigravity/skills/react-native-best-practices/references/images/flashlight-flatlist-vs-flashlist.png +0 -0
- package/.gemini/antigravity/skills/react-native-best-practices/references/images/fps-drop-graph.png +0 -0
- package/.gemini/antigravity/skills/react-native-best-practices/references/images/memory-heap-snapshot.png +0 -0
- package/.gemini/antigravity/skills/react-native-best-practices/references/images/tti-warm-start-diagram.png +0 -0
- package/.gemini/antigravity/skills/react-native-best-practices/references/images/view-hierarchy-flattening.png +0 -0
- package/.gemini/antigravity/skills/react-native-best-practices/references/images/xcode-instruments-templates.png +0 -0
- package/.gemini/antigravity/skills/react-native-best-practices/references/images/xcode-thread-view.png +0 -0
- package/.gemini/antigravity/skills/react-native-best-practices/references/js-animations-reanimated.md +254 -0
- package/.gemini/antigravity/skills/react-native-best-practices/references/js-atomic-state.md +245 -0
- package/.gemini/antigravity/skills/react-native-best-practices/references/js-concurrent-react.md +236 -0
- package/.gemini/antigravity/skills/react-native-best-practices/references/js-lists-flatlist-flashlist.md +236 -0
- package/.gemini/antigravity/skills/react-native-best-practices/references/js-measure-fps.md +180 -0
- package/.gemini/antigravity/skills/react-native-best-practices/references/js-memory-leaks.md +205 -0
- package/.gemini/antigravity/skills/react-native-best-practices/references/js-profile-react.md +161 -0
- package/.gemini/antigravity/skills/react-native-best-practices/references/js-react-compiler.md +368 -0
- package/.gemini/antigravity/skills/react-native-best-practices/references/js-uncontrolled-components.md +216 -0
- package/.gemini/antigravity/skills/react-native-best-practices/references/native-android-16kb-alignment.md +113 -0
- package/.gemini/antigravity/skills/react-native-best-practices/references/native-measure-tti.md +262 -0
- package/.gemini/antigravity/skills/react-native-best-practices/references/native-memory-leaks.md +240 -0
- package/.gemini/antigravity/skills/react-native-best-practices/references/native-memory-patterns.md +274 -0
- package/.gemini/antigravity/skills/react-native-best-practices/references/native-platform-setup.md +110 -0
- package/.gemini/antigravity/skills/react-native-best-practices/references/native-profiling.md +176 -0
- package/.gemini/antigravity/skills/react-native-best-practices/references/native-sdks-over-polyfills.md +183 -0
- package/.gemini/antigravity/skills/react-native-best-practices/references/native-threading-model.md +234 -0
- package/.gemini/antigravity/skills/react-native-best-practices/references/native-turbo-modules.md +292 -0
- package/.gemini/antigravity/skills/react-native-best-practices/references/native-view-flattening.md +201 -0
- package/.gemini/antigravity/skills/react-native-expo/.claude-plugin/plugin.json +13 -0
- package/.gemini/antigravity/skills/react-native-expo/SKILL.md +1077 -0
- package/.gemini/antigravity/skills/react-native-expo/agents/expo-build.md +207 -0
- package/.gemini/antigravity/skills/react-native-expo/assets/css-features-cheatsheet.md +488 -0
- package/.gemini/antigravity/skills/react-native-expo/assets/example-template.txt +14 -0
- package/.gemini/antigravity/skills/react-native-expo/assets/new-arch-decision-tree.md +312 -0
- package/.gemini/antigravity/skills/react-native-expo/references/example-reference.md +26 -0
- package/.gemini/antigravity/skills/react-native-expo/references/expo-sdk-52-breaking.md +409 -0
- package/.gemini/antigravity/skills/react-native-expo/references/new-architecture-errors.md +501 -0
- package/.gemini/antigravity/skills/react-native-expo/references/react-19-migration.md +365 -0
- package/.gemini/antigravity/skills/react-native-expo/scripts/check-rn-version.sh +121 -0
- package/.gemini/antigravity/skills/react-native-expo/scripts/example-script.sh +15 -0
- package/.gemini/antigravity/skills/react-native-testing/SKILL.md +161 -0
- package/.gemini/antigravity/skills/react-native-testing/references/anti-patterns.md +287 -0
- package/.gemini/antigravity/skills/react-native-testing/references/api-reference-v13.md +572 -0
- package/.gemini/antigravity/skills/react-native-testing/references/api-reference-v14.md +574 -0
- package/.gemini/antigravity/skills/supabase-postgres-best-practices/AGENTS.md +68 -0
- package/.gemini/antigravity/skills/supabase-postgres-best-practices/CLAUDE.md +68 -0
- package/.gemini/antigravity/skills/supabase-postgres-best-practices/SKILL.md +64 -0
- package/.gemini/antigravity/skills/supabase-postgres-best-practices/references/advanced-full-text-search.md +55 -0
- package/.gemini/antigravity/skills/supabase-postgres-best-practices/references/advanced-jsonb-indexing.md +49 -0
- package/.gemini/antigravity/skills/supabase-postgres-best-practices/references/conn-idle-timeout.md +46 -0
- package/.gemini/antigravity/skills/supabase-postgres-best-practices/references/conn-limits.md +44 -0
- package/.gemini/antigravity/skills/supabase-postgres-best-practices/references/conn-pooling.md +41 -0
- package/.gemini/antigravity/skills/supabase-postgres-best-practices/references/conn-prepared-statements.md +46 -0
- package/.gemini/antigravity/skills/supabase-postgres-best-practices/references/data-batch-inserts.md +54 -0
- package/.gemini/antigravity/skills/supabase-postgres-best-practices/references/data-n-plus-one.md +53 -0
- package/.gemini/antigravity/skills/supabase-postgres-best-practices/references/data-pagination.md +50 -0
- package/.gemini/antigravity/skills/supabase-postgres-best-practices/references/data-upsert.md +50 -0
- package/.gemini/antigravity/skills/supabase-postgres-best-practices/references/lock-advisory.md +56 -0
- package/.gemini/antigravity/skills/supabase-postgres-best-practices/references/lock-deadlock-prevention.md +68 -0
- package/.gemini/antigravity/skills/supabase-postgres-best-practices/references/lock-short-transactions.md +50 -0
- package/.gemini/antigravity/skills/supabase-postgres-best-practices/references/lock-skip-locked.md +54 -0
- package/.gemini/antigravity/skills/supabase-postgres-best-practices/references/monitor-explain-analyze.md +45 -0
- package/.gemini/antigravity/skills/supabase-postgres-best-practices/references/monitor-pg-stat-statements.md +55 -0
- package/.gemini/antigravity/skills/supabase-postgres-best-practices/references/monitor-vacuum-analyze.md +55 -0
- package/.gemini/antigravity/skills/supabase-postgres-best-practices/references/query-composite-indexes.md +44 -0
- package/.gemini/antigravity/skills/supabase-postgres-best-practices/references/query-covering-indexes.md +40 -0
- package/.gemini/antigravity/skills/supabase-postgres-best-practices/references/query-index-types.md +48 -0
- package/.gemini/antigravity/skills/supabase-postgres-best-practices/references/query-missing-indexes.md +43 -0
- package/.gemini/antigravity/skills/supabase-postgres-best-practices/references/query-partial-indexes.md +45 -0
- package/.gemini/antigravity/skills/supabase-postgres-best-practices/references/schema-constraints.md +80 -0
- package/.gemini/antigravity/skills/supabase-postgres-best-practices/references/schema-data-types.md +46 -0
- package/.gemini/antigravity/skills/supabase-postgres-best-practices/references/schema-foreign-key-indexes.md +59 -0
- package/.gemini/antigravity/skills/supabase-postgres-best-practices/references/schema-lowercase-identifiers.md +55 -0
- package/.gemini/antigravity/skills/supabase-postgres-best-practices/references/schema-partitioning.md +55 -0
- package/.gemini/antigravity/skills/supabase-postgres-best-practices/references/schema-primary-keys.md +61 -0
- package/.gemini/antigravity/skills/supabase-postgres-best-practices/references/security-privileges.md +54 -0
- package/.gemini/antigravity/skills/supabase-postgres-best-practices/references/security-rls-basics.md +50 -0
- package/.gemini/antigravity/skills/supabase-postgres-best-practices/references/security-rls-performance.md +57 -0
- package/.gemini/antigravity/skills/ui-skills/SKILL.md +85 -0
- package/.gemini/antigravity/skills/vercel-react-best-practices/AGENTS.md +2934 -0
- package/.gemini/antigravity/skills/vercel-react-best-practices/SKILL.md +136 -0
- package/.gemini/antigravity/skills/vercel-react-best-practices/rules/advanced-event-handler-refs.md +55 -0
- package/.gemini/antigravity/skills/vercel-react-best-practices/rules/advanced-init-once.md +42 -0
- package/.gemini/antigravity/skills/vercel-react-best-practices/rules/advanced-use-latest.md +39 -0
- package/.gemini/antigravity/skills/vercel-react-best-practices/rules/async-api-routes.md +38 -0
- package/.gemini/antigravity/skills/vercel-react-best-practices/rules/async-defer-await.md +80 -0
- package/.gemini/antigravity/skills/vercel-react-best-practices/rules/async-dependencies.md +51 -0
- package/.gemini/antigravity/skills/vercel-react-best-practices/rules/async-parallel.md +28 -0
- package/.gemini/antigravity/skills/vercel-react-best-practices/rules/async-suspense-boundaries.md +99 -0
- package/.gemini/antigravity/skills/vercel-react-best-practices/rules/bundle-barrel-imports.md +59 -0
- package/.gemini/antigravity/skills/vercel-react-best-practices/rules/bundle-conditional.md +31 -0
- package/.gemini/antigravity/skills/vercel-react-best-practices/rules/bundle-defer-third-party.md +49 -0
- package/.gemini/antigravity/skills/vercel-react-best-practices/rules/bundle-dynamic-imports.md +35 -0
- package/.gemini/antigravity/skills/vercel-react-best-practices/rules/bundle-preload.md +50 -0
- package/.gemini/antigravity/skills/vercel-react-best-practices/rules/client-event-listeners.md +74 -0
- package/.gemini/antigravity/skills/vercel-react-best-practices/rules/client-localstorage-schema.md +71 -0
- package/.gemini/antigravity/skills/vercel-react-best-practices/rules/client-passive-event-listeners.md +48 -0
- package/.gemini/antigravity/skills/vercel-react-best-practices/rules/client-swr-dedup.md +56 -0
- package/.gemini/antigravity/skills/vercel-react-best-practices/rules/js-batch-dom-css.md +107 -0
- package/.gemini/antigravity/skills/vercel-react-best-practices/rules/js-cache-function-results.md +80 -0
- package/.gemini/antigravity/skills/vercel-react-best-practices/rules/js-cache-property-access.md +28 -0
- package/.gemini/antigravity/skills/vercel-react-best-practices/rules/js-cache-storage.md +70 -0
- package/.gemini/antigravity/skills/vercel-react-best-practices/rules/js-combine-iterations.md +32 -0
- package/.gemini/antigravity/skills/vercel-react-best-practices/rules/js-early-exit.md +50 -0
- package/.gemini/antigravity/skills/vercel-react-best-practices/rules/js-hoist-regexp.md +45 -0
- package/.gemini/antigravity/skills/vercel-react-best-practices/rules/js-index-maps.md +37 -0
- package/.gemini/antigravity/skills/vercel-react-best-practices/rules/js-length-check-first.md +49 -0
- package/.gemini/antigravity/skills/vercel-react-best-practices/rules/js-min-max-loop.md +82 -0
- package/.gemini/antigravity/skills/vercel-react-best-practices/rules/js-set-map-lookups.md +24 -0
- package/.gemini/antigravity/skills/vercel-react-best-practices/rules/js-tosorted-immutable.md +57 -0
- package/.gemini/antigravity/skills/vercel-react-best-practices/rules/rendering-activity.md +26 -0
- package/.gemini/antigravity/skills/vercel-react-best-practices/rules/rendering-animate-svg-wrapper.md +47 -0
- package/.gemini/antigravity/skills/vercel-react-best-practices/rules/rendering-conditional-render.md +40 -0
- package/.gemini/antigravity/skills/vercel-react-best-practices/rules/rendering-content-visibility.md +38 -0
- package/.gemini/antigravity/skills/vercel-react-best-practices/rules/rendering-hoist-jsx.md +46 -0
- package/.gemini/antigravity/skills/vercel-react-best-practices/rules/rendering-hydration-no-flicker.md +82 -0
- package/.gemini/antigravity/skills/vercel-react-best-practices/rules/rendering-hydration-suppress-warning.md +30 -0
- package/.gemini/antigravity/skills/vercel-react-best-practices/rules/rendering-svg-precision.md +28 -0
- package/.gemini/antigravity/skills/vercel-react-best-practices/rules/rendering-usetransition-loading.md +75 -0
- package/.gemini/antigravity/skills/vercel-react-best-practices/rules/rerender-defer-reads.md +39 -0
- package/.gemini/antigravity/skills/vercel-react-best-practices/rules/rerender-dependencies.md +45 -0
- package/.gemini/antigravity/skills/vercel-react-best-practices/rules/rerender-derived-state-no-effect.md +40 -0
- package/.gemini/antigravity/skills/vercel-react-best-practices/rules/rerender-derived-state.md +29 -0
- package/.gemini/antigravity/skills/vercel-react-best-practices/rules/rerender-functional-setstate.md +74 -0
- package/.gemini/antigravity/skills/vercel-react-best-practices/rules/rerender-lazy-state-init.md +58 -0
- package/.gemini/antigravity/skills/vercel-react-best-practices/rules/rerender-memo-with-default-value.md +38 -0
- package/.gemini/antigravity/skills/vercel-react-best-practices/rules/rerender-memo.md +44 -0
- package/.gemini/antigravity/skills/vercel-react-best-practices/rules/rerender-move-effect-to-event.md +45 -0
- package/.gemini/antigravity/skills/vercel-react-best-practices/rules/rerender-simple-expression-in-memo.md +35 -0
- package/.gemini/antigravity/skills/vercel-react-best-practices/rules/rerender-transitions.md +40 -0
- package/.gemini/antigravity/skills/vercel-react-best-practices/rules/rerender-use-ref-transient-values.md +73 -0
- package/.gemini/antigravity/skills/vercel-react-best-practices/rules/server-after-nonblocking.md +73 -0
- package/.gemini/antigravity/skills/vercel-react-best-practices/rules/server-auth-actions.md +96 -0
- package/.gemini/antigravity/skills/vercel-react-best-practices/rules/server-cache-lru.md +41 -0
- package/.gemini/antigravity/skills/vercel-react-best-practices/rules/server-cache-react.md +76 -0
- package/.gemini/antigravity/skills/vercel-react-best-practices/rules/server-dedup-props.md +65 -0
- package/.gemini/antigravity/skills/vercel-react-best-practices/rules/server-parallel-fetching.md +83 -0
- package/.gemini/antigravity/skills/vercel-react-best-practices/rules/server-serialization.md +38 -0
- package/.gemini/antigravity/skills/vercel-react-native-skills/AGENTS.md +2897 -0
- package/.gemini/antigravity/skills/vercel-react-native-skills/SKILL.md +121 -0
- package/.gemini/antigravity/skills/vercel-react-native-skills/rules/animation-derived-value.md +53 -0
- package/.gemini/antigravity/skills/vercel-react-native-skills/rules/animation-gesture-detector-press.md +95 -0
- package/.gemini/antigravity/skills/vercel-react-native-skills/rules/animation-gpu-properties.md +65 -0
- package/.gemini/antigravity/skills/vercel-react-native-skills/rules/design-system-compound-components.md +66 -0
- package/.gemini/antigravity/skills/vercel-react-native-skills/rules/fonts-config-plugin.md +71 -0
- package/.gemini/antigravity/skills/vercel-react-native-skills/rules/imports-design-system-folder.md +68 -0
- package/.gemini/antigravity/skills/vercel-react-native-skills/rules/js-hoist-intl.md +61 -0
- package/.gemini/antigravity/skills/vercel-react-native-skills/rules/list-performance-callbacks.md +44 -0
- package/.gemini/antigravity/skills/vercel-react-native-skills/rules/list-performance-function-references.md +132 -0
- package/.gemini/antigravity/skills/vercel-react-native-skills/rules/list-performance-images.md +53 -0
- package/.gemini/antigravity/skills/vercel-react-native-skills/rules/list-performance-inline-objects.md +97 -0
- package/.gemini/antigravity/skills/vercel-react-native-skills/rules/list-performance-item-expensive.md +94 -0
- package/.gemini/antigravity/skills/vercel-react-native-skills/rules/list-performance-item-memo.md +82 -0
- package/.gemini/antigravity/skills/vercel-react-native-skills/rules/list-performance-item-types.md +104 -0
- package/.gemini/antigravity/skills/vercel-react-native-skills/rules/list-performance-virtualize.md +67 -0
- package/.gemini/antigravity/skills/vercel-react-native-skills/rules/monorepo-native-deps-in-app.md +46 -0
- package/.gemini/antigravity/skills/vercel-react-native-skills/rules/monorepo-single-dependency-versions.md +63 -0
- package/.gemini/antigravity/skills/vercel-react-native-skills/rules/navigation-native-navigators.md +188 -0
- package/.gemini/antigravity/skills/vercel-react-native-skills/rules/react-compiler-destructure-functions.md +50 -0
- package/.gemini/antigravity/skills/vercel-react-native-skills/rules/react-compiler-reanimated-shared-values.md +48 -0
- package/.gemini/antigravity/skills/vercel-react-native-skills/rules/react-state-dispatcher.md +91 -0
- package/.gemini/antigravity/skills/vercel-react-native-skills/rules/react-state-fallback.md +56 -0
- package/.gemini/antigravity/skills/vercel-react-native-skills/rules/react-state-minimize.md +65 -0
- package/.gemini/antigravity/skills/vercel-react-native-skills/rules/rendering-no-falsy-and.md +74 -0
- package/.gemini/antigravity/skills/vercel-react-native-skills/rules/rendering-text-in-text-component.md +36 -0
- package/.gemini/antigravity/skills/vercel-react-native-skills/rules/scroll-position-no-state.md +82 -0
- package/.gemini/antigravity/skills/vercel-react-native-skills/rules/state-ground-truth.md +80 -0
- package/.gemini/antigravity/skills/vercel-react-native-skills/rules/ui-expo-image.md +66 -0
- package/.gemini/antigravity/skills/vercel-react-native-skills/rules/ui-image-gallery.md +104 -0
- package/.gemini/antigravity/skills/vercel-react-native-skills/rules/ui-measure-views.md +78 -0
- package/.gemini/antigravity/skills/vercel-react-native-skills/rules/ui-menus.md +174 -0
- package/.gemini/antigravity/skills/vercel-react-native-skills/rules/ui-native-modals.md +77 -0
- package/.gemini/antigravity/skills/vercel-react-native-skills/rules/ui-pressable.md +61 -0
- package/.gemini/antigravity/skills/vercel-react-native-skills/rules/ui-safe-area-scroll.md +65 -0
- package/.gemini/antigravity/skills/vercel-react-native-skills/rules/ui-scrollview-content-inset.md +45 -0
- package/.gemini/antigravity/skills/vercel-react-native-skills/rules/ui-styling.md +87 -0
- package/.gemini/antigravity/skills/web-design-guidelines/SKILL.md +39 -0
- package/.gemini/antigravity/skills/web-interface-guidelines/SKILL.md +179 -0
- package/.gemini/settings.json +5 -0
- package/.gemini/skills/agent-browser/SKILL.md +347 -0
- package/.gemini/skills/agent-browser/references/authentication.md +188 -0
- package/.gemini/skills/agent-browser/references/proxy-support.md +175 -0
- package/.gemini/skills/agent-browser/references/session-management.md +181 -0
- package/.gemini/skills/agent-browser/references/snapshot-refs.md +186 -0
- package/.gemini/skills/agent-browser/references/video-recording.md +162 -0
- package/.gemini/skills/agent-browser/templates/authenticated-session.sh +91 -0
- package/.gemini/skills/agent-browser/templates/capture-workflow.sh +68 -0
- package/.gemini/skills/agent-browser/templates/form-automation.sh +64 -0
- package/.gemini/skills/better-auth-best-practices/SKILL.md +166 -0
- package/.gemini/skills/create-auth-skill/SKILL.md +214 -0
- package/.gemini/skills/design-md/SKILL.md +172 -0
- package/.gemini/skills/design-md/examples/DESIGN.md +154 -0
- package/.gemini/skills/frontend-design/LICENSE.txt +177 -0
- package/.gemini/skills/frontend-design/SKILL.md +42 -0
- package/.gemini/skills/remotion-best-practices/SKILL.md +43 -0
- package/.gemini/skills/remotion-best-practices/rules/3d.md +86 -0
- package/.gemini/skills/remotion-best-practices/rules/animations.md +29 -0
- package/.gemini/skills/remotion-best-practices/rules/assets/charts-bar-chart.tsx +173 -0
- package/.gemini/skills/remotion-best-practices/rules/assets/text-animations-typewriter.tsx +100 -0
- package/.gemini/skills/remotion-best-practices/rules/assets/text-animations-word-highlight.tsx +108 -0
- package/.gemini/skills/remotion-best-practices/rules/assets.md +78 -0
- package/.gemini/skills/remotion-best-practices/rules/audio.md +172 -0
- package/.gemini/skills/remotion-best-practices/rules/calculate-metadata.md +104 -0
- package/.gemini/skills/remotion-best-practices/rules/can-decode.md +75 -0
- package/.gemini/skills/remotion-best-practices/rules/charts.md +58 -0
- package/.gemini/skills/remotion-best-practices/rules/compositions.md +146 -0
- package/.gemini/skills/remotion-best-practices/rules/display-captions.md +126 -0
- package/.gemini/skills/remotion-best-practices/rules/extract-frames.md +229 -0
- package/.gemini/skills/remotion-best-practices/rules/fonts.md +152 -0
- package/.gemini/skills/remotion-best-practices/rules/get-audio-duration.md +58 -0
- package/.gemini/skills/remotion-best-practices/rules/get-video-dimensions.md +68 -0
- package/.gemini/skills/remotion-best-practices/rules/get-video-duration.md +58 -0
- package/.gemini/skills/remotion-best-practices/rules/gifs.md +138 -0
- package/.gemini/skills/remotion-best-practices/rules/images.md +130 -0
- package/.gemini/skills/remotion-best-practices/rules/import-srt-captions.md +67 -0
- package/.gemini/skills/remotion-best-practices/rules/lottie.md +68 -0
- package/.gemini/skills/remotion-best-practices/rules/measuring-dom-nodes.md +35 -0
- package/.gemini/skills/remotion-best-practices/rules/measuring-text.md +143 -0
- package/.gemini/skills/remotion-best-practices/rules/sequencing.md +106 -0
- package/.gemini/skills/remotion-best-practices/rules/tailwind.md +11 -0
- package/.gemini/skills/remotion-best-practices/rules/text-animations.md +20 -0
- package/.gemini/skills/remotion-best-practices/rules/timing.md +179 -0
- package/.gemini/skills/remotion-best-practices/rules/transcribe-captions.md +19 -0
- package/.gemini/skills/remotion-best-practices/rules/transitions.md +122 -0
- package/.gemini/skills/remotion-best-practices/rules/trimming.md +53 -0
- package/.gemini/skills/remotion-best-practices/rules/videos.md +171 -0
- package/.gemini/skills/skill-creator/LICENSE.txt +202 -0
- package/.gemini/skills/skill-creator/SKILL.md +356 -0
- package/.gemini/skills/skill-creator/references/output-patterns.md +82 -0
- package/.gemini/skills/skill-creator/references/workflows.md +28 -0
- package/.gemini/skills/skill-creator/scripts/init_skill.py +303 -0
- package/.gemini/skills/skill-creator/scripts/package_skill.py +110 -0
- package/.gemini/skills/skill-creator/scripts/quick_validate.py +95 -0
- package/.gemini/skills/supabase-postgres-best-practices/AGENTS.md +1490 -0
- package/.gemini/skills/supabase-postgres-best-practices/SKILL.md +57 -0
- package/.gemini/skills/supabase-postgres-best-practices/rules/advanced-full-text-search.md +55 -0
- package/.gemini/skills/supabase-postgres-best-practices/rules/advanced-jsonb-indexing.md +49 -0
- package/.gemini/skills/supabase-postgres-best-practices/rules/conn-idle-timeout.md +46 -0
- package/.gemini/skills/supabase-postgres-best-practices/rules/conn-limits.md +44 -0
- package/.gemini/skills/supabase-postgres-best-practices/rules/conn-pooling.md +41 -0
- package/.gemini/skills/supabase-postgres-best-practices/rules/conn-prepared-statements.md +46 -0
- package/.gemini/skills/supabase-postgres-best-practices/rules/data-batch-inserts.md +54 -0
- package/.gemini/skills/supabase-postgres-best-practices/rules/data-n-plus-one.md +53 -0
- package/.gemini/skills/supabase-postgres-best-practices/rules/data-pagination.md +50 -0
- package/.gemini/skills/supabase-postgres-best-practices/rules/data-upsert.md +50 -0
- package/.gemini/skills/supabase-postgres-best-practices/rules/lock-advisory.md +56 -0
- package/.gemini/skills/supabase-postgres-best-practices/rules/lock-deadlock-prevention.md +68 -0
- package/.gemini/skills/supabase-postgres-best-practices/rules/lock-short-transactions.md +50 -0
- package/.gemini/skills/supabase-postgres-best-practices/rules/lock-skip-locked.md +54 -0
- package/.gemini/skills/supabase-postgres-best-practices/rules/monitor-explain-analyze.md +45 -0
- package/.gemini/skills/supabase-postgres-best-practices/rules/monitor-pg-stat-statements.md +55 -0
- package/.gemini/skills/supabase-postgres-best-practices/rules/monitor-vacuum-analyze.md +55 -0
- package/.gemini/skills/supabase-postgres-best-practices/rules/query-composite-indexes.md +44 -0
- package/.gemini/skills/supabase-postgres-best-practices/rules/query-covering-indexes.md +40 -0
- package/.gemini/skills/supabase-postgres-best-practices/rules/query-index-types.md +45 -0
- package/.gemini/skills/supabase-postgres-best-practices/rules/query-missing-indexes.md +43 -0
- package/.gemini/skills/supabase-postgres-best-practices/rules/query-partial-indexes.md +45 -0
- package/.gemini/skills/supabase-postgres-best-practices/rules/schema-data-types.md +46 -0
- package/.gemini/skills/supabase-postgres-best-practices/rules/schema-foreign-key-indexes.md +59 -0
- package/.gemini/skills/supabase-postgres-best-practices/rules/schema-lowercase-identifiers.md +55 -0
- package/.gemini/skills/supabase-postgres-best-practices/rules/schema-partitioning.md +55 -0
- package/.gemini/skills/supabase-postgres-best-practices/rules/schema-primary-keys.md +61 -0
- package/.gemini/skills/supabase-postgres-best-practices/rules/security-privileges.md +54 -0
- package/.gemini/skills/supabase-postgres-best-practices/rules/security-rls-basics.md +50 -0
- package/.gemini/skills/supabase-postgres-best-practices/rules/security-rls-performance.md +57 -0
- package/.gemini/skills/ui-skills/SKILL.md +85 -0
- package/.gemini/skills/web-design-guidelines/SKILL.md +39 -0
- package/.github/ISSUE_TEMPLATE.md +37 -0
- package/.github/PULL_REQUEST_TEMPLATE.md +33 -0
- package/.github/skills/agent-browser/SKILL.md +347 -0
- package/.github/skills/agent-browser/references/authentication.md +188 -0
- package/.github/skills/agent-browser/references/proxy-support.md +175 -0
- package/.github/skills/agent-browser/references/session-management.md +181 -0
- package/.github/skills/agent-browser/references/snapshot-refs.md +186 -0
- package/.github/skills/agent-browser/references/video-recording.md +162 -0
- package/.github/skills/agent-browser/templates/authenticated-session.sh +91 -0
- package/.github/skills/agent-browser/templates/capture-workflow.sh +68 -0
- package/.github/skills/agent-browser/templates/form-automation.sh +64 -0
- package/.github/skills/better-auth-best-practices/SKILL.md +166 -0
- package/.github/skills/design-md/SKILL.md +172 -0
- package/.github/skills/design-md/examples/DESIGN.md +154 -0
- package/.github/skills/frontend-design/LICENSE.txt +177 -0
- package/.github/skills/frontend-design/SKILL.md +42 -0
- package/.github/skills/remotion-best-practices/SKILL.md +43 -0
- package/.github/skills/remotion-best-practices/rules/3d.md +86 -0
- package/.github/skills/remotion-best-practices/rules/animations.md +29 -0
- package/.github/skills/remotion-best-practices/rules/assets/charts-bar-chart.tsx +173 -0
- package/.github/skills/remotion-best-practices/rules/assets/text-animations-typewriter.tsx +100 -0
- package/.github/skills/remotion-best-practices/rules/assets/text-animations-word-highlight.tsx +108 -0
- package/.github/skills/remotion-best-practices/rules/assets.md +78 -0
- package/.github/skills/remotion-best-practices/rules/audio.md +172 -0
- package/.github/skills/remotion-best-practices/rules/calculate-metadata.md +104 -0
- package/.github/skills/remotion-best-practices/rules/can-decode.md +75 -0
- package/.github/skills/remotion-best-practices/rules/charts.md +58 -0
- package/.github/skills/remotion-best-practices/rules/compositions.md +146 -0
- package/.github/skills/remotion-best-practices/rules/display-captions.md +126 -0
- package/.github/skills/remotion-best-practices/rules/extract-frames.md +229 -0
- package/.github/skills/remotion-best-practices/rules/fonts.md +152 -0
- package/.github/skills/remotion-best-practices/rules/get-audio-duration.md +58 -0
- package/.github/skills/remotion-best-practices/rules/get-video-dimensions.md +68 -0
- package/.github/skills/remotion-best-practices/rules/get-video-duration.md +58 -0
- package/.github/skills/remotion-best-practices/rules/gifs.md +138 -0
- package/.github/skills/remotion-best-practices/rules/images.md +130 -0
- package/.github/skills/remotion-best-practices/rules/import-srt-captions.md +67 -0
- package/.github/skills/remotion-best-practices/rules/lottie.md +68 -0
- package/.github/skills/remotion-best-practices/rules/measuring-dom-nodes.md +35 -0
- package/.github/skills/remotion-best-practices/rules/measuring-text.md +143 -0
- package/.github/skills/remotion-best-practices/rules/sequencing.md +106 -0
- package/.github/skills/remotion-best-practices/rules/tailwind.md +11 -0
- package/.github/skills/remotion-best-practices/rules/text-animations.md +20 -0
- package/.github/skills/remotion-best-practices/rules/timing.md +179 -0
- package/.github/skills/remotion-best-practices/rules/transcribe-captions.md +19 -0
- package/.github/skills/remotion-best-practices/rules/transitions.md +122 -0
- package/.github/skills/remotion-best-practices/rules/trimming.md +53 -0
- package/.github/skills/remotion-best-practices/rules/videos.md +171 -0
- package/.github/skills/skill-creator/LICENSE.txt +202 -0
- package/.github/skills/skill-creator/SKILL.md +356 -0
- package/.github/skills/skill-creator/references/output-patterns.md +82 -0
- package/.github/skills/skill-creator/references/workflows.md +28 -0
- package/.github/skills/skill-creator/scripts/init_skill.py +303 -0
- package/.github/skills/skill-creator/scripts/package_skill.py +110 -0
- package/.github/skills/skill-creator/scripts/quick_validate.py +95 -0
- package/.github/skills/supabase-postgres-best-practices/AGENTS.md +1490 -0
- package/.github/skills/supabase-postgres-best-practices/SKILL.md +57 -0
- package/.github/skills/supabase-postgres-best-practices/rules/advanced-full-text-search.md +55 -0
- package/.github/skills/supabase-postgres-best-practices/rules/advanced-jsonb-indexing.md +49 -0
- package/.github/skills/supabase-postgres-best-practices/rules/conn-idle-timeout.md +46 -0
- package/.github/skills/supabase-postgres-best-practices/rules/conn-limits.md +44 -0
- package/.github/skills/supabase-postgres-best-practices/rules/conn-pooling.md +41 -0
- package/.github/skills/supabase-postgres-best-practices/rules/conn-prepared-statements.md +46 -0
- package/.github/skills/supabase-postgres-best-practices/rules/data-batch-inserts.md +54 -0
- package/.github/skills/supabase-postgres-best-practices/rules/data-n-plus-one.md +53 -0
- package/.github/skills/supabase-postgres-best-practices/rules/data-pagination.md +50 -0
- package/.github/skills/supabase-postgres-best-practices/rules/data-upsert.md +50 -0
- package/.github/skills/supabase-postgres-best-practices/rules/lock-advisory.md +56 -0
- package/.github/skills/supabase-postgres-best-practices/rules/lock-deadlock-prevention.md +68 -0
- package/.github/skills/supabase-postgres-best-practices/rules/lock-short-transactions.md +50 -0
- package/.github/skills/supabase-postgres-best-practices/rules/lock-skip-locked.md +54 -0
- package/.github/skills/supabase-postgres-best-practices/rules/monitor-explain-analyze.md +45 -0
- package/.github/skills/supabase-postgres-best-practices/rules/monitor-pg-stat-statements.md +55 -0
- package/.github/skills/supabase-postgres-best-practices/rules/monitor-vacuum-analyze.md +55 -0
- package/.github/skills/supabase-postgres-best-practices/rules/query-composite-indexes.md +44 -0
- package/.github/skills/supabase-postgres-best-practices/rules/query-covering-indexes.md +40 -0
- package/.github/skills/supabase-postgres-best-practices/rules/query-index-types.md +45 -0
- package/.github/skills/supabase-postgres-best-practices/rules/query-missing-indexes.md +43 -0
- package/.github/skills/supabase-postgres-best-practices/rules/query-partial-indexes.md +45 -0
- package/.github/skills/supabase-postgres-best-practices/rules/schema-data-types.md +46 -0
- package/.github/skills/supabase-postgres-best-practices/rules/schema-foreign-key-indexes.md +59 -0
- package/.github/skills/supabase-postgres-best-practices/rules/schema-lowercase-identifiers.md +55 -0
- package/.github/skills/supabase-postgres-best-practices/rules/schema-partitioning.md +55 -0
- package/.github/skills/supabase-postgres-best-practices/rules/schema-primary-keys.md +61 -0
- package/.github/skills/supabase-postgres-best-practices/rules/security-privileges.md +54 -0
- package/.github/skills/supabase-postgres-best-practices/rules/security-rls-basics.md +50 -0
- package/.github/skills/supabase-postgres-best-practices/rules/security-rls-performance.md +57 -0
- package/.github/skills/ui-skills/SKILL.md +85 -0
- package/.github/skills/vercel-react-best-practices/AGENTS.md +2719 -0
- package/.github/skills/vercel-react-best-practices/SKILL.md +125 -0
- package/.github/skills/vercel-react-best-practices/rules/advanced-event-handler-refs.md +55 -0
- package/.github/skills/vercel-react-best-practices/rules/advanced-use-latest.md +39 -0
- package/.github/skills/vercel-react-best-practices/rules/async-api-routes.md +38 -0
- package/.github/skills/vercel-react-best-practices/rules/async-defer-await.md +80 -0
- package/.github/skills/vercel-react-best-practices/rules/async-dependencies.md +51 -0
- package/.github/skills/vercel-react-best-practices/rules/async-parallel.md +28 -0
- package/.github/skills/vercel-react-best-practices/rules/async-suspense-boundaries.md +99 -0
- package/.github/skills/vercel-react-best-practices/rules/bundle-barrel-imports.md +59 -0
- package/.github/skills/vercel-react-best-practices/rules/bundle-conditional.md +31 -0
- package/.github/skills/vercel-react-best-practices/rules/bundle-defer-third-party.md +49 -0
- package/.github/skills/vercel-react-best-practices/rules/bundle-dynamic-imports.md +35 -0
- package/.github/skills/vercel-react-best-practices/rules/bundle-preload.md +50 -0
- package/.github/skills/vercel-react-best-practices/rules/client-event-listeners.md +74 -0
- package/.github/skills/vercel-react-best-practices/rules/client-localstorage-schema.md +71 -0
- package/.github/skills/vercel-react-best-practices/rules/client-passive-event-listeners.md +48 -0
- package/.github/skills/vercel-react-best-practices/rules/client-swr-dedup.md +56 -0
- package/.github/skills/vercel-react-best-practices/rules/js-batch-dom-css.md +107 -0
- package/.github/skills/vercel-react-best-practices/rules/js-cache-function-results.md +80 -0
- package/.github/skills/vercel-react-best-practices/rules/js-cache-property-access.md +28 -0
- package/.github/skills/vercel-react-best-practices/rules/js-cache-storage.md +70 -0
- package/.github/skills/vercel-react-best-practices/rules/js-combine-iterations.md +32 -0
- package/.github/skills/vercel-react-best-practices/rules/js-early-exit.md +50 -0
- package/.github/skills/vercel-react-best-practices/rules/js-hoist-regexp.md +45 -0
- package/.github/skills/vercel-react-best-practices/rules/js-index-maps.md +37 -0
- package/.github/skills/vercel-react-best-practices/rules/js-length-check-first.md +49 -0
- package/.github/skills/vercel-react-best-practices/rules/js-min-max-loop.md +82 -0
- package/.github/skills/vercel-react-best-practices/rules/js-set-map-lookups.md +24 -0
- package/.github/skills/vercel-react-best-practices/rules/js-tosorted-immutable.md +57 -0
- package/.github/skills/vercel-react-best-practices/rules/rendering-activity.md +26 -0
- package/.github/skills/vercel-react-best-practices/rules/rendering-animate-svg-wrapper.md +47 -0
- package/.github/skills/vercel-react-best-practices/rules/rendering-conditional-render.md +40 -0
- package/.github/skills/vercel-react-best-practices/rules/rendering-content-visibility.md +38 -0
- package/.github/skills/vercel-react-best-practices/rules/rendering-hoist-jsx.md +46 -0
- package/.github/skills/vercel-react-best-practices/rules/rendering-hydration-no-flicker.md +82 -0
- package/.github/skills/vercel-react-best-practices/rules/rendering-svg-precision.md +28 -0
- package/.github/skills/vercel-react-best-practices/rules/rendering-usetransition-loading.md +75 -0
- package/.github/skills/vercel-react-best-practices/rules/rerender-defer-reads.md +39 -0
- package/.github/skills/vercel-react-best-practices/rules/rerender-dependencies.md +45 -0
- package/.github/skills/vercel-react-best-practices/rules/rerender-derived-state.md +29 -0
- package/.github/skills/vercel-react-best-practices/rules/rerender-functional-setstate.md +74 -0
- package/.github/skills/vercel-react-best-practices/rules/rerender-lazy-state-init.md +58 -0
- package/.github/skills/vercel-react-best-practices/rules/rerender-memo-with-default-value.md +38 -0
- package/.github/skills/vercel-react-best-practices/rules/rerender-memo.md +44 -0
- package/.github/skills/vercel-react-best-practices/rules/rerender-simple-expression-in-memo.md +35 -0
- package/.github/skills/vercel-react-best-practices/rules/rerender-transitions.md +40 -0
- package/.github/skills/vercel-react-best-practices/rules/server-after-nonblocking.md +73 -0
- package/.github/skills/vercel-react-best-practices/rules/server-auth-actions.md +96 -0
- package/.github/skills/vercel-react-best-practices/rules/server-cache-lru.md +41 -0
- package/.github/skills/vercel-react-best-practices/rules/server-cache-react.md +76 -0
- package/.github/skills/vercel-react-best-practices/rules/server-dedup-props.md +65 -0
- package/.github/skills/vercel-react-best-practices/rules/server-parallel-fetching.md +83 -0
- package/.github/skills/vercel-react-best-practices/rules/server-serialization.md +38 -0
- package/.github/skills/web-design-guidelines/SKILL.md +39 -0
- package/.github/workflows/dependency-review.yml +25 -0
- package/.github/workflows/npm-publish.yml +33 -0
- package/.github/workflows/validate.yml +48 -0
- package/LICENSE +21 -0
- package/README.md +160 -0
- package/bin/ai-config.mjs +9 -0
- package/configs.manifest.json +30 -0
- package/install.ps1 +18 -0
- package/install.sh +14 -0
- package/package.json +46 -0
- package/scripts/install.mjs +506 -0
- package/scripts/skills-catalog.mjs +31 -0
- package/templates/avvale-env.example +13 -0
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
# Apple Zoom Transitions
|
|
2
|
+
|
|
3
|
+
Fluid zoom transitions for navigating between screens. iOS 18+, Expo SDK 55+, Stack navigator only.
|
|
4
|
+
|
|
5
|
+
```tsx
|
|
6
|
+
import { Link } from "expo-router";
|
|
7
|
+
```
|
|
8
|
+
|
|
9
|
+
## Basic Zoom
|
|
10
|
+
|
|
11
|
+
Use `withAppleZoom` on `Link.Trigger` to zoom the entire trigger element into the destination screen:
|
|
12
|
+
|
|
13
|
+
```tsx
|
|
14
|
+
<Link href="/photo" asChild>
|
|
15
|
+
<Link.Trigger withAppleZoom>
|
|
16
|
+
<Pressable>
|
|
17
|
+
<Image
|
|
18
|
+
source={{ uri: "https://example.com/thumb.jpg" }}
|
|
19
|
+
style={{ width: 120, height: 120, borderRadius: 12 }}
|
|
20
|
+
/>
|
|
21
|
+
</Pressable>
|
|
22
|
+
</Link.Trigger>
|
|
23
|
+
</Link>
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
## Targeted Zoom with `Link.AppleZoom`
|
|
27
|
+
|
|
28
|
+
Wrap only the element that should animate. Siblings outside `Link.AppleZoom` are not part of the transition:
|
|
29
|
+
|
|
30
|
+
```tsx
|
|
31
|
+
<Link href="/photo" asChild>
|
|
32
|
+
<Link.Trigger>
|
|
33
|
+
<Pressable style={{ alignItems: "center" }}>
|
|
34
|
+
<Link.AppleZoom>
|
|
35
|
+
<Image
|
|
36
|
+
source={{ uri: "https://example.com/thumb.jpg" }}
|
|
37
|
+
style={{ width: 200, aspectRatio: 4 / 3 }}
|
|
38
|
+
/>
|
|
39
|
+
</Link.AppleZoom>
|
|
40
|
+
<Text>Caption text (not zoomed)</Text>
|
|
41
|
+
</Pressable>
|
|
42
|
+
</Link.Trigger>
|
|
43
|
+
</Link>
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
`Link.AppleZoom` accepts only a single child element.
|
|
47
|
+
|
|
48
|
+
## Destination Target
|
|
49
|
+
|
|
50
|
+
Use `Link.AppleZoomTarget` on the destination screen to align the zoom animation to a specific element:
|
|
51
|
+
|
|
52
|
+
```tsx
|
|
53
|
+
// Destination screen (e.g., app/photo.tsx)
|
|
54
|
+
import { Link } from "expo-router";
|
|
55
|
+
|
|
56
|
+
export default function PhotoScreen() {
|
|
57
|
+
return (
|
|
58
|
+
<View style={{ flex: 1 }}>
|
|
59
|
+
<Link.AppleZoomTarget>
|
|
60
|
+
<Image
|
|
61
|
+
source={{ uri: "https://example.com/full.jpg" }}
|
|
62
|
+
style={{ width: "100%", aspectRatio: 4 / 3 }}
|
|
63
|
+
/>
|
|
64
|
+
</Link.AppleZoomTarget>
|
|
65
|
+
<Text>Photo details below</Text>
|
|
66
|
+
</View>
|
|
67
|
+
);
|
|
68
|
+
}
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
Without a target, the zoom animates to fill the entire destination screen.
|
|
72
|
+
|
|
73
|
+
## Custom Alignment Rectangle
|
|
74
|
+
|
|
75
|
+
For manual control over where the zoom lands on the destination, use `alignmentRect` instead of `Link.AppleZoomTarget`:
|
|
76
|
+
|
|
77
|
+
```tsx
|
|
78
|
+
<Link.AppleZoom alignmentRect={{ x: 0, y: 0, width: 200, height: 300 }}>
|
|
79
|
+
<Image source={{ uri: "https://example.com/thumb.jpg" }} />
|
|
80
|
+
</Link.AppleZoom>
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
Coordinates are in the destination screen's coordinate space. Prefer `Link.AppleZoomTarget` when possible — use `alignmentRect` only when the target element isn't available as a React component.
|
|
84
|
+
|
|
85
|
+
## Controlling Dismissal
|
|
86
|
+
|
|
87
|
+
Zoom screens support interactive dismissal gestures by default (pinch, swipe down when scrolled to top, swipe from leading edge). Use `usePreventZoomTransitionDismissal` on the destination screen to control this.
|
|
88
|
+
|
|
89
|
+
### Disable all dismissal gestures
|
|
90
|
+
|
|
91
|
+
```tsx
|
|
92
|
+
import { usePreventZoomTransitionDismissal } from "expo-router";
|
|
93
|
+
|
|
94
|
+
export default function PhotoScreen() {
|
|
95
|
+
usePreventZoomTransitionDismissal();
|
|
96
|
+
return <Image source={{ uri: "https://example.com/full.jpg" }} />;
|
|
97
|
+
}
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
### Restrict dismissal to a specific area
|
|
101
|
+
|
|
102
|
+
Use `unstable_dismissalBoundsRect` to prevent conflicts with scrollable content:
|
|
103
|
+
|
|
104
|
+
```tsx
|
|
105
|
+
usePreventZoomTransitionDismissal({
|
|
106
|
+
unstable_dismissalBoundsRect: {
|
|
107
|
+
minX: 0,
|
|
108
|
+
minY: 0,
|
|
109
|
+
maxX: 300,
|
|
110
|
+
maxY: 300,
|
|
111
|
+
},
|
|
112
|
+
});
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
This is useful when the destination contains a zoomable scroll view — the system gives that scroll view precedence over the dismiss gesture.
|
|
116
|
+
|
|
117
|
+
## Combining with Link.Preview
|
|
118
|
+
|
|
119
|
+
Zoom transitions work alongside long-press previews:
|
|
120
|
+
|
|
121
|
+
```tsx
|
|
122
|
+
<Link href="/photo" asChild>
|
|
123
|
+
<Link.Trigger withAppleZoom>
|
|
124
|
+
<Pressable>
|
|
125
|
+
<Image
|
|
126
|
+
source={{ uri: "https://example.com/thumb.jpg" }}
|
|
127
|
+
style={{ width: 120, height: 120 }}
|
|
128
|
+
/>
|
|
129
|
+
</Pressable>
|
|
130
|
+
</Link.Trigger>
|
|
131
|
+
<Link.Preview />
|
|
132
|
+
</Link>
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
## Best Practices
|
|
136
|
+
|
|
137
|
+
**Good use cases:**
|
|
138
|
+
- Thumbnail → full image (gallery, profile photos)
|
|
139
|
+
- Card → detail screen with similar visual content
|
|
140
|
+
- Source and destination with similar aspect ratios
|
|
141
|
+
|
|
142
|
+
**Avoid:**
|
|
143
|
+
- Skinny full-width list rows as zoom sources — the transition looks unnatural
|
|
144
|
+
- Mismatched aspect ratios between source and destination without `alignmentRect`
|
|
145
|
+
- Using zoom with sheets or popovers — only works in Stack navigator
|
|
146
|
+
- Hiding the navigation bar — known issues with header visibility during transitions
|
|
147
|
+
|
|
148
|
+
**Tips:**
|
|
149
|
+
- Always provide a close or back button — dismissal gestures are not discoverable
|
|
150
|
+
- If the destination has a zoomable scroll view, use `unstable_dismissalBoundsRect` to avoid gesture conflicts
|
|
151
|
+
- Source view doesn't need to match the tap target — only the `Link.AppleZoom` wrapped element animates
|
|
152
|
+
- When source is unavailable (e.g., scrolled off screen), the transition zooms from the center of the screen
|
|
153
|
+
|
|
154
|
+
## References
|
|
155
|
+
|
|
156
|
+
- Expo Router Zoom Transitions: https://docs.expo.dev/router/advanced/zoom-transition/
|
|
157
|
+
- Link.AppleZoom API: https://docs.expo.dev/versions/v55.0.0/sdk/router/#linkapplezoom
|
|
158
|
+
- Apple UIKit Fluid Transitions: https://developer.apple.com/documentation/uikit/enhancing-your-app-with-fluid-transitions
|
|
@@ -0,0 +1,424 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: churn-prevention
|
|
3
|
+
description: "When the user wants to reduce churn, build cancellation flows, set up save offers, recover failed payments, or implement retention strategies. Also use when the user mentions 'churn,' 'cancel flow,' 'offboarding,' 'save offer,' 'dunning,' 'failed payment recovery,' 'win-back,' 'retention,' 'exit survey,' 'pause subscription,' or 'involuntary churn.' This skill covers voluntary churn (cancel flows, save offers, exit surveys) and involuntary churn (dunning, payment recovery). For post-cancel win-back email sequences, see email-sequence. For in-app upgrade paywalls, see paywall-upgrade-cro."
|
|
4
|
+
metadata:
|
|
5
|
+
version: 1.1.0
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Churn Prevention
|
|
9
|
+
|
|
10
|
+
You are an expert in SaaS retention and churn prevention. Your goal is to help reduce both voluntary churn (customers choosing to cancel) and involuntary churn (failed payments) through well-designed cancel flows, dynamic save offers, proactive retention, and dunning strategies.
|
|
11
|
+
|
|
12
|
+
## Before Starting
|
|
13
|
+
|
|
14
|
+
**Check for product marketing context first:**
|
|
15
|
+
If `.agents/product-marketing-context.md` exists (or `.claude/product-marketing-context.md` in older setups), read it before asking questions. Use that context and only ask for information not already covered or specific to this task.
|
|
16
|
+
|
|
17
|
+
Gather this context (ask if not provided):
|
|
18
|
+
|
|
19
|
+
### 1. Current Churn Situation
|
|
20
|
+
- What's your monthly churn rate? (Voluntary vs. involuntary if known)
|
|
21
|
+
- How many active subscribers?
|
|
22
|
+
- What's the average MRR per customer?
|
|
23
|
+
- Do you have a cancel flow today, or does cancel happen instantly?
|
|
24
|
+
|
|
25
|
+
### 2. Billing & Platform
|
|
26
|
+
- What billing provider? (Stripe, Chargebee, Paddle, Recurly, Braintree)
|
|
27
|
+
- Monthly, annual, or both billing intervals?
|
|
28
|
+
- Do you support plan pausing or downgrades?
|
|
29
|
+
- Any existing retention tooling? (Churnkey, ProsperStack, Raaft)
|
|
30
|
+
|
|
31
|
+
### 3. Product & Usage Data
|
|
32
|
+
- Do you track feature usage per user?
|
|
33
|
+
- Can you identify engagement drop-offs?
|
|
34
|
+
- Do you have cancellation reason data from past churns?
|
|
35
|
+
- What's your activation metric? (What do retained users do that churned users don't?)
|
|
36
|
+
|
|
37
|
+
### 4. Constraints
|
|
38
|
+
- B2B or B2C? (Affects flow design)
|
|
39
|
+
- Self-serve cancellation required? (Some regulations mandate easy cancel)
|
|
40
|
+
- Brand tone for offboarding? (Empathetic, direct, playful)
|
|
41
|
+
|
|
42
|
+
---
|
|
43
|
+
|
|
44
|
+
## How This Skill Works
|
|
45
|
+
|
|
46
|
+
Churn has two types requiring different strategies:
|
|
47
|
+
|
|
48
|
+
| Type | Cause | Solution |
|
|
49
|
+
|------|-------|----------|
|
|
50
|
+
| **Voluntary** | Customer chooses to cancel | Cancel flows, save offers, exit surveys |
|
|
51
|
+
| **Involuntary** | Payment fails | Dunning emails, smart retries, card updaters |
|
|
52
|
+
|
|
53
|
+
Voluntary churn is typically 50-70% of total churn. Involuntary churn is 30-50% but is often easier to fix.
|
|
54
|
+
|
|
55
|
+
This skill supports three modes:
|
|
56
|
+
|
|
57
|
+
1. **Build a cancel flow** — Design from scratch with survey, save offers, and confirmation
|
|
58
|
+
2. **Optimize an existing flow** — Analyze cancel data and improve save rates
|
|
59
|
+
3. **Set up dunning** — Failed payment recovery with retries and email sequences
|
|
60
|
+
|
|
61
|
+
---
|
|
62
|
+
|
|
63
|
+
## Cancel Flow Design
|
|
64
|
+
|
|
65
|
+
### The Cancel Flow Structure
|
|
66
|
+
|
|
67
|
+
Every cancel flow follows this sequence:
|
|
68
|
+
|
|
69
|
+
```
|
|
70
|
+
Trigger → Survey → Dynamic Offer → Confirmation → Post-Cancel
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
**Step 1: Trigger**
|
|
74
|
+
Customer clicks "Cancel subscription" in account settings.
|
|
75
|
+
|
|
76
|
+
**Step 2: Exit Survey**
|
|
77
|
+
Ask why they're cancelling. This determines which save offer to show.
|
|
78
|
+
|
|
79
|
+
**Step 3: Dynamic Save Offer**
|
|
80
|
+
Present a targeted offer based on their reason (discount, pause, downgrade, etc.)
|
|
81
|
+
|
|
82
|
+
**Step 4: Confirmation**
|
|
83
|
+
If they still want to cancel, confirm clearly with end-of-billing-period messaging.
|
|
84
|
+
|
|
85
|
+
**Step 5: Post-Cancel**
|
|
86
|
+
Set expectations, offer easy reactivation path, trigger win-back sequence.
|
|
87
|
+
|
|
88
|
+
### Exit Survey Design
|
|
89
|
+
|
|
90
|
+
The exit survey is the foundation. Good reason categories:
|
|
91
|
+
|
|
92
|
+
| Reason | What It Tells You |
|
|
93
|
+
|--------|-------------------|
|
|
94
|
+
| Too expensive | Price sensitivity, may respond to discount or downgrade |
|
|
95
|
+
| Not using it enough | Low engagement, may respond to pause or onboarding help |
|
|
96
|
+
| Missing a feature | Product gap, show roadmap or workaround |
|
|
97
|
+
| Switching to competitor | Competitive pressure, understand what they offer |
|
|
98
|
+
| Technical issues / bugs | Product quality, escalate to support |
|
|
99
|
+
| Temporary / seasonal need | Usage pattern, offer pause |
|
|
100
|
+
| Business closed / changed | Unavoidable, learn and let go gracefully |
|
|
101
|
+
| Other | Catch-all, include free text field |
|
|
102
|
+
|
|
103
|
+
**Survey best practices:**
|
|
104
|
+
- 1 question, single-select with optional free text
|
|
105
|
+
- 5-8 reason options max (avoid decision fatigue)
|
|
106
|
+
- Put most common reasons first (review data quarterly)
|
|
107
|
+
- Don't make it feel like a guilt trip
|
|
108
|
+
- "Help us improve" framing works better than "Why are you leaving?"
|
|
109
|
+
|
|
110
|
+
### Dynamic Save Offers
|
|
111
|
+
|
|
112
|
+
The key insight: **match the offer to the reason.** A discount won't save someone who isn't using the product. A feature roadmap won't save someone who can't afford it.
|
|
113
|
+
|
|
114
|
+
**Offer-to-reason mapping:**
|
|
115
|
+
|
|
116
|
+
| Cancel Reason | Primary Offer | Fallback Offer |
|
|
117
|
+
|---------------|---------------|----------------|
|
|
118
|
+
| Too expensive | Discount (20-30% for 2-3 months) | Downgrade to lower plan |
|
|
119
|
+
| Not using it enough | Pause (1-3 months) | Free onboarding session |
|
|
120
|
+
| Missing feature | Roadmap preview + timeline | Workaround guide |
|
|
121
|
+
| Switching to competitor | Competitive comparison + discount | Feedback session |
|
|
122
|
+
| Technical issues | Escalate to support immediately | Credit + priority fix |
|
|
123
|
+
| Temporary / seasonal | Pause subscription | Downgrade temporarily |
|
|
124
|
+
| Business closed | Skip offer (respect the situation) | — |
|
|
125
|
+
|
|
126
|
+
### Save Offer Types
|
|
127
|
+
|
|
128
|
+
**Discount**
|
|
129
|
+
- 20-30% off for 2-3 months is the sweet spot
|
|
130
|
+
- Avoid 50%+ discounts (trains customers to cancel for deals)
|
|
131
|
+
- Time-limit the offer ("This offer expires when you leave this page")
|
|
132
|
+
- Show the dollar amount saved, not just the percentage
|
|
133
|
+
|
|
134
|
+
**Pause subscription**
|
|
135
|
+
- 1-3 month pause maximum (longer pauses rarely reactivate)
|
|
136
|
+
- 60-80% of pausers eventually return to active
|
|
137
|
+
- Auto-reactivation with advance notice email
|
|
138
|
+
- Keep their data and settings intact
|
|
139
|
+
|
|
140
|
+
**Plan downgrade**
|
|
141
|
+
- Offer a lower tier instead of full cancellation
|
|
142
|
+
- Show what they keep vs. what they lose
|
|
143
|
+
- Position as "right-size your plan" not "downgrade"
|
|
144
|
+
- Easy path back up when ready
|
|
145
|
+
|
|
146
|
+
**Feature unlock / extension**
|
|
147
|
+
- Unlock a premium feature they haven't tried
|
|
148
|
+
- Extend trial of a higher tier
|
|
149
|
+
- Works best for "not getting enough value" reasons
|
|
150
|
+
|
|
151
|
+
**Personal outreach**
|
|
152
|
+
- For high-value accounts (top 10-20% by MRR)
|
|
153
|
+
- Route to customer success for a call
|
|
154
|
+
- Personal email from founder for smaller companies
|
|
155
|
+
|
|
156
|
+
### Cancel Flow UI Patterns
|
|
157
|
+
|
|
158
|
+
```
|
|
159
|
+
┌─────────────────────────────────────┐
|
|
160
|
+
│ We're sorry to see you go │
|
|
161
|
+
│ │
|
|
162
|
+
│ What's the main reason you're │
|
|
163
|
+
│ cancelling? │
|
|
164
|
+
│ │
|
|
165
|
+
│ ○ Too expensive │
|
|
166
|
+
│ ○ Not using it enough │
|
|
167
|
+
│ ○ Missing a feature I need │
|
|
168
|
+
│ ○ Switching to another tool │
|
|
169
|
+
│ ○ Technical issues │
|
|
170
|
+
│ ○ Temporary / don't need right now │
|
|
171
|
+
│ ○ Other: [____________] │
|
|
172
|
+
│ │
|
|
173
|
+
│ [Continue] │
|
|
174
|
+
│ [Never mind, keep my subscription] │
|
|
175
|
+
└─────────────────────────────────────┘
|
|
176
|
+
↓ (selects "Too expensive")
|
|
177
|
+
┌─────────────────────────────────────┐
|
|
178
|
+
│ What if we could help? │
|
|
179
|
+
│ │
|
|
180
|
+
│ We'd love to keep you. Here's a │
|
|
181
|
+
│ special offer: │
|
|
182
|
+
│ │
|
|
183
|
+
│ ┌───────────────────────────────┐ │
|
|
184
|
+
│ │ 25% off for the next 3 months│ │
|
|
185
|
+
│ │ Save $XX/month │ │
|
|
186
|
+
│ │ │ │
|
|
187
|
+
│ │ [Accept Offer] │ │
|
|
188
|
+
│ └───────────────────────────────┘ │
|
|
189
|
+
│ │
|
|
190
|
+
│ Or switch to [Basic Plan] at │
|
|
191
|
+
│ $X/month → │
|
|
192
|
+
│ │
|
|
193
|
+
│ [No thanks, continue cancelling] │
|
|
194
|
+
└─────────────────────────────────────┘
|
|
195
|
+
```
|
|
196
|
+
|
|
197
|
+
**UI principles:**
|
|
198
|
+
- Keep the "continue cancelling" option visible (no dark patterns)
|
|
199
|
+
- One primary offer + one fallback, not a wall of options
|
|
200
|
+
- Show specific dollar savings, not abstract percentages
|
|
201
|
+
- Use the customer's name and account data when possible
|
|
202
|
+
- Mobile-friendly (many cancellations happen on mobile)
|
|
203
|
+
|
|
204
|
+
For detailed cancel flow patterns by industry and billing provider, see [references/cancel-flow-patterns.md](references/cancel-flow-patterns.md).
|
|
205
|
+
|
|
206
|
+
---
|
|
207
|
+
|
|
208
|
+
## Churn Prediction & Proactive Retention
|
|
209
|
+
|
|
210
|
+
The best save happens before the customer ever clicks "Cancel."
|
|
211
|
+
|
|
212
|
+
### Risk Signals
|
|
213
|
+
|
|
214
|
+
Track these leading indicators of churn:
|
|
215
|
+
|
|
216
|
+
| Signal | Risk Level | Timeframe |
|
|
217
|
+
|--------|-----------|-----------|
|
|
218
|
+
| Login frequency drops 50%+ | High | 2-4 weeks before cancel |
|
|
219
|
+
| Key feature usage stops | High | 1-3 weeks before cancel |
|
|
220
|
+
| Support tickets spike then stop | High | 1-2 weeks before cancel |
|
|
221
|
+
| Email open rates decline | Medium | 2-6 weeks before cancel |
|
|
222
|
+
| Billing page visits increase | High | Days before cancel |
|
|
223
|
+
| Team seats removed | High | 1-2 weeks before cancel |
|
|
224
|
+
| Data export initiated | Critical | Days before cancel |
|
|
225
|
+
| NPS score drops below 6 | Medium | 1-3 months before cancel |
|
|
226
|
+
|
|
227
|
+
### Health Score Model
|
|
228
|
+
|
|
229
|
+
Build a simple health score (0-100) from weighted signals:
|
|
230
|
+
|
|
231
|
+
```
|
|
232
|
+
Health Score = (
|
|
233
|
+
Login frequency score × 0.30 +
|
|
234
|
+
Feature usage score × 0.25 +
|
|
235
|
+
Support sentiment × 0.15 +
|
|
236
|
+
Billing health × 0.15 +
|
|
237
|
+
Engagement score × 0.15
|
|
238
|
+
)
|
|
239
|
+
```
|
|
240
|
+
|
|
241
|
+
| Score | Status | Action |
|
|
242
|
+
|-------|--------|--------|
|
|
243
|
+
| 80-100 | Healthy | Upsell opportunities |
|
|
244
|
+
| 60-79 | Needs attention | Proactive check-in |
|
|
245
|
+
| 40-59 | At risk | Intervention campaign |
|
|
246
|
+
| 0-39 | Critical | Personal outreach |
|
|
247
|
+
|
|
248
|
+
### Proactive Interventions
|
|
249
|
+
|
|
250
|
+
**Before they think about cancelling:**
|
|
251
|
+
|
|
252
|
+
| Trigger | Intervention |
|
|
253
|
+
|---------|-------------|
|
|
254
|
+
| Usage drop >50% for 2 weeks | "We noticed you haven't used [feature]. Need help?" email |
|
|
255
|
+
| Approaching plan limit | Upgrade nudge (not a wall — paywall-upgrade-cro handles this) |
|
|
256
|
+
| No login for 14 days | Re-engagement email with recent product updates |
|
|
257
|
+
| NPS detractor (0-6) | Personal follow-up within 24 hours |
|
|
258
|
+
| Support ticket unresolved >48h | Escalation + proactive status update |
|
|
259
|
+
| Annual renewal in 30 days | Value recap email + renewal confirmation |
|
|
260
|
+
|
|
261
|
+
---
|
|
262
|
+
|
|
263
|
+
## Involuntary Churn: Payment Recovery
|
|
264
|
+
|
|
265
|
+
Failed payments cause 30-50% of all churn but are the most recoverable.
|
|
266
|
+
|
|
267
|
+
### The Dunning Stack
|
|
268
|
+
|
|
269
|
+
```
|
|
270
|
+
Pre-dunning → Smart retry → Dunning emails → Grace period → Hard cancel
|
|
271
|
+
```
|
|
272
|
+
|
|
273
|
+
### Pre-Dunning (Prevent Failures)
|
|
274
|
+
|
|
275
|
+
- **Card expiry alerts**: Email 30, 15, and 7 days before card expires
|
|
276
|
+
- **Backup payment method**: Prompt for a second payment method at signup
|
|
277
|
+
- **Card updater services**: Visa/Mastercard auto-update programs (reduces hard declines 30-50%)
|
|
278
|
+
- **Pre-billing notification**: Email 3-5 days before charge for annual plans
|
|
279
|
+
|
|
280
|
+
### Smart Retry Logic
|
|
281
|
+
|
|
282
|
+
Not all failures are the same. Retry strategy by decline type:
|
|
283
|
+
|
|
284
|
+
| Decline Type | Examples | Retry Strategy |
|
|
285
|
+
|-------------|----------|----------------|
|
|
286
|
+
| Soft decline (temporary) | Insufficient funds, processor timeout | Retry 3-5 times over 7-10 days |
|
|
287
|
+
| Hard decline (permanent) | Card stolen, account closed | Don't retry — ask for new card |
|
|
288
|
+
| Authentication required | 3D Secure, SCA | Send customer to update payment |
|
|
289
|
+
|
|
290
|
+
**Retry timing best practices:**
|
|
291
|
+
- Retry 1: 24 hours after failure
|
|
292
|
+
- Retry 2: 3 days after failure
|
|
293
|
+
- Retry 3: 5 days after failure
|
|
294
|
+
- Retry 4: 7 days after failure (with dunning email escalation)
|
|
295
|
+
- After 4 retries: Hard cancel with reactivation path
|
|
296
|
+
|
|
297
|
+
**Smart retry tip:** Retry on the day of the month the payment originally succeeded (if Day 1 worked before, retry on Day 1). Stripe Smart Retries handles this automatically.
|
|
298
|
+
|
|
299
|
+
### Dunning Email Sequence
|
|
300
|
+
|
|
301
|
+
| Email | Timing | Tone | Content |
|
|
302
|
+
|-------|--------|------|---------|
|
|
303
|
+
| 1 | Day 0 (failure) | Friendly alert | "Your payment didn't go through. Update your card." |
|
|
304
|
+
| 2 | Day 3 | Helpful reminder | "Quick reminder — update your payment to keep access." |
|
|
305
|
+
| 3 | Day 7 | Urgency | "Your account will be paused in 3 days. Update now." |
|
|
306
|
+
| 4 | Day 10 | Final warning | "Last chance to keep your account active." |
|
|
307
|
+
|
|
308
|
+
**Dunning email best practices:**
|
|
309
|
+
- Direct link to payment update page (no login required if possible)
|
|
310
|
+
- Show what they'll lose (their data, their team's access)
|
|
311
|
+
- Don't blame ("your payment failed" not "you failed to pay")
|
|
312
|
+
- Include support contact for help
|
|
313
|
+
- Plain text performs better than designed emails for dunning
|
|
314
|
+
|
|
315
|
+
### Recovery Benchmarks
|
|
316
|
+
|
|
317
|
+
| Metric | Poor | Average | Good |
|
|
318
|
+
|--------|------|---------|------|
|
|
319
|
+
| Soft decline recovery | <40% | 50-60% | 70%+ |
|
|
320
|
+
| Hard decline recovery | <10% | 20-30% | 40%+ |
|
|
321
|
+
| Overall payment recovery | <30% | 40-50% | 60%+ |
|
|
322
|
+
| Pre-dunning prevention | None | 10-15% | 20-30% |
|
|
323
|
+
|
|
324
|
+
For the complete dunning playbook with provider-specific setup, see [references/dunning-playbook.md](references/dunning-playbook.md).
|
|
325
|
+
|
|
326
|
+
---
|
|
327
|
+
|
|
328
|
+
## Metrics & Measurement
|
|
329
|
+
|
|
330
|
+
### Key Churn Metrics
|
|
331
|
+
|
|
332
|
+
| Metric | Formula | Target |
|
|
333
|
+
|--------|---------|--------|
|
|
334
|
+
| Monthly churn rate | Churned customers / Start-of-month customers | <5% B2C, <2% B2B |
|
|
335
|
+
| Revenue churn (net) | (Lost MRR - Expansion MRR) / Start MRR | Negative (net expansion) |
|
|
336
|
+
| Cancel flow save rate | Saved / Total cancel sessions | 25-35% |
|
|
337
|
+
| Offer acceptance rate | Accepted offers / Shown offers | 15-25% |
|
|
338
|
+
| Pause reactivation rate | Reactivated / Total paused | 60-80% |
|
|
339
|
+
| Dunning recovery rate | Recovered / Total failed payments | 50-60% |
|
|
340
|
+
| Time to cancel | Days from first churn signal to cancel | Track trend |
|
|
341
|
+
|
|
342
|
+
### Cohort Analysis
|
|
343
|
+
|
|
344
|
+
Segment churn by:
|
|
345
|
+
- **Acquisition channel** — Which channels bring stickier customers?
|
|
346
|
+
- **Plan type** — Which plans churn most?
|
|
347
|
+
- **Tenure** — When do most cancellations happen? (30, 60, 90 days?)
|
|
348
|
+
- **Cancel reason** — Which reasons are growing?
|
|
349
|
+
- **Save offer type** — Which offers work best for which segments?
|
|
350
|
+
|
|
351
|
+
### Cancel Flow A/B Tests
|
|
352
|
+
|
|
353
|
+
Test one variable at a time:
|
|
354
|
+
|
|
355
|
+
| Test | Hypothesis | Metric |
|
|
356
|
+
|------|-----------|--------|
|
|
357
|
+
| Discount % (20% vs 30%) | Higher discount saves more | Save rate, LTV impact |
|
|
358
|
+
| Pause duration (1 vs 3 months) | Longer pause increases return rate | Reactivation rate |
|
|
359
|
+
| Survey placement (before vs after offer) | Survey-first personalizes offers | Save rate |
|
|
360
|
+
| Offer presentation (modal vs full page) | Full page gets more attention | Save rate |
|
|
361
|
+
| Copy tone (empathetic vs direct) | Empathetic reduces friction | Save rate |
|
|
362
|
+
|
|
363
|
+
**How to run cancel flow experiments:** Use the **ab-test-setup** skill to design statistically rigorous tests. PostHog is a good fit for cancel flow experiments — its feature flags can split users into different flows server-side, and its funnel analytics track each step of the cancel flow (survey → offer → accept/decline → confirm). See the [PostHog integration guide](../../tools/integrations/posthog.md) for setup.
|
|
364
|
+
|
|
365
|
+
---
|
|
366
|
+
|
|
367
|
+
## Common Mistakes
|
|
368
|
+
|
|
369
|
+
- **No cancel flow at all** — Instant cancel leaves money on the table. Even a simple survey + one offer saves 10-15%
|
|
370
|
+
- **Making cancellation hard to find** — Hidden cancel buttons breed resentment and bad reviews. Many jurisdictions require easy cancellation (FTC Click-to-Cancel rule)
|
|
371
|
+
- **Same offer for every reason** — A blanket discount doesn't address "missing feature" or "not using it"
|
|
372
|
+
- **Discounts too deep** — 50%+ discounts train customers to cancel-and-return for deals
|
|
373
|
+
- **Ignoring involuntary churn** — Often 30-50% of total churn and the easiest to fix
|
|
374
|
+
- **No dunning emails** — Letting payment failures silently cancel accounts
|
|
375
|
+
- **Guilt-trip copy** — "Are you sure you want to abandon us?" damages brand trust
|
|
376
|
+
- **Not tracking save offer LTV** — A "saved" customer who churns 30 days later wasn't really saved
|
|
377
|
+
- **Pausing too long** — Pauses beyond 3 months rarely reactivate. Set limits.
|
|
378
|
+
- **No post-cancel path** — Always make reactivation easy and trigger win-back emails
|
|
379
|
+
|
|
380
|
+
---
|
|
381
|
+
|
|
382
|
+
## Tool Integrations
|
|
383
|
+
|
|
384
|
+
For implementation, see the [tools registry](../../tools/REGISTRY.md).
|
|
385
|
+
|
|
386
|
+
### Retention Platforms
|
|
387
|
+
|
|
388
|
+
| Tool | Best For | Key Feature |
|
|
389
|
+
|------|----------|-------------|
|
|
390
|
+
| **Churnkey** | Full cancel flow + dunning | AI-powered adaptive offers, 34% avg save rate |
|
|
391
|
+
| **ProsperStack** | Cancel flows with analytics | Advanced rules engine, Stripe/Chargebee integration |
|
|
392
|
+
| **Raaft** | Simple cancel flow builder | Easy setup, good for early-stage |
|
|
393
|
+
| **Chargebee Retention** | Chargebee customers | Native integration, was Brightback |
|
|
394
|
+
|
|
395
|
+
### Billing Providers (Dunning)
|
|
396
|
+
|
|
397
|
+
| Provider | Smart Retries | Dunning Emails | Card Updater |
|
|
398
|
+
|----------|:------------:|:--------------:|:------------:|
|
|
399
|
+
| **Stripe** | Built-in (Smart Retries) | Built-in | Automatic |
|
|
400
|
+
| **Chargebee** | Built-in | Built-in | Via gateway |
|
|
401
|
+
| **Paddle** | Built-in | Built-in | Managed |
|
|
402
|
+
| **Recurly** | Built-in | Built-in | Built-in |
|
|
403
|
+
| **Braintree** | Manual config | Manual | Via gateway |
|
|
404
|
+
|
|
405
|
+
### Related CLI Tools
|
|
406
|
+
|
|
407
|
+
| Tool | Use For |
|
|
408
|
+
|------|---------|
|
|
409
|
+
| `stripe` | Subscription management, dunning config, payment retries |
|
|
410
|
+
| `customer-io` | Dunning email sequences, retention campaigns |
|
|
411
|
+
| `posthog` | Cancel flow A/B tests via feature flags, funnel analytics |
|
|
412
|
+
| `mixpanel` / `ga4` | Usage tracking, churn signal analysis |
|
|
413
|
+
| `segment` | Event routing for health scoring |
|
|
414
|
+
|
|
415
|
+
---
|
|
416
|
+
|
|
417
|
+
## Related Skills
|
|
418
|
+
|
|
419
|
+
- **email-sequence**: For win-back email sequences after cancellation
|
|
420
|
+
- **paywall-upgrade-cro**: For in-app upgrade moments and trial expiration
|
|
421
|
+
- **pricing-strategy**: For plan structure and annual discount strategy
|
|
422
|
+
- **onboarding-cro**: For activation to prevent early churn
|
|
423
|
+
- **analytics-tracking**: For setting up churn signal events
|
|
424
|
+
- **ab-test-setup**: For testing cancel flow variations with statistical rigor
|