vybekiit 0.7.29 → 0.7.32
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/dist/bin.js +3403 -2768
- package/dist/global-guidance/language.md +7 -102
- package/dist/global-skills/add-ai/SKILL.md +7 -8
- package/dist/global-skills/add-analytics/SKILL.md +4 -7
- package/dist/global-skills/add-app-clip/SKILL.md +1 -0
- package/dist/global-skills/add-blog/SKILL.md +4 -7
- package/dist/global-skills/add-files/SKILL.md +4 -7
- package/dist/global-skills/add-images/SKILL.md +4 -7
- package/dist/global-skills/add-language/SKILL.md +5 -8
- package/dist/global-skills/add-notifications/SKILL.md +4 -7
- package/dist/global-skills/add-realtime/SKILL.md +4 -7
- package/dist/global-skills/add-search/SKILL.md +4 -7
- package/dist/global-skills/add-signin/SKILL.md +4 -8
- package/dist/global-skills/add-teams/SKILL.md +4 -7
- package/dist/global-skills/aws-cdk/SKILL.md +1 -0
- package/dist/global-skills/aws-cloudformation/SKILL.md +1 -0
- package/dist/global-skills/aws-serverless/SKILL.md +1 -0
- package/dist/global-skills/aws-serverless/references/compute-decision-edge-cases.md +77 -0
- package/dist/global-skills/better-auth-best-practices/SKILL.md +1 -0
- package/dist/global-skills/better-auth-security-best-practices/SKILL.md +1 -0
- package/dist/global-skills/building-native-ui/SKILL.md +1 -0
- package/dist/global-skills/buy-domain/SKILL.md +4 -7
- package/dist/global-skills/check-safety/SKILL.md +5 -8
- package/dist/global-skills/claimable-postgres/SKILL.md +1 -0
- package/dist/global-skills/configure-capabilities/SKILL.md +1 -1
- package/dist/global-skills/connect-account/SKILL.md +1 -1
- package/dist/global-skills/create-auth-skill/SKILL.md +1 -0
- package/dist/global-skills/doctor/SKILL.md +1 -1
- package/dist/global-skills/eas-app-stores/SKILL.md +2 -1
- package/dist/global-skills/eas-app-stores/agents/openai.yaml +1 -1
- package/dist/global-skills/eas-hosting/SKILL.md +2 -1
- package/dist/global-skills/eas-hosting/agents/openai.yaml +1 -1
- package/dist/global-skills/eas-observe/SKILL.md +2 -1
- package/dist/global-skills/eas-observe/agents/openai.yaml +1 -1
- package/dist/global-skills/eas-simulator/SKILL.md +9 -1
- package/dist/global-skills/eas-simulator/agents/openai.yaml +1 -1
- package/dist/global-skills/eas-simulator/references/logs-and-crashes.md +101 -0
- package/dist/global-skills/eas-simulator/references/troubleshooting.md +4 -0
- package/dist/global-skills/eas-update/SKILL.md +2 -1
- package/dist/global-skills/eas-update/agents/openai.yaml +1 -1
- package/dist/global-skills/eas-update-insights/SKILL.md +2 -1
- package/dist/global-skills/eas-update-insights/agents/openai.yaml +1 -1
- package/dist/global-skills/eas-workflows/SKILL.md +2 -1
- package/dist/global-skills/eas-workflows/agents/openai.yaml +1 -1
- package/dist/global-skills/email-best-practices/SKILL.md +1 -0
- package/dist/global-skills/expo-animation/SKILL.md +2 -1
- package/dist/global-skills/expo-api-routes/SKILL.md +1 -0
- package/dist/global-skills/expo-app-clip/SKILL.md +2 -1
- package/dist/global-skills/expo-brownfield/SKILL.md +2 -1
- package/dist/global-skills/expo-cicd-workflows/SKILL.md +1 -0
- package/dist/global-skills/expo-data-fetching/SKILL.md +2 -1
- package/dist/global-skills/expo-deployment/SKILL.md +1 -0
- package/dist/global-skills/expo-design-system/SKILL.md +2 -1
- package/dist/global-skills/expo-dev-client/SKILL.md +2 -1
- package/dist/global-skills/expo-dom/SKILL.md +2 -1
- package/dist/global-skills/expo-examples/SKILL.md +2 -1
- package/dist/global-skills/expo-migrate-module/SKILL.md +2 -1
- package/dist/global-skills/expo-module/SKILL.md +2 -1
- package/dist/global-skills/expo-native-ui/SKILL.md +2 -1
- package/dist/global-skills/expo-observe/SKILL.md +1 -0
- package/dist/global-skills/expo-overview/SKILL.md +2 -1
- package/dist/global-skills/expo-project-structure/SKILL.md +2 -1
- package/dist/global-skills/expo-router/SKILL.md +2 -1
- package/dist/global-skills/expo-skill-eval/SKILL.md +1 -0
- package/dist/global-skills/expo-skill-feedback/SKILL.md +1 -0
- package/dist/global-skills/expo-tailwind-setup/SKILL.md +1 -0
- package/dist/global-skills/expo-ui/SKILL.md +2 -1
- package/dist/global-skills/expo-upgrade/SKILL.md +2 -1
- package/dist/global-skills/expo-web-to-native/SKILL.md +2 -1
- package/dist/global-skills/extension-to-functions-codebase/SKILL.md +1 -0
- package/dist/global-skills/firebase-ai-logic-basics/SKILL.md +1 -0
- package/dist/global-skills/firebase-ai-logic-basics/references/tts_generation.md +676 -0
- package/dist/global-skills/firebase-app-hosting-basics/SKILL.md +1 -0
- package/dist/global-skills/firebase-auth-basics/SKILL.md +11 -6
- package/dist/global-skills/firebase-auth-basics/references/client_sdk_android.md +61 -23
- package/dist/global-skills/firebase-basics/SKILL.md +2 -0
- package/dist/global-skills/firebase-basics/references/android_setup.md +165 -23
- package/dist/global-skills/firebase-crashlytics/SKILL.md +1 -0
- package/dist/global-skills/firebase-crashlytics/references/android_setup.md +147 -119
- package/dist/global-skills/firebase-data-connect/SKILL.md +1 -0
- package/dist/global-skills/firebase-data-connect/reference/sdk_android.md +81 -25
- package/dist/global-skills/firebase-firestore/SKILL.md +1 -0
- package/dist/global-skills/firebase-firestore/references/enterprise/android_sdk_usage.md +70 -44
- package/dist/global-skills/firebase-firestore/references/standard/android_sdk_usage.md +63 -27
- package/dist/global-skills/firebase-hosting-basics/SKILL.md +1 -0
- package/dist/global-skills/firebase-remote-config-basics/SKILL.md +1 -0
- package/dist/global-skills/firebase-remote-config-basics/references/android_setup.md +87 -95
- package/dist/global-skills/firebase-security-rules-auditor/SKILL.md +1 -0
- package/dist/global-skills/firestore-rules-creation/SKILL.md +1 -0
- package/dist/global-skills/go-live/SKILL.md +7 -7
- package/dist/global-skills/harden/SKILL.md +7 -10
- package/dist/global-skills/instrument-feature-flags/SKILL.md +1 -0
- package/dist/global-skills/instrument-product-analytics/SKILL.md +1 -0
- package/dist/global-skills/manifest.json +2 -1
- package/dist/global-skills/mongodb-atlas-stream-processing/SKILL.md +1 -0
- package/dist/global-skills/mongodb-connection/SKILL.md +1 -0
- package/dist/global-skills/mongodb-mcp-setup/SKILL.md +1 -0
- package/dist/global-skills/mongodb-natural-language-querying/SKILL.md +1 -0
- package/dist/global-skills/mongodb-qe-size-estimation/SKILL.md +224 -0
- package/dist/global-skills/mongodb-query-optimizer/SKILL.md +1 -0
- package/dist/global-skills/mongodb-schema-design/SKILL.md +1 -0
- package/dist/global-skills/mongodb-search-and-ai/SKILL.md +1 -0
- package/dist/global-skills/native-data-fetching/SKILL.md +1 -0
- package/dist/global-skills/neon/SKILL.md +18 -5
- package/dist/global-skills/neon-ai-gateway/SKILL.md +1 -0
- package/dist/global-skills/neon-auth/SKILL.md +1 -0
- package/dist/global-skills/neon-functions/SKILL.md +12 -0
- package/dist/global-skills/neon-functions/references/native-binaries.md +188 -0
- package/dist/global-skills/neon-object-storage/SKILL.md +1 -0
- package/dist/global-skills/neon-postgres/SKILL.md +1 -0
- package/dist/global-skills/neon-postgres-branches/SKILL.md +1 -0
- package/dist/global-skills/neon-postgres-egress-optimizer/SKILL.md +1 -0
- package/dist/global-skills/onboarding/SKILL.md +14 -13
- package/dist/global-skills/plan-my-idea/SKILL.md +1 -1
- package/dist/global-skills/publish-app/SKILL.md +1 -1
- package/dist/global-skills/publish-extension/SKILL.md +1 -1
- package/dist/global-skills/resend/SKILL.md +2 -1
- package/dist/global-skills/resend/references/webhooks.md +2 -0
- package/dist/global-skills/reset-password/SKILL.md +4 -6
- package/dist/global-skills/save-data/SKILL.md +3 -0
- package/dist/global-skills/sentry-sdk-setup/SKILL.md +1 -0
- package/dist/global-skills/sentry-workflow/SKILL.md +1 -0
- package/dist/global-skills/setup-email/SKILL.md +7 -8
- package/dist/global-skills/setup-payments/SKILL.md +10 -12
- package/dist/global-skills/setup-sms/SKILL.md +1 -1
- package/dist/global-skills/sign-in-with-email-link/SKILL.md +4 -6
- package/dist/global-skills/sign-in-with-google/SKILL.md +14 -13
- package/dist/global-skills/sign-in-with-phone/SKILL.md +5 -7
- package/dist/global-skills/stripe-best-practices/SKILL.md +2 -1
- package/dist/global-skills/stripe-best-practices/references/billing.md +2 -0
- package/dist/global-skills/stripe-best-practices/references/payments.md +1 -1
- package/dist/global-skills/stripe-best-practices/references/tax.md +2 -2
- package/dist/global-skills/supabase/CHANGELOG.md +19 -0
- package/dist/global-skills/supabase/SKILL.md +1 -0
- package/dist/global-skills/supabase-postgres-best-practices/SKILL.md +1 -0
- package/dist/global-skills/track-errors/SKILL.md +12 -13
- package/dist/global-skills/update-kit/SKILL.md +1 -1
- package/dist/global-skills/upgrading-expo/SKILL.md +1 -0
- package/dist/global-skills/use-dom/SKILL.md +1 -0
- package/dist/global-skills/use-railway/SKILL.md +6 -5
- package/dist/global-skills/use-railway/references/configure.md +34 -1
- package/dist/global-skills/use-railway/references/iac.md +2 -0
- package/dist/global-skills/use-railway/references/tracing.md +89 -44
- package/dist/global-skills/vercel-composition-patterns/SKILL.md +1 -0
- package/dist/global-skills/vercel-react-best-practices/SKILL.md +1 -0
- package/dist/global-skills/vybekiitReferences/backend/AGENTS.md +11 -3
- package/dist/global-skills/vybekiitReferences/backend/agent/goal-index.md +1 -1
- package/dist/global-skills/vybekiitReferences/backend/agent/goal-routes.json +229 -0
- package/dist/global-skills/vybekiitReferences/backend/agent/mcp-setup.md +11 -2
- package/dist/global-skills/vybekiitReferences/backend/agent/session-bootstrap.md +1 -1
- package/dist/global-skills/vybekiitReferences/backend/agent/tech-references.md +1 -1
- package/dist/global-skills/vybekiitReferences/backend/language.md +7 -102
- package/dist/global-skills/vybekiitReferences/backend/platform-skills/deploy-railway-vybekiit.md +2 -2
- package/dist/global-skills/vybekiitReferences/backend/platform-skills/extend-capabilities-vybekiit.md +1 -1
- package/dist/global-skills/vybekiitReferences/backend/platform-skills/mongodb-vybekiit.md +1 -1
- package/dist/global-skills/vybekiitReferences/extension/AGENTS.md +11 -3
- package/dist/global-skills/vybekiitReferences/extension/agent/goal-index.md +1 -1
- package/dist/global-skills/vybekiitReferences/extension/agent/goal-routes.json +239 -0
- package/dist/global-skills/vybekiitReferences/extension/agent/mcp-setup.md +10 -1
- package/dist/global-skills/vybekiitReferences/extension/agent/session-bootstrap.md +1 -1
- package/dist/global-skills/vybekiitReferences/extension/agent/tech-references.md +1 -1
- package/dist/global-skills/vybekiitReferences/extension/agent/ui-sources.md +11 -8
- package/dist/global-skills/vybekiitReferences/extension/language.md +7 -92
- package/dist/global-skills/vybekiitReferences/extension/platform-skills/browser-automation-vybekiit.md +9 -1
- package/dist/global-skills/vybekiitReferences/extension/platform-skills/env-secrets-vybekiit.md +1 -0
- package/dist/global-skills/vybekiitReferences/extension/platform-skills/extend-capabilities-vybekiit.md +1 -1
- package/dist/global-skills/vybekiitReferences/extension/platform-skills/observability-vybekiit.md +1 -1
- package/dist/global-skills/vybekiitReferences/extension/platform-skills/sentry-vybekiit.md +1 -1
- package/dist/global-skills/vybekiitReferences/mobile/AGENTS.md +27 -12
- package/dist/global-skills/vybekiitReferences/mobile/agent/goal-index.md +1 -1
- package/dist/global-skills/vybekiitReferences/mobile/agent/goal-routes.json +279 -0
- package/dist/global-skills/vybekiitReferences/mobile/agent/mcp-setup.md +10 -1
- package/dist/global-skills/vybekiitReferences/mobile/agent/session-bootstrap.md +1 -1
- package/dist/global-skills/vybekiitReferences/mobile/agent/tech-references.md +1 -1
- package/dist/global-skills/vybekiitReferences/mobile/agent/ui-sources.mobile.md +1 -1
- package/dist/global-skills/vybekiitReferences/mobile/language.md +7 -93
- package/dist/global-skills/vybekiitReferences/mobile/platform-skills/env-secrets-vybekiit.md +1 -0
- package/dist/global-skills/vybekiitReferences/mobile/platform-skills/extend-capabilities-vybekiit.md +1 -1
- package/dist/global-skills/vybekiitReferences/mobile/platform-skills/i18n-vybekiit.md +1 -1
- package/dist/global-skills/vybekiitReferences/mobile/platform-skills/observability-vybekiit.md +1 -1
- package/dist/global-skills/vybekiitReferences/mobile/platform-skills/sentry-vybekiit.md +1 -1
- package/dist/global-skills/vybekiitReferences/mobile/platform-skills/ui-port-from-web-vybekiit.md +2 -2
- package/dist/global-skills/vybekiitReferences/spa/AGENTS.md +11 -3
- package/dist/global-skills/vybekiitReferences/spa/agent/goal-index.md +1 -1
- package/dist/global-skills/vybekiitReferences/spa/agent/goal-routes.json +267 -0
- package/dist/global-skills/vybekiitReferences/spa/agent/mcp-setup.md +10 -1
- package/dist/global-skills/vybekiitReferences/spa/agent/session-bootstrap.md +1 -1
- package/dist/global-skills/vybekiitReferences/spa/agent/ui-sources.md +11 -8
- package/dist/global-skills/vybekiitReferences/spa/language.md +7 -11
- package/dist/global-skills/vybekiitReferences/web/AGENTS.md +15 -30
- package/dist/global-skills/vybekiitReferences/web/agent/goal-index.md +1 -1
- package/dist/global-skills/vybekiitReferences/web/agent/goal-routes.json +366 -0
- package/dist/global-skills/vybekiitReferences/web/agent/mcp-setup.md +11 -2
- package/dist/global-skills/vybekiitReferences/web/agent/session-bootstrap.md +1 -1
- package/dist/global-skills/vybekiitReferences/web/language.md +7 -102
- package/dist/global-skills/vybekiitReferences/web/platform-skills/ai-vybekiit.md +1 -1
- package/dist/global-skills/vybekiitReferences/web/platform-skills/analytics-vybekiit.md +1 -1
- package/dist/global-skills/vybekiitReferences/web/platform-skills/assets-vybekiit.md +1 -1
- package/dist/global-skills/vybekiitReferences/web/platform-skills/better-auth-vybekiit.md +1 -1
- package/dist/global-skills/vybekiitReferences/web/platform-skills/browser-automation-vybekiit.md +9 -1
- package/dist/global-skills/vybekiitReferences/web/platform-skills/cms-vybekiit.md +1 -1
- package/dist/global-skills/vybekiitReferences/web/platform-skills/compliance-vybekiit.md +1 -1
- package/dist/global-skills/vybekiitReferences/web/platform-skills/deploy-github-pages-vybekiit.md +2 -2
- package/dist/global-skills/vybekiitReferences/web/platform-skills/deploy-railway-vybekiit.md +2 -2
- package/dist/global-skills/vybekiitReferences/web/platform-skills/deploy-vercel-vybekiit.md +2 -2
- package/dist/global-skills/vybekiitReferences/web/platform-skills/env-secrets-vybekiit.md +1 -0
- package/dist/global-skills/vybekiitReferences/web/platform-skills/extend-capabilities-vybekiit.md +1 -1
- package/dist/global-skills/vybekiitReferences/web/platform-skills/i18n-vybekiit.md +1 -1
- package/dist/global-skills/vybekiitReferences/web/platform-skills/jobs-vybekiit.md +1 -1
- package/dist/global-skills/vybekiitReferences/web/platform-skills/kv-vybekiit.md +1 -1
- package/dist/global-skills/vybekiitReferences/web/platform-skills/lemon-squeezy-vybekiit.md +1 -1
- package/dist/global-skills/vybekiitReferences/web/platform-skills/mongodb-vybekiit.md +1 -1
- package/dist/global-skills/vybekiitReferences/web/platform-skills/notifications-vybekiit.md +1 -1
- package/dist/global-skills/vybekiitReferences/web/platform-skills/observability-vybekiit.md +1 -1
- package/dist/global-skills/vybekiitReferences/web/platform-skills/paypal-vybekiit.md +1 -1
- package/dist/global-skills/vybekiitReferences/web/platform-skills/realtime-vybekiit.md +1 -1
- package/dist/global-skills/vybekiitReferences/web/platform-skills/registrar-vybekiit.md +1 -1
- package/dist/global-skills/vybekiitReferences/web/platform-skills/search-vybekiit.md +1 -1
- package/dist/global-skills/vybekiitReferences/web/platform-skills/sentry-vybekiit.md +1 -1
- package/dist/global-skills/vybekiitReferences/web/platform-skills/seo-vybekiit.md +1 -3
- package/dist/global-skills/vybekiitReferences/web/platform-skills/supabase-vybekiit.md +1 -1
- package/dist/global-skills/vybekiitReferences/web/platform-skills/tenancy-vybekiit.md +1 -1
- package/dist/global-skills/web-to-native/SKILL.md +1 -0
- package/dist/global-skills/workers-best-practices/SKILL.md +4 -3
- package/dist/global-skills/workers-best-practices/references/configuration.md +1 -1
- package/dist/global-skills/workers-best-practices/references/platform-apis.md +5 -5
- package/dist/global-skills/workers-best-practices/references/runtime-patterns.md +1 -1
- package/dist/global-skills/wrangler/SKILL.md +27 -24
- package/dist/global-skills/xcode-project-setup/SKILL.md +1 -0
- package/package.json +10 -8
|
@@ -67,16 +67,6 @@ read a definition aloud.
|
|
|
67
67
|
| transactional email | the emails your app sends automatically | receipts, sign-in codes, confirmations |
|
|
68
68
|
| SMTP / mail provider | your email | the service that delivers their app's emails |
|
|
69
69
|
|
|
70
|
-
## Payments & tax
|
|
71
|
-
|
|
72
|
-
| Don't say (jargon) | Say instead (plain) | Why it matters to them |
|
|
73
|
-
|---|---|---|
|
|
74
|
-
| Merchant of Record / MoR | the service that handles tax for you | removes VAT/sales-tax fear — the default handles it |
|
|
75
|
-
| VAT / sales tax | tax on sales (handled for you when MoR is on) | they never need to file tax themselves on the default path |
|
|
76
|
-
| variant / product id | the product's ID in the payment dashboard (agent handles) | they pick a price; you wire the id |
|
|
77
|
-
| subscription | recurring charge | money that repeats on a schedule |
|
|
78
|
-
| refund / chargeback | money returned / disputed charge | when a customer gets money back or disputes a charge |
|
|
79
|
-
|
|
80
70
|
## Building blocks (rarely needed, but translate if it slips out)
|
|
81
71
|
|
|
82
72
|
| Don't say (jargon) | Say instead (plain) | Why it matters to them |
|
|
@@ -95,24 +85,6 @@ read a definition aloud.
|
|
|
95
85
|
| frontend | the part people see and click | the screens, buttons, and text |
|
|
96
86
|
| backend | the part that does the work behind the scenes | saving data, sending email, taking payment |
|
|
97
87
|
|
|
98
|
-
## Quality and saving your work
|
|
99
|
-
|
|
100
|
-
<!-- source: @vybekiit/agent-kit renderSdlcVocabularyTable() — keep in sync -->
|
|
101
|
-
|
|
102
|
-
| Don't say (jargon) | Say instead (plain) | Why it matters to them |
|
|
103
|
-
|---|---|---|
|
|
104
|
-
| test / unit test | I checked it still works | reassures them without test-suite vocabulary |
|
|
105
|
-
| TDD / tests-first | *(agent-internal — never say)* | agent-internal — never say |
|
|
106
|
-
| linter / formatter / Biome | tidying the code | usually invisible; only mention if they ask why you paused |
|
|
107
|
-
| quality smoke / typecheck | everything checks out | onboarding and pre-ship reassurance |
|
|
108
|
-
| pull request / PR | a safe copy for the checker to review | when saving via branch before merge |
|
|
109
|
-
| CI / GitHub Actions | the automatic checker online | never name GitHub Actions |
|
|
110
|
-
| CD / deploy pipeline | putting updates online automatically | only if they overhear pipeline talk |
|
|
111
|
-
| Playwright / E2E / headless browser | I walked through your app like a visitor would | UI walkthrough without tool names |
|
|
112
|
-
| back up / save progress online | I saved your progress online | never say GitHub — stays in service ban list |
|
|
113
|
-
| worktree | *(agent-internal — never say)* | agent-internal — never say |
|
|
114
|
-
| husky / hook / pre-push | *(agent-internal — never say)* | agent-internal — never say |
|
|
115
|
-
|
|
116
88
|
## Planning together (before big builds)
|
|
117
89
|
|
|
118
90
|
| Don't say (jargon) | Say instead (plain) | Why it matters to them |
|
|
@@ -175,65 +147,6 @@ read a definition aloud.
|
|
|
175
147
|
| locale | the visitor's language and region | so the app speaks each visitor's language |
|
|
176
148
|
| RTL / right-to-left | apps that read right-to-left (Hebrew, Arabic) | the layout flips automatically for them |
|
|
177
149
|
|
|
178
|
-
## Your app's layout
|
|
179
|
-
|
|
180
|
-
<!-- source: @vybekiit/agent-kit renderUiVocabularyTable() — keep in sync -->
|
|
181
|
-
|
|
182
|
-
| Don't say (jargon) | Say instead (plain) | Why it matters to them |
|
|
183
|
-
|---|---|---|
|
|
184
|
-
| navbar / header / top nav | the top menu | matches what they see at the top of the screen |
|
|
185
|
-
| sidebar / side nav | the side menu | matches what they see along the side |
|
|
186
|
-
| admin dashboard / dashboard | your dashboard / signed-in area | the part only logged-in users see |
|
|
187
|
-
| cloud / hosting / serverless | your app's home online | where the live app runs — never name the provider |
|
|
188
|
-
| analytics | visitor stats | who uses the app without analytics jargon |
|
|
189
|
-
| SEO | how search engines find you | discoverability in plain words |
|
|
190
|
-
| GEO / JSON-LD / structured data | extra details search engines read | structured metadata without crawler jargon |
|
|
191
|
-
| streaming (AI) | the reply appears word by word | explains live AI text without "streaming" |
|
|
192
|
-
| chat with AI / AI chat | talk to the assistant inside your app | in-app AI without product names |
|
|
193
|
-
| sign in / log in | sign in | explicit row — complements "authentication / auth" |
|
|
194
|
-
| deeplink / URI scheme | I sent that to your assistant | Report Mode handoff — never expose URL schemes |
|
|
195
|
-
| Report mode / inspect mode | point at what's wrong | only if they ask about the hotkey overlay |
|
|
196
|
-
|
|
197
|
-
## When something breaks
|
|
198
|
-
|
|
199
|
-
<!-- source: @vybekiit/agent-kit renderFailureVocabularyTable() — keep in sync -->
|
|
200
|
-
|
|
201
|
-
| Don't say (jargon) | Say instead (plain) | Why it matters to them |
|
|
202
|
-
|---|---|---|
|
|
203
|
-
| bug | something isn't working right | plain framing before the fix |
|
|
204
|
-
| error / exception | something went wrong — here's the one fix | one clear next step, never a wall of red |
|
|
205
|
-
| not working / broken | something broke — I'll figure it out | routes to doctor without debug vocabulary |
|
|
206
|
-
|
|
207
|
-
## Agent-internal — never say
|
|
208
|
-
|
|
209
|
-
<!-- source: @vybekiit/agent-kit renderAgentInternalVocabularyTable() — keep in sync -->
|
|
210
|
-
|
|
211
|
-
| Don't say (jargon) | Say instead (plain) | Why it matters to them |
|
|
212
|
-
|---|---|---|
|
|
213
|
-
| middleware | *(agent-internal — never say)* | agent-internal — never say |
|
|
214
|
-
| idempotency | *(agent-internal — never say)* | agent-internal — never say |
|
|
215
|
-
| race condition | *(agent-internal — never say)* | agent-internal — never say |
|
|
216
|
-
| DOM / CSS selector / element selector | *(agent-internal — never say)* | agent-internal — say "what you clicked" to the vibe coder |
|
|
217
|
-
|
|
218
|
-
## Talking about the tools themselves
|
|
219
|
-
|
|
220
|
-
The vibe coder also overhears you reasoning about your own tooling. Those terms break the illusion just
|
|
221
|
-
as badly as "env var" does — never name a tool, just say what it does for them.
|
|
222
|
-
|
|
223
|
-
<!-- source: @vybekiit/agent-kit renderToolVocabularyTable() — keep in sync -->
|
|
224
|
-
|
|
225
|
-
| Don't say (jargon) | Say instead (plain) | Why it matters to them |
|
|
226
|
-
|---|---|---|
|
|
227
|
-
| Claude Code / Codex / Cursor | your assistant | they picked an outcome, not a tool — naming the product breaks the "I just talk to one helper" feel |
|
|
228
|
-
| the CLI / the terminal / the command line | the part I work in (you don't need to touch it) | the black text screen is mine to drive; surfacing it invites them to poke and get stuck |
|
|
229
|
-
| the IDE / the editor | where your app is being built | the window they have open — call it by what it does, not its product name |
|
|
230
|
-
| agent / the model / the LLM | me / your assistant | they are talking to one helper, not a "model" — keep it personal and singular |
|
|
231
|
-
| prompt | what you tell me / your request | their plain words to me — never frame it as a technical input they must craft |
|
|
232
|
-
| context window | how much I can keep in mind at once | why I sometimes recap or ask them to confirm where we are — not a setting they manage |
|
|
233
|
-
| rules file / AGENTS.md / CLAUDE.md / .cursor/rules | my instructions for your project | the file that tells me how to behave here — they never need to open or edit it |
|
|
234
|
-
| slash command | a shortcut I can run | a quick action I trigger for them — frame it as something I do, not something they type |
|
|
235
|
-
| MCP / MCP server | a tool I can use for you | an extra capability I plug in on their behalf — the plumbing stays invisible |
|
|
236
|
-
|
|
237
150
|
## Service names — never speak these
|
|
238
151
|
|
|
239
152
|
The kit can run on different services under the hood. **Never name the underlying service to the
|
|
@@ -246,16 +159,6 @@ vibe coder.** They chose a goal, not a technology — you pick the service and k
|
|
|
246
159
|
- This holds even when a provider's own screen is open in front of the vibe coder — guide them by what
|
|
247
160
|
they see and click ("the blue Authorize button"), not by the service's name.
|
|
248
161
|
|
|
249
|
-
## Tone
|
|
250
|
-
|
|
251
|
-
<!-- source: @vybekiit/agent-kit renderToneSection() — keep in sync -->
|
|
252
|
-
|
|
253
|
-
- Warm, confident, brief. You're the expert handling the hard parts.
|
|
254
|
-
- One step at a time. Never a wall of instructions.
|
|
255
|
-
- Always end a manual step by telling them **exactly** what to click/copy and what you'll do next.
|
|
256
|
-
- Celebrate wins.
|
|
257
|
-
- **No em dashes (`—`).** They read like AI filler. In chat and body copy, use a period, comma, colon, or parentheses instead. **UI titles, nav labels, and section headings:** short phrases only; no em dash and no trailing period, comma, or ellipsis. Split into two lines or two i18n keys instead. Hyphens in compound words (`build-time`) are fine.
|
|
258
|
-
|
|
259
162
|
## Right-to-left languages
|
|
260
163
|
|
|
261
164
|
If the vibe coder writes to you in Hebrew or Arabic, reply in their language. Their app already mirrors
|
|
@@ -321,10 +224,16 @@ its layout automatically for RTL visitors — you don't need to do anything spec
|
|
|
321
224
|
| agent / the model / the LLM | me / your assistant | they are talking to one helper, not a "model" — keep it personal and singular |
|
|
322
225
|
| prompt | what you tell me / your request | their plain words to me — never frame it as a technical input they must craft |
|
|
323
226
|
| context window | how much I can keep in mind at once | why I sometimes recap or ask them to confirm where we are — not a setting they manage |
|
|
324
|
-
| rules file / AGENTS.md /
|
|
227
|
+
| rules file / AGENTS.md / .cursor/rules | my instructions for your project | the file that tells me how to behave here — they never need to open or edit it |
|
|
325
228
|
| slash command | a shortcut I can run | a quick action I trigger for them — frame it as something I do, not something they type |
|
|
326
229
|
| MCP / MCP server | a tool I can use for you | an extra capability I plug in on their behalf — the plumbing stays invisible |
|
|
327
230
|
| pnpm / npm / package manager | getting the building blocks ready | one-time install wait — never name the package manager |
|
|
231
|
+
| Terminal app (when they must open it) | the Terminal app: the window where you paste the one line I give you | only for a one-time setup step; give the exact line to paste and what they should see after |
|
|
232
|
+
| JSON / .json file | a settings file | plain text the app reads; they never edit it by hand |
|
|
233
|
+
| API / endpoint / REST | the connection to [service] | how the app talks to another service; name what it does, not the plumbing |
|
|
234
|
+
| GitHub / repo / repository | your online copy of the code | where their work is saved online; the service name stays invisible |
|
|
235
|
+
| Chrome profile / debugging port / Chromium | your Chrome browser | the browser they already use; the setup details stay invisible |
|
|
236
|
+
| browser automation / CDP / headless browser | the browser helper: I open Chrome and copy the keys for you | they only sign in when asked; keys go straight into the app settings and are never shown |
|
|
328
237
|
| GitHub Copilot / Copilot | your assistant | deliberately out of scope — collapse like other assistant products if it slips out |
|
|
329
238
|
<!-- vybekiit:generated:end tool-vocabulary -->
|
|
330
239
|
|
|
@@ -435,9 +344,5 @@ its layout automatically for RTL visitors — you don't need to do anything spec
|
|
|
435
344
|
| idempotency | *(agent-internal — never say)* | agent-internal — never say |
|
|
436
345
|
| race condition | *(agent-internal — never say)* | agent-internal — never say |
|
|
437
346
|
| DOM / CSS selector / element selector | *(agent-internal — never say)* | agent-internal — say "what you clicked" or "location in code" in the handoff only |
|
|
438
|
-
| sandbox | *(agent-internal — never say)* | agent-internal — never say |
|
|
439
|
-
| ask mode / agent mode | *(agent-internal — never say)* | agent-internal — never say |
|
|
440
|
-
| skills CLI / skills.sh | *(agent-internal — never say)* | agent-internal — never say |
|
|
441
|
-
| *-vybekiit.md (Layer B wrapper paths) | *(agent-internal — never say)* | agent-internal file paths — never spoken aloud |
|
|
442
347
|
| JWT / JWKS | *(agent-internal — never say)* | agent-internal — never say |
|
|
443
348
|
<!-- vybekiit:generated:end agent-internal-vocabulary -->
|
|
@@ -31,16 +31,15 @@ Inspect an existing app before changing it. Scaffold a new kit app only when the
|
|
|
31
31
|
## Steps
|
|
32
32
|
|
|
33
33
|
<!-- vybekiit:page-recipe-install -->
|
|
34
|
-
0. **
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
Also reference `packages/agentKit` `getPageRecipeInstall('add-ai')` / page-recipe-manifest.json.
|
|
39
|
-
**Verify:** route builds and shows practice UI before provider wiring.
|
|
40
|
-
|
|
34
|
+
0. **Add the ready-made page first.** Run `vybekiit add page-recipe ai-assistant`. It adds the page
|
|
35
|
+
at `/assistant` and lists any data setup to run next. Keep every `TODO:` in the page and fill
|
|
36
|
+
each one in as you connect the real service.
|
|
37
|
+
**Verify:** `/assistant` opens and shows practice content.
|
|
41
38
|
|
|
42
39
|
1. **Explain in one line.** *"I'll add a smart helper that answers using AI."*
|
|
43
|
-
2. **Collect the API key**
|
|
40
|
+
2. **Collect the API key** if `OPENAI_API_KEY` is not in `.env` yet. Ask the builder to run
|
|
41
|
+
`vybekiit-automate openai setup` in their own terminal (`anthropic setup` for Anthropic). It asks
|
|
42
|
+
for the key with hidden typing, checks it, and saves it to `.env`. Never ask for the key in chat.
|
|
44
43
|
Run `vybekiit apply-preset embeddings` and `vybekiit apply-preset ai_conversations` when chat history
|
|
45
44
|
is needed (`platform-skills/db-presets-vybekiit.md`).
|
|
46
45
|
**Verify:** keys saved; `vybekiit verify-presets embeddings` when presets applied.
|
|
@@ -29,13 +29,10 @@ unless you screen-share a summary.
|
|
|
29
29
|
## Steps
|
|
30
30
|
|
|
31
31
|
<!-- vybekiit:page-recipe-install -->
|
|
32
|
-
0. **
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
Also reference `packages/agentKit` `getPageRecipeInstall('add-analytics')` / page-recipe-manifest.json.
|
|
37
|
-
**Verify:** route builds and shows practice UI before provider wiring.
|
|
38
|
-
|
|
32
|
+
0. **Add the ready-made page first.** Run `vybekiit add page-recipe analytics`. It adds the page
|
|
33
|
+
at `/analytics` and lists any data setup to run next. Keep every `TODO:` in the page and fill
|
|
34
|
+
each one in as you connect the real service.
|
|
35
|
+
**Verify:** `/analytics` opens and shows practice content.
|
|
39
36
|
|
|
40
37
|
1. **Explain in one line.** *"I'll set up visitor stats so you can see how many people use your app."*
|
|
41
38
|
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: add-app-clip
|
|
3
3
|
description: Add an iOS App Clip target to an Expo app. Use when the user mentions App Clip, AASA, apple-app-site-association, appclips, smart app banner, or wants to ship a lightweight iOS Clip invoked from a URL alongside their parent app.
|
|
4
|
+
disable-model-invocation: true
|
|
4
5
|
---
|
|
5
6
|
|
|
6
7
|
# Add an App Clip to an Expo App
|
|
@@ -27,13 +27,10 @@ Inspect an existing app before changing it. Scaffold a new kit app only when the
|
|
|
27
27
|
## Steps
|
|
28
28
|
|
|
29
29
|
<!-- vybekiit:page-recipe-install -->
|
|
30
|
-
0. **
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
Also reference `packages/agentKit` `getPageRecipeInstall('add-blog')` / page-recipe-manifest.json.
|
|
35
|
-
**Verify:** route builds and shows practice UI before provider wiring.
|
|
36
|
-
|
|
30
|
+
0. **Add the ready-made page first.** Run `vybekiit add page-recipe blog`. It adds the page
|
|
31
|
+
at `/blog` and lists any data setup to run next. Keep every `TODO:` in the page and fill
|
|
32
|
+
each one in as you connect the real service.
|
|
33
|
+
**Verify:** `/blog` opens and shows practice content.
|
|
37
34
|
|
|
38
35
|
1. Explain: *"I'll add blog pages you can edit as simple files."*
|
|
39
36
|
2. Add MDX pages under `content/` (title from `#` heading; optional description in front matter).
|
|
@@ -29,13 +29,10 @@ translate every error · celebrate. You build the upload; the builder only paste
|
|
|
29
29
|
## Steps
|
|
30
30
|
|
|
31
31
|
<!-- vybekiit:page-recipe-install -->
|
|
32
|
-
0. **
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
Also reference `packages/agentKit` `getPageRecipeInstall('add-files')` / page-recipe-manifest.json.
|
|
37
|
-
**Verify:** route builds and shows practice UI before provider wiring.
|
|
38
|
-
|
|
32
|
+
0. **Add the ready-made page first.** Run `vybekiit add page-recipe file-manager`. It adds the page
|
|
33
|
+
at `/files` and lists any data setup to run next. Keep every `TODO:` in the page and fill
|
|
34
|
+
each one in as you connect the real service.
|
|
35
|
+
**Verify:** `/files` opens and shows practice content.
|
|
39
36
|
|
|
40
37
|
1. **Make sure file storage is ready.** Run `vybekiit doctor` so the storage tool is set up, and
|
|
41
38
|
collect any access key it needs — one at a time — into the secret settings file.
|
|
@@ -28,13 +28,10 @@ translate every error · celebrate. You place and wire images; the kit compresse
|
|
|
28
28
|
## Steps
|
|
29
29
|
|
|
30
30
|
<!-- vybekiit:page-recipe-install -->
|
|
31
|
-
0. **
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
Also reference `packages/agentKit` `getPageRecipeInstall('add-images')` / page-recipe-manifest.json.
|
|
36
|
-
**Verify:** route builds and shows practice UI before provider wiring.
|
|
37
|
-
|
|
31
|
+
0. **Add the ready-made page first.** Run `vybekiit add page-recipe brand-assets`. It adds the page
|
|
32
|
+
at `/brand` and lists any data setup to run next. Keep every `TODO:` in the page and fill
|
|
33
|
+
each one in as you connect the real service.
|
|
34
|
+
**Verify:** `/brand` opens and shows practice content.
|
|
38
35
|
|
|
39
36
|
1. **Pick the folder.** Web → `public/`. Mobile → `assets/`. Extension → `public/icon/` (icons) or
|
|
40
37
|
`public/` for other static files.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: add-language
|
|
3
|
-
description: "make the app speak another language — the builder asks in plain words (\"make it Hebrew\"
|
|
3
|
+
description: "make the app speak another language — the builder asks in plain words (\"make it Hebrew\", \"add Spanish\"), you wire a full locale in one session. Use when the vibe coder says something like: translate my app; add spanish; make it hebrew."
|
|
4
4
|
metadata:
|
|
5
5
|
vybekiit-generated: buyer-skill-stub
|
|
6
6
|
---
|
|
@@ -24,13 +24,10 @@ celebrate. Follow `i18n-vybekiit.md` for all technical steps.
|
|
|
24
24
|
## Steps
|
|
25
25
|
|
|
26
26
|
<!-- vybekiit:page-recipe-install -->
|
|
27
|
-
0. **
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
Also reference `packages/agentKit` `getPageRecipeInstall('add-language')` / page-recipe-manifest.json.
|
|
32
|
-
**Verify:** route builds and shows practice UI before provider wiring.
|
|
33
|
-
|
|
27
|
+
0. **Add the ready-made page first.** Run `vybekiit add page-recipe language`. It adds the page
|
|
28
|
+
at `/settings/language` and lists any data setup to run next. Keep every `TODO:` in the page and fill
|
|
29
|
+
each one in as you connect the real service.
|
|
30
|
+
**Verify:** `/settings/language` opens and shows practice content.
|
|
34
31
|
|
|
35
32
|
1. **Ask which language** — plain words only. You pick the ISO code (e.g. Hebrew → `he`, Spanish → `es`).
|
|
36
33
|
2. **Duplicate the catalog** — copy `messages/en.json` → `messages/{locale}.json`; translate every value.
|
|
@@ -27,13 +27,10 @@ from the app.
|
|
|
27
27
|
## Steps
|
|
28
28
|
|
|
29
29
|
<!-- vybekiit:page-recipe-install -->
|
|
30
|
-
0. **
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
Also reference `packages/agentKit` `getPageRecipeInstall('add-notifications')` / page-recipe-manifest.json.
|
|
35
|
-
**Verify:** route builds and shows practice UI before provider wiring.
|
|
36
|
-
|
|
30
|
+
0. **Add the ready-made page first.** Run `vybekiit add page-recipe notifications-center`. It adds the page
|
|
31
|
+
at `/notifications` and lists any data setup to run next. Keep every `TODO:` in the page and fill
|
|
32
|
+
each one in as you connect the real service.
|
|
33
|
+
**Verify:** `/notifications` opens and shows practice content.
|
|
37
34
|
|
|
38
35
|
1. **Confirm email works first.** If `setup-email` is not done, run that skill first.
|
|
39
36
|
**Verify:** a test email arrives.
|
|
@@ -26,13 +26,10 @@ translate every error · celebrate.
|
|
|
26
26
|
## Steps
|
|
27
27
|
|
|
28
28
|
<!-- vybekiit:page-recipe-install -->
|
|
29
|
-
0. **
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
Also reference `packages/agentKit` `getPageRecipeInstall('add-realtime')` / page-recipe-manifest.json.
|
|
34
|
-
**Verify:** route builds and shows practice UI before provider wiring.
|
|
35
|
-
|
|
29
|
+
0. **Add the ready-made page first.** Run `vybekiit add page-recipe realtime`. It adds the page
|
|
30
|
+
at `/activity` and lists any data setup to run next. Keep every `TODO:` in the page and fill
|
|
31
|
+
each one in as you connect the real service.
|
|
32
|
+
**Verify:** `/activity` opens and shows practice content.
|
|
36
33
|
|
|
37
34
|
1. **Explain in one line.** *"I'll turn on live updates so your app refreshes when data changes."*
|
|
38
35
|
|
|
@@ -25,13 +25,10 @@ Inspect an existing app before changing it. Scaffold a new kit app only when the
|
|
|
25
25
|
## Steps
|
|
26
26
|
|
|
27
27
|
<!-- vybekiit:page-recipe-install -->
|
|
28
|
-
0. **
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
Also reference `packages/agentKit` `getPageRecipeInstall('add-search')` / page-recipe-manifest.json.
|
|
33
|
-
**Verify:** route builds and shows practice UI before provider wiring.
|
|
34
|
-
|
|
28
|
+
0. **Add the ready-made page first.** Run `vybekiit add page-recipe search`. It adds the page
|
|
29
|
+
at `/search` and lists any data setup to run next. Keep every `TODO:` in the page and fill
|
|
30
|
+
each one in as you connect the real service.
|
|
31
|
+
**Verify:** `/search` opens and shows practice content.
|
|
35
32
|
|
|
36
33
|
1. Explain: *"I'll add search so people can find things quickly."*
|
|
37
34
|
2. Run `vybekiit apply-preset search_documents` then wire index on create/update and a search UI calling
|
|
@@ -27,14 +27,10 @@ translate every error · celebrate. You wire all the code; the builder only past
|
|
|
27
27
|
## Steps
|
|
28
28
|
|
|
29
29
|
<!-- vybekiit:page-recipe-install -->
|
|
30
|
-
0. **
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
Keep every `TODO:` in the recipe and wire each one after the route renders.
|
|
35
|
-
Goal id for lookup is `sign-in` (this skill folder is `add-signin`).
|
|
36
|
-
Also reference `packages/agentKit` `getPageRecipeInstall('sign-in')` / page-recipe-manifest.json.
|
|
37
|
-
**Verify:** `/login` builds and shows practice sign-in UI before provider wiring.
|
|
30
|
+
0. **Add the ready-made sign-in page first.** Run `vybekiit add page-recipe auth`. It adds the page
|
|
31
|
+
at `/login` (if the app already has a sign-in page, it is kept, so merge the two instead of adding
|
|
32
|
+
a second one). Keep every `TODO:` in the page and fill each one in as you connect the real service.
|
|
33
|
+
**Verify:** `/login` opens and shows a practice sign-in form.
|
|
38
34
|
|
|
39
35
|
1. **Make sure their app can remember things first.** Sign-in needs a database. If one isn't set
|
|
40
36
|
up yet, run `save-data` first, then come back.
|
|
@@ -29,13 +29,10 @@ have access.
|
|
|
29
29
|
## Steps
|
|
30
30
|
|
|
31
31
|
<!-- vybekiit:page-recipe-install -->
|
|
32
|
-
0. **
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
`admin-panel` via `getPageRecipeInstall('admin-panel')`.
|
|
37
|
-
Also reference `packages/agentKit` `getPageRecipeInstall('add-teams')` / page-recipe-manifest.json.
|
|
38
|
-
**Verify:** `/dashboard/teams` renders with practice invite UI before provider wiring.
|
|
32
|
+
0. **Use the teams page the app already has.** It lives at `/dashboard/teams`
|
|
33
|
+
(`src/components/saas/teams.tsx`). Need admin screens for users and roles too? Run
|
|
34
|
+
`vybekiit add page-recipe admin-panel`.
|
|
35
|
+
**Verify:** `/dashboard/teams` opens and shows practice invites.
|
|
39
36
|
|
|
40
37
|
1. **Confirm sign-in works first.** If `add-signin` is not done, run that skill first — teams need
|
|
41
38
|
accounts.
|
|
@@ -3,6 +3,7 @@ name: aws-cdk
|
|
|
3
3
|
description: Authors, deploys, and troubleshoots AWS infrastructure using CDK with TypeScript or Python. Covers best practices, stack architecture, and construct patterns. Applies when writing CDK constructs, bootstrapping environments, running cdk deploy/synth/diff, fixing CDK or CloudFormation errors, planning stack structure, importing existing resources, resolving drift, or refactoring stacks without resource replacement.
|
|
4
4
|
metadata:
|
|
5
5
|
version: "2"
|
|
6
|
+
disable-model-invocation: true
|
|
6
7
|
---
|
|
7
8
|
|
|
8
9
|
# AWS CDK
|
|
@@ -3,6 +3,7 @@ name: aws-cloudformation
|
|
|
3
3
|
description: Authors, validates, and troubleshoots AWS CloudFormation templates. Covers template authoring with secure defaults, local validation with either cfn-lint or cloudformation-validate, cfn-guard security and compliance checks as a recommended default, account-aware CloudFormation service pre-deployment validation, CloudFormation Express mode for faster deployments, and root-cause diagnosis of failed stacks using CloudFormation events and CloudTrail correlation. Also covers author-time template intelligence with the CloudFormation Language Server and published cloudformation-validate libraries.
|
|
4
4
|
metadata:
|
|
5
5
|
version: "3"
|
|
6
|
+
disable-model-invocation: true
|
|
6
7
|
---
|
|
7
8
|
# CloudFormation
|
|
8
9
|
|
|
@@ -3,6 +3,7 @@ name: aws-serverless
|
|
|
3
3
|
description: Builds, deploys, manages, debugs, configures, and optimizes serverless applications on AWS using Lambda, API Gateway, Step Functions, EventBridge, and SAM/CDK. Covers cold starts, CORS debugging, event source mappings, troubleshooting, concurrency, SnapStart, Powertools, function URLs, EventBridge Scheduler, Lambda layers, and production readiness. Triggers on mentions of Lambda, API Gateway, Step Functions, SAM templates, CDK serverless stacks, DynamoDB stream triggers, SQS event sources, cold starts, timeouts, 502/504 errors, throttling, concurrency, CORS, Powertools, or any event-driven architecture on AWS, even without the word "serverless." Does not apply to EC2, ECS/Fargate containers, or Amplify hosting.
|
|
4
4
|
metadata:
|
|
5
5
|
version: "4"
|
|
6
|
+
disable-model-invocation: true
|
|
6
7
|
---
|
|
7
8
|
|
|
8
9
|
# AWS Serverless
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
# Compute Decision Edge Cases (Tier 4)
|
|
2
|
+
|
|
3
|
+
Tier 4 of the compute decision flow in `SKILL.md`: feature-level questions that are decided **after** the form factor and capacity provider are locked. Each section gives the question to ask, the decision, and the thresholds and caveats that the one-line summary in `SKILL.md` leaves out. Read this file when a request raises duration limits, cold starts or first-request latency, stream or queue lag, or tenant isolation.
|
|
4
|
+
|
|
5
|
+
## Contents
|
|
6
|
+
|
|
7
|
+
- [Duration ceilings](#duration-ceilings)
|
|
8
|
+
- [Long-lived sessions and long executions](#long-lived-sessions-and-long-executions)
|
|
9
|
+
- [Cold start vs stream lag](#cold-start-vs-stream-lag)
|
|
10
|
+
- [First-request latency](#first-request-latency)
|
|
11
|
+
- [Steady-state traffic: Managed Instances](#steady-state-traffic-managed-instances)
|
|
12
|
+
- [Tenant isolation](#tenant-isolation)
|
|
13
|
+
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
## Duration ceilings
|
|
17
|
+
|
|
18
|
+
| Form factor / feature | Ceiling | Notes |
|
|
19
|
+
|---|---|---|
|
|
20
|
+
| Event Functions · On-Demand | 15 min per invocation | Every invocation type |
|
|
21
|
+
| Web Functions | 15 min per request | Node.js only; On-Demand only |
|
|
22
|
+
| Event Functions · Managed Instances | 90 min per invocation | Asynchronous and event source mapping invocations only; synchronous invocations keep the 15-minute ceiling |
|
|
23
|
+
| MicroVMs | 8 h per session | Customer-managed lifecycle (launch/suspend/resume/terminate) within the session |
|
|
24
|
+
| Durable Functions | 1 year per execution (async invocation) | Each step is bounded by the Lambda timeout of the capacity provider it runs on; waits cost nothing |
|
|
25
|
+
| Step Functions | Standard 1 year, Express 5 min | See [orchestration.md](orchestration.md) |
|
|
26
|
+
|
|
27
|
+
Anything longer than these is outside Lambda: **aws-containers** (ECS/Fargate) or **aws-compute** (EC2).
|
|
28
|
+
|
|
29
|
+
---
|
|
30
|
+
|
|
31
|
+
## Long-lived sessions and long executions
|
|
32
|
+
|
|
33
|
+
Ask for the overall duration and, if the work splits into tasks, the per-task duration (the per-step ceiling is min(task, overall)).
|
|
34
|
+
|
|
35
|
+
- MicroVMs: session > 8 h → **aws-compute** (EC2); otherwise MicroVMs.
|
|
36
|
+
- Functions with multiple coordinated tasks → **Durable Functions** on Event Functions (`SKILL.md` Step 3); the remaining choice is On-Demand vs Managed Instances per step duration.
|
|
37
|
+
- Single **Event Function** invocation > 15 min → if asynchronous or invoked through an event source mapping and up to 90 min, use **Managed Instances**; if > 90 min, or synchronous and > 15 min, use **aws-containers** / **aws-compute**. This does not apply to MicroVM sessions, which use the 8 h session ceiling above.
|
|
38
|
+
|
|
39
|
+
---
|
|
40
|
+
|
|
41
|
+
## Cold start vs stream lag
|
|
42
|
+
|
|
43
|
+
Decide form factor, programming model, and capacity first. Infer the symptom from metrics or the request when possible. If it is still unclear, ask in customer-observable terms: *"Is only the first request after an idle period slow, or is a queue/stream backlog growing while traffic is being processed?"*
|
|
44
|
+
|
|
45
|
+
- **Stream/queue lag** (consumer backlog, `ApproximateAgeOfOldestRecord` or `IteratorAge` climbing, Kafka consumer lag) → **provisioned mode for the event source mapping** (minimum and maximum pollers / event poller units), on either Event Functions capacity provider. Provisioned mode controls input delivery: how quickly the event source mapping reads the source and hands records to Lambda. Provisioned Concurrency controls environment availability and does nothing for a backlog. Details: [concurrency.md](concurrency.md).
|
|
46
|
+
- **First-request latency** → next section.
|
|
47
|
+
|
|
48
|
+
---
|
|
49
|
+
|
|
50
|
+
## First-request latency
|
|
51
|
+
|
|
52
|
+
### Event Functions on On-Demand
|
|
53
|
+
|
|
54
|
+
1. Start with the levers that cost nothing: a smaller deployment package and fewer or lighter layers, lazy initialization outside the hot path, and right-sized memory — [lambda.md](lambda.md). (arm64/Graviton is a price-performance choice, not a cold-start fix.)
|
|
55
|
+
2. Use the stated latency objective when available. If the objective would change the choice and is missing, ask whether the application requires consistently double-digit-millisecond startup overhead or whether sub-second startup is sufficient.
|
|
56
|
+
- Double-digit milliseconds → **Provisioned Concurrency**.
|
|
57
|
+
- Sub-second → **SnapStart** if the runtime is Java, Python, or .NET, for zip or a container image: it snapshots the initialized execution environment after heavy initialization and resumes from that snapshot. Values generated during initialization must be regenerated when uniqueness matters, and network connections must be re-established after restore ([lambda.md](lambda.md)). Other runtimes → Provisioned Concurrency.
|
|
58
|
+
3. If traffic runs continuously (peak-to-mean ratio below 2 within 5–10 minutes), Managed Instances may remove repeated environment launches — next section.
|
|
59
|
+
|
|
60
|
+
### Web Functions
|
|
61
|
+
|
|
62
|
+
Web Functions use On-Demand capacity, but Provisioned Concurrency and SnapStart do not apply. Optimize application initialization and dependency loading, then continue with **aws-lambda-web-functions** for its latency and concurrency guidance. Do not send a Web Functions workload through the Event Functions Provisioned Concurrency/SnapStart decision path.
|
|
63
|
+
|
|
64
|
+
---
|
|
65
|
+
|
|
66
|
+
## Steady-state traffic: Managed Instances
|
|
67
|
+
|
|
68
|
+
Steady state or "always busy" traffic cited to eliminate environment-launch latency → **Managed Instances**: warm, multi-concurrent instances remove repeated cold starts. Infer this from continuous utilization when the request or metrics establish it. If traffic shape is missing, ask whether peak traffic stays below twice the average within any 5–10 minute window (peak-to-mean ratio below 2) or drains and sits idle for meaningful periods. The threshold follows from how Managed Instances scales: asynchronously on CPU utilization and multi-concurrency saturation, so traffic that more than doubles within 5 minutes can be throttled while capacity is added ([scaling](https://docs.aws.amazon.com/lambda/latest/dg/lambda-managed-instances-scaling.html)). Using Managed Instances requires creating a new function; Savings Plans and Reserved Instance pricing apply.
|
|
69
|
+
|
|
70
|
+
---
|
|
71
|
+
|
|
72
|
+
## Tenant isolation
|
|
73
|
+
|
|
74
|
+
- Event and request handlers have **per-function isolation by default**; this is not a promise of a fresh Firecracker VM or a new execution environment for every invocation.
|
|
75
|
+
- Handlers that need execution environments dedicated to one invoker or tenant → Event Functions on **On-Demand** with **tenant isolation mode**: set at creation, every invoke carries a tenant id, and environments assigned to one tenant are not reused for another. Tenant isolation mode is On-Demand only (not available on Managed Instances) and is not compatible with Function URLs, Provisioned Concurrency, or SnapStart.
|
|
76
|
+
- A persistent per-tenant environment, untrusted user- or LLM-generated code, retained memory/disk/processes, or OS access (FUSE, eBPF, custom ports) → **MicroVMs** (**aws-lambda-microvms**). Isolation is per MicroVM environment and persists with that environment's lifecycle.
|
|
77
|
+
- Do not rely on application-level sandboxing inside a shared execution environment.
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: better-auth-best-practices
|
|
3
3
|
description: Configure Better Auth server and client, set up database adapters, manage sessions, add plugins, and handle environment variables. Use when users mention Better Auth, betterauth, auth.ts, or need to set up TypeScript authentication with email/password, OAuth, or plugin configuration.
|
|
4
|
+
disable-model-invocation: true
|
|
4
5
|
---
|
|
5
6
|
|
|
6
7
|
# Better Auth Integration Guide
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: better-auth-security-best-practices
|
|
3
3
|
description: Configure rate limiting, manage auth secrets, set up CSRF protection, define trusted origins, secure sessions and cookies, encrypt OAuth tokens, track IP addresses, and implement audit logging for Better Auth. Use when users need to secure their auth setup, prevent brute force attacks, or harden a Better Auth deployment.
|
|
4
|
+
disable-model-invocation: true
|
|
4
5
|
---
|
|
5
6
|
|
|
6
7
|
## Secret Management
|
|
@@ -3,6 +3,7 @@ name: building-native-ui
|
|
|
3
3
|
description: Complete guide for building beautiful apps with Expo Router. Covers fundamentals, styling, components, navigation, animations, patterns, and native tabs.
|
|
4
4
|
version: 1.0.1
|
|
5
5
|
license: MIT
|
|
6
|
+
disable-model-invocation: true
|
|
6
7
|
---
|
|
7
8
|
|
|
8
9
|
# Expo UI Guidelines
|
|
@@ -29,13 +29,10 @@ it.
|
|
|
29
29
|
## Steps
|
|
30
30
|
|
|
31
31
|
<!-- vybekiit:page-recipe-install -->
|
|
32
|
-
0. **
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
Keep every `TODO:` in the recipe and wire domain checklist items after the route renders.
|
|
37
|
-
Also reference `packages/agentKit` `getPageRecipeInstall('buy-domain')` / page-recipe-manifest.json.
|
|
38
|
-
**Verify:** `/dashboard/launch` builds with practice checklist UI.
|
|
32
|
+
0. **Add the launch checklist page first.** Run `vybekiit add page-recipe launch-checklist` (skip it
|
|
33
|
+
if `go-live` already added it). It adds the page at `/launch`. Keep every `TODO:` in the page and
|
|
34
|
+
fill in the domain items as you go.
|
|
35
|
+
**Verify:** `/launch` opens and shows the practice checklist.
|
|
39
36
|
|
|
40
37
|
1. **Help them choose a name.** Talk through a web address they'd like. Check it's available and
|
|
41
38
|
guide registration **one step at a time** — they pay for it (it's their address).
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: check-safety
|
|
3
|
-
description: "confirm the app is protected end-to-end before ship — abuse, database safety, and every. Use when the vibe coder says something like: am i ready to ship; is my app safe; did we cover security."
|
|
3
|
+
description: "confirm the app is protected end-to-end before ship — abuse, database safety, and every API route classified correctly. Use when the vibe coder says something like: am i ready to ship; is my app safe; did we cover security."
|
|
4
4
|
metadata:
|
|
5
5
|
vybekiit-generated: buyer-skill-stub
|
|
6
6
|
---
|
|
@@ -23,13 +23,10 @@ API route classified correctly. Output a plain pass/fail summary for the builder
|
|
|
23
23
|
## Steps
|
|
24
24
|
|
|
25
25
|
<!-- vybekiit:page-recipe-install -->
|
|
26
|
-
0. **
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
Also reference `packages/agentKit` `getPageRecipeInstall('check-safety')` / page-recipe-manifest.json.
|
|
31
|
-
**Verify:** route builds and shows practice UI before provider wiring.
|
|
32
|
-
|
|
26
|
+
0. **Add the ready-made page first.** Run `vybekiit add page-recipe safety`. It adds the page
|
|
27
|
+
at `/safety` and lists any data setup to run next. Keep every `TODO:` in the page and fill
|
|
28
|
+
each one in as you connect the real service.
|
|
29
|
+
**Verify:** `/safety` opens and shows practice content.
|
|
33
30
|
|
|
34
31
|
1. **Abuse / DDoS layer.** Confirm `SECURITY_RATE_LIMIT` and `SECURITY_ORIGIN_LOCK` are `on` in
|
|
35
32
|
`.env`. Confirm `middleware.ts` passes the request path for tiered limits. Confirm `/api/webhook`
|
|
@@ -11,6 +11,7 @@ description: >-
|
|
|
11
11
|
metadata:
|
|
12
12
|
parent: neon
|
|
13
13
|
source: https://github.com/neondatabase/agent-skills/tree/main/skills/claimable-postgres
|
|
14
|
+
disable-model-invocation: true
|
|
14
15
|
---
|
|
15
16
|
|
|
16
17
|
**FIRST**: Use the parent `neon` skill for a Neon overview, getting started with Neon, Neon development best practices, and more.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: configure-capabilities
|
|
3
|
-
description: "the app has
|
|
3
|
+
description: "the app has only the permissions it needs — the builder never thinks about Info.plist, Android manifest, or Expo plugins. Use when the vibe coder says something like: camera; location permission; notifications permission."
|
|
4
4
|
metadata:
|
|
5
5
|
vybekiit-generated: buyer-skill-stub
|
|
6
6
|
---
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: connect-account
|
|
3
|
-
description: "people can create accounts and sign in
|
|
3
|
+
description: "people can create accounts and sign in inside the app. Use when the vibe coder says something like: sign in; log in; create accounts; add users; forgot password; reset password."
|
|
4
4
|
metadata:
|
|
5
5
|
vybekiit-generated: buyer-skill-stub
|
|
6
6
|
---
|