Files
John Lindquist 8e3350454c feat: prompt scoring improvements, compaction re-injection, validation dedup, strip droppedByCap from context; bump to 0.18.0
- Add dominant-topic suppression (top score >= 600 filters scores < 50)
- Add project-context boost (+3 for VERCEL_PLUGIN_LIKELY_SKILLS skills)
- Add lexical fallback floor (reject raw score < 20)
- Add compaction re-injection for priority >= 7 skills (VERCEL_PLUGIN_CONTEXT_COMPACTED)
- Add validation rule dedup tracking (ruleId + filePath on violations)
- Strip droppedByCap from injected HTML comments (kept in debug logs)
- Fix ncc/SKILL.md and next-forge/SKILL.md YAML frontmatter
- Add startup diagnostic for broken skill frontmatter
2026-03-11 19:01:59 -06:00

1494 lines
39 KiB
Markdown

# Skill Catalog
> Auto-generated by `scripts/generate-catalog.ts` — do not edit manually.
> Generated: 2026-03-12T01:01:20.029Z
> Skills: 46
## Table of Contents
- [Skill Index](#skill-index)
- [Path Overlap Matrix](#path-overlap-matrix)
- [Bash Overlap Matrix](#bash-overlap-matrix)
- [Skills by Priority](#skills-by-priority)
## Skill Index
| Skill | Priority | Path Patterns | Bash Patterns | Import Patterns |
|-------|----------|---------------|---------------|-----------------|
| `workflow` | 9 | 19 | 14 | 4 |
| `ai-sdk` | 8 | 27 | 11 | 2 |
| `bootstrap` | 8 | 10 | 6 | 8 |
| `chat-sdk` | 8 | 45 | 12 | 2 |
| `investigation-mode` | 8 | 8 | 6 | 0 |
| `vercel-functions` | 8 | 11 | 2 | 0 |
| `ai-gateway` | 7 | 0 | 5 | 2 |
| `env-vars` | 7 | 10 | 4 | 0 |
| `vercel-api` | 7 | 2 | 6 | 0 |
| `vercel-storage` | 7 | 15 | 48 | 8 |
| `verification` | 7 | 0 | 8 | 0 |
| `ai-generation-persistence` | 6 | 10 | 0 | 5 |
| `auth` | 6 | 14 | 12 | 0 |
| `cron-jobs` | 6 | 2 | 0 | 0 |
| `deployments-cicd` | 6 | 6 | 7 | 0 |
| `next-forge` | 6 | 32 | 8 | 21 |
| `observability` | 6 | 17 | 33 | 0 |
| `routing-middleware` | 6 | 20 | 1 | 0 |
| `runtime-cache` | 6 | 4 | 4 | 0 |
| `shadcn` | 6 | 7 | 6 | 0 |
| `sign-in-with-vercel` | 6 | 5 | 0 | 0 |
| `vercel-flags` | 6 | 11 | 12 | 7 |
| `ai-elements` | 5 | 10 | 10 | 4 |
| `geistdocs` | 5 | 6 | 6 | 4 |
| `nextjs` | 5 | 15 | 7 | 0 |
| `payments` | 5 | 14 | 12 | 0 |
| `turborepo` | 5 | 2 | 3 | 0 |
| `v0-dev` | 5 | 0 | 3 | 2 |
| `vercel-firewall` | 5 | 1 | 1 | 0 |
| `vercel-queues` | 5 | 16 | 4 | 2 |
| `cms` | 4 | 17 | 26 | 0 |
| `email` | 4 | 17 | 12 | 0 |
| `geist` | 4 | 10 | 4 | 3 |
| `json-render` | 4 | 8 | 0 | 0 |
| `micro` | 4 | 0 | 6 | 2 |
| `ncc` | 4 | 0 | 5 | 1 |
| `react-best-practices` | 4 | 8 | 0 | 2 |
| `satori` | 4 | 16 | 8 | 4 |
| `swr` | 4 | 8 | 4 | 2 |
| `turbopack` | 4 | 1 | 2 | 0 |
| `vercel-agent` | 4 | 6 | 1 | 0 |
| `vercel-cli` | 4 | 5 | 7 | 0 |
| `vercel-sandbox` | 4 | 0 | 4 | 1 |
| `agent-browser` | 3 | 7 | 15 | 0 |
| `marketplace` | 3 | 1 | 3 | 0 |
| `agent-browser-verify` | 2 | 0 | 8 | 0 |
### Skill Details
#### `workflow` (priority 9)
**Path patterns:**
- `lib/workflow/**`
- `src/lib/workflow/**`
- `workflows/**`
- `lib/workflow.*`
- `src/lib/workflow.*`
- `workflow.*`
- `*workflow*`
- `*workflow*/**`
- `**/chain-engine*`
- `**/chain_engine*`
- `**/chainEngine*`
- `**/pipeline-engine*`
- `**/pipeline_engine*`
- `**/pipelineEngine*`
- `**/state-machine*`
- `**/state_machine*`
- `**/stateMachine*`
- `**/orchestrat*`
- `**/escalation*`
**Bash patterns:**
- `\bnpm\s+(install|i|add)\s+[^\n]*@vercel/workflow\b`
- `\bpnpm\s+(install|i|add)\s+[^\n]*@vercel/workflow\b`
- `\bbun\s+(install|i|add)\s+[^\n]*@vercel/workflow\b`
- `\byarn\s+add\s+[^\n]*@vercel/workflow\b`
- `\bnpm\s+(install|i|add)\s+[^\n]*\bworkflow\b`
- `\bpnpm\s+(install|i|add)\s+[^\n]*\bworkflow\b`
- `\bbun\s+(install|i|add)\s+[^\n]*\bworkflow\b`
- `\byarn\s+add\s+[^\n]*\bworkflow\b`
- `\bnpm\s+(install|i|add)\s+[^\n]*@workflow/`
- `\bpnpm\s+(install|i|add)\s+[^\n]*@workflow/`
- `\bbun\s+(install|i|add)\s+[^\n]*@workflow/`
- `\byarn\s+add\s+[^\n]*@workflow/`
- `\bnpx\s+workflow(?:@latest)?\b`
- `\bbunx\s+workflow(?:@latest)?\b`
**Import patterns:**
- `@vercel/workflow`
- `workflow`
- `@workflow/*`
- `*workflow*`
**Matched examples:**
- `lib/workflow/index.ts` (path)
#### `ai-sdk` (priority 8)
**Path patterns:**
- `app/api/chat/**`
- `app/api/completion/**`
- `src/app/api/chat/**`
- `src/app/api/completion/**`
- `pages/api/chat.*`
- `pages/api/chat/**`
- `pages/api/completion.*`
- `pages/api/completion/**`
- `src/pages/api/chat.*`
- `src/pages/api/chat/**`
- `src/pages/api/completion.*`
- `src/pages/api/completion/**`
- `lib/ai/**`
- `src/lib/ai/**`
- `lib/ai.*`
- `src/lib/ai.*`
- `ai/**`
- `apps/*/app/api/chat/**`
- `apps/*/app/api/completion/**`
- `apps/*/src/app/api/chat/**`
- `apps/*/src/app/api/completion/**`
- `apps/*/lib/ai/**`
- `apps/*/src/lib/ai/**`
- `lib/agent.*`
- `src/lib/agent.*`
- `app/actions/chat.*`
- `src/app/actions/chat.*`
**Bash patterns:**
- `\bnpm\s+(install|i|add)\s+[^\n]*\bai\b`
- `\bpnpm\s+(install|i|add)\s+[^\n]*\bai\b`
- `\bbun\s+(install|i|add)\s+[^\n]*\bai\b`
- `\byarn\s+add\s+[^\n]*\bai\b`
- `\bnpm\s+(install|i|add)\s+[^\n]*@ai-sdk/`
- `\bpnpm\s+(install|i|add)\s+[^\n]*@ai-sdk/`
- `\bbun\s+(install|i|add)\s+[^\n]*@ai-sdk/`
- `\byarn\s+add\s+[^\n]*@ai-sdk/`
- `\bnpx\s+@ai-sdk/devtools\b`
- `\bnpx\s+@ai-sdk/codemod\b`
- `\bnpx\s+mcp-to-ai-sdk\b`
**Import patterns:**
- `ai`
- `@ai-sdk/*`
**Matched examples:**
- `app/api/chat/route.ts` (path)
- `app/api/completion/route.ts` (path)
- `lib/ai/index.ts` (path)
- `npm install ai @ai-sdk/openai` (bash)
#### `bootstrap` (priority 8)
**Path patterns:**
- `.env.example`
- `.env.sample`
- `.env.template`
- `README*`
- `docs/**/setup*`
- `package.json`
- `drizzle.config.*`
- `prisma/schema.prisma`
- `auth.*`
- `src/**/auth.*`
**Bash patterns:**
- `\\bcp\\s+\\.env\\.(?:example|sample|template)\\s+\\.env\\.local\\b`
- `\\b(?:npm|pnpm|bun|yarn)\\s+run\\s+db:(?:push|seed|migrate|generate)\\b`
- `\\b(?:npm|pnpm|bun|yarn)\\s+run\\s+dev\\b`
- `\\bvercel\\s+link\\b`
- `\\bvercel\\s+integration\\s+(?:add|install)\\b`
- `\\bvercel\\s+env\\s+pull\\b`
**Import patterns:**
- `@neondatabase/serverless`
- `drizzle-orm`
- `@upstash/redis`
- `@vercel/blob`
- `@vercel/edge-config`
- `next-auth`
- `@auth/core`
- `better-auth`
#### `chat-sdk` (priority 8)
**Path patterns:**
- `app/api/chat/**`
- `app/api/chat-bot/**`
- `app/api/bot/**`
- `app/api/slack/**`
- `app/api/teams/**`
- `app/api/discord/**`
- `app/api/gchat/**`
- `app/api/telegram/**`
- `app/api/github-bot/**`
- `app/api/linear-bot/**`
- `app/api/webhooks/slack/**`
- `app/api/webhooks/teams/**`
- `app/api/webhooks/discord/**`
- `app/api/webhooks/gchat/**`
- `app/api/webhooks/telegram/**`
- `app/api/webhooks/github/**`
- `app/api/webhooks/linear/**`
- `src/app/api/chat/**`
- `src/app/api/chat-bot/**`
- `src/app/api/bot/**`
- `src/app/api/slack/**`
- `src/app/api/teams/**`
- `src/app/api/discord/**`
- `src/app/api/gchat/**`
- `src/app/api/telegram/**`
- `lib/bot.*`
- `lib/bot/**`
- `src/lib/bot.*`
- `src/lib/bot/**`
- `lib/chat-bot/**`
- `src/lib/chat-bot/**`
- `bot/**`
- `pages/api/bot.*`
- `pages/api/bot/**`
- `src/pages/api/bot.*`
- `src/pages/api/bot/**`
- `tests/**/bot*`
- `test/**/bot*`
- `fixtures/replay/**`
- `apps/*/app/api/bot/**`
- `apps/*/app/api/slack/**`
- `apps/*/app/api/teams/**`
- `apps/*/app/api/discord/**`
- `apps/*/lib/bot/**`
- `apps/*/src/lib/bot/**`
**Bash patterns:**
- `\bnpm\s+(install|i|add)\s+[^\n]*\bchat\b`
- `\bpnpm\s+(install|i|add)\s+[^\n]*\bchat\b`
- `\bbun\s+(install|i|add)\s+[^\n]*\bchat\b`
- `\byarn\s+add\s+[^\n]*\bchat\b`
- `\bnpm\s+(install|i|add)\s+[^\n]*@chat-adapter/`
- `\bpnpm\s+(install|i|add)\s+[^\n]*@chat-adapter/`
- `\bbun\s+(install|i|add)\s+[^\n]*@chat-adapter/`
- `\byarn\s+add\s+[^\n]*@chat-adapter/`
- `\bnpm\s+(install|i|add)\s+[^\n]*@chat-adapter/telegram`
- `\bpnpm\s+(install|i|add)\s+[^\n]*@chat-adapter/telegram`
- `\bbun\s+(install|i|add)\s+[^\n]*@chat-adapter/telegram`
- `\byarn\s+add\s+[^\n]*@chat-adapter/telegram`
**Import patterns:**
- `chat`
- `@chat-adapter/*`
**Matched examples:**
- `app/api/chat/route.ts` (path)
- `app/api/bot/route.ts` (path)
- `lib/bot/index.ts` (path)
#### `investigation-mode` (priority 8)
**Path patterns:**
- `**/middleware.{ts,js,mjs}`
- `**/lib/logger.{ts,js}`
- `**/utils/logger.{ts,js}`
- `**/instrumentation.{ts,js}`
- `**/*.log`
- `**/error.{tsx,ts,js,jsx}`
- `**/global-error.{tsx,ts,js,jsx}`
- `**/not-found.{tsx,ts,js,jsx}`
**Bash patterns:**
- `\bvercel\s+logs?\b`
- `\bvercel\s+inspect\b`
- `\btail\s+-f\b.*\.log`
- `\bworkflow\s+runs?\b`
- `\bvercel\s+ls\b`
- `\bcurl\s+-[vI]`
**Matched examples:**
- `middleware.ts` (path)
- `middleware.js` (path)
- `src/middleware.ts` (path)
- `instrumentation.ts` (path)
- `vercel logs` (bash)
#### `vercel-functions` (priority 8)
**Path patterns:**
- `api/**/*.*`
- `pages/api/**`
- `src/pages/api/**`
- `app/**/route.*`
- `src/app/**/route.*`
- `apps/*/api/**/*.*`
- `apps/*/app/**/route.*`
- `apps/*/src/app/**/route.*`
- `apps/*/pages/api/**`
- `vercel.json`
- `apps/*/vercel.json`
**Bash patterns:**
- `\bvercel\s+dev\b`
- `\bvercel\s+logs\b`
**Matched examples:**
- `vercel.json` (path)
- `apps/web/vercel.json` (path)
- `app/api/chat/route.ts` (path)
- `app/api/completion/route.ts` (path)
- `pages/api/auth/[...nextauth].ts` (path)
- `api/hello.ts` (path)
- `pages/api/hello.ts` (path)
- `app/api/bot/route.ts` (path)
- `vercel dev` (bash)
- `vercel logs` (bash)
#### `ai-gateway` (priority 7)
**Bash patterns:**
- `\bvercel\s+env\s+pull\b`
- `\bnpm\s+(install|i|add)\s+[^\n]*@ai-sdk/gateway\b`
- `\bpnpm\s+(install|i|add)\s+[^\n]*@ai-sdk/gateway\b`
- `\bbun\s+(install|i|add)\s+[^\n]*@ai-sdk/gateway\b`
- `\byarn\s+add\s+[^\n]*@ai-sdk/gateway\b`
**Import patterns:**
- `ai`
- `@ai-sdk/gateway`
**Matched examples:**
- `vercel env pull` (bash)
#### `env-vars` (priority 7)
**Path patterns:**
- `.env`
- `.env.*`
- `.env.local`
- `.env.production`
- `.env.development`
- `.env.test`
- `.env.production.local`
- `.env.development.local`
- `.env.test.local`
- `.env.example`
**Bash patterns:**
- `\bvercel\s+env\s+pull\b`
- `\bvercel\s+env\s+add\b`
- `\bvercel\s+env\s+rm\b`
- `\bvercel\s+env\s+ls\b`
**Matched examples:**
- `.env` (path)
- `.env.local` (path)
- `.env.production` (path)
- `vercel env pull` (bash)
- `vercel env add` (bash)
#### `vercel-api` (priority 7)
**Path patterns:**
- `.mcp.json`
- `.vercel/project.json`
**Bash patterns:**
- `\bnpm\s+(install|i|add)\s+[^\n]*@vercel/sdk\b`
- `\bpnpm\s+(install|i|add)\s+[^\n]*@vercel/sdk\b`
- `\bbun\s+(install|i|add)\s+[^\n]*@vercel/sdk\b`
- `\byarn\s+add\s+[^\n]*@vercel/sdk\b`
- `\bclaude\s+mcp\s+add\b[^\n]*\bvercel\b`
- `\bmcp\.vercel\.com\b`
**Matched examples:**
- `.mcp.json` (path)
- `.vercel/project.json` (path)
#### `vercel-storage` (priority 7)
**Path patterns:**
- `lib/blob/**`
- `lib/storage/**`
- `src/lib/blob/**`
- `src/lib/storage/**`
- `lib/blob.*`
- `lib/storage.*`
- `lib/edge-config.*`
- `src/lib/blob.*`
- `src/lib/storage.*`
- `src/lib/edge-config.*`
- `supabase/**`
- `lib/supabase.*`
- `src/lib/supabase.*`
- `prisma/schema.prisma`
- `prisma/**`
**Bash patterns:**
- `\bnpm\s+(install|i|add)\s+[^\n]*@vercel/blob\b`
- `\bpnpm\s+(install|i|add)\s+[^\n]*@vercel/blob\b`
- `\bbun\s+(install|i|add)\s+[^\n]*@vercel/blob\b`
- `\byarn\s+add\s+[^\n]*@vercel/blob\b`
- `\bnpm\s+(install|i|add)\s+[^\n]*@vercel/edge-config\b`
- `\bpnpm\s+(install|i|add)\s+[^\n]*@vercel/edge-config\b`
- `\bbun\s+(install|i|add)\s+[^\n]*@vercel/edge-config\b`
- `\byarn\s+add\s+[^\n]*@vercel/edge-config\b`
- `\bnpm\s+(install|i|add)\s+[^\n]*@neondatabase/serverless\b`
- `\bpnpm\s+(install|i|add)\s+[^\n]*@neondatabase/serverless\b`
- `\bbun\s+(install|i|add)\s+[^\n]*@neondatabase/serverless\b`
- `\byarn\s+add\s+[^\n]*@neondatabase/serverless\b`
- `\bnpm\s+(install|i|add)\s+[^\n]*@upstash/redis\b`
- `\bpnpm\s+(install|i|add)\s+[^\n]*@upstash/redis\b`
- `\bbun\s+(install|i|add)\s+[^\n]*@upstash/redis\b`
- `\byarn\s+add\s+[^\n]*@upstash/redis\b`
- `\bnpm\s+(install|i|add)\s+[^\n]*@vercel/kv\b`
- `\bpnpm\s+(install|i|add)\s+[^\n]*@vercel/kv\b`
- `\bbun\s+(install|i|add)\s+[^\n]*@vercel/kv\b`
- `\byarn\s+add\s+[^\n]*@vercel/kv\b`
- `\bnpm\s+(install|i|add)\s+[^\n]*@vercel/postgres\b`
- `\bpnpm\s+(install|i|add)\s+[^\n]*@vercel/postgres\b`
- `\bbun\s+(install|i|add)\s+[^\n]*@vercel/postgres\b`
- `\byarn\s+add\s+[^\n]*@vercel/postgres\b`
- `\bnpm\s+(install|i|add)\s+[^\n]*@supabase/supabase-js\b`
- `\bpnpm\s+(install|i|add)\s+[^\n]*@supabase/supabase-js\b`
- `\bbun\s+(install|i|add)\s+[^\n]*@supabase/supabase-js\b`
- `\byarn\s+add\s+[^\n]*@supabase/supabase-js\b`
- `\bnpm\s+(install|i|add)\s+[^\n]*@supabase/ssr\b`
- `\bpnpm\s+(install|i|add)\s+[^\n]*@supabase/ssr\b`
- `\bbun\s+(install|i|add)\s+[^\n]*@supabase/ssr\b`
- `\byarn\s+add\s+[^\n]*@supabase/ssr\b`
- `\bnpm\s+(install|i|add)\s+[^\n]*@prisma/client\b`
- `\bpnpm\s+(install|i|add)\s+[^\n]*@prisma/client\b`
- `\bbun\s+(install|i|add)\s+[^\n]*@prisma/client\b`
- `\byarn\s+add\s+[^\n]*@prisma/client\b`
- `\bnpm\s+(install|i|add)\s+[^\n]*\bmongodb\b`
- `\bpnpm\s+(install|i|add)\s+[^\n]*\bmongodb\b`
- `\bbun\s+(install|i|add)\s+[^\n]*\bmongodb\b`
- `\byarn\s+add\s+[^\n]*\bmongodb\b`
- `\bnpm\s+(install|i|add)\s+[^\n]*\bconvex\b`
- `\bpnpm\s+(install|i|add)\s+[^\n]*\bconvex\b`
- `\bbun\s+(install|i|add)\s+[^\n]*\bconvex\b`
- `\byarn\s+add\s+[^\n]*\bconvex\b`
- `\bnpm\s+(install|i|add)\s+[^\n]*@libsql/client\b`
- `\bpnpm\s+(install|i|add)\s+[^\n]*@libsql/client\b`
- `\bbun\s+(install|i|add)\s+[^\n]*@libsql/client\b`
- `\byarn\s+add\s+[^\n]*@libsql/client\b`
**Import patterns:**
- `@vercel/blob`
- `@vercel/edge-config`
- `@neondatabase/serverless`
- `@upstash/redis`
- `@vercel/kv`
- `@vercel/postgres`
- `@supabase/supabase-js`
- `@prisma/client`
**Matched examples:**
- `pnpm add @vercel/blob` (bash)
#### `verification` (priority 7)
**Bash patterns:**
- `\bnext\s+dev\b`
- `\bnpm\s+run\s+dev\b`
- `\bpnpm\s+dev\b`
- `\bbun\s+run\s+dev\b`
- `\byarn\s+dev\b`
- `\bvite\s*(dev)?\b`
- `\bvercel\s+dev\b`
- `\bastro\s+dev\b`
**Matched examples:**
- `vercel dev` (bash)
- `next dev` (bash)
- `next dev --turbo` (bash)
- `npm run dev` (bash)
- `pnpm dev` (bash)
- `bun run dev` (bash)
#### `ai-generation-persistence` (priority 6)
**Path patterns:**
- `app/api/generate/**`
- `app/api/generations/**`
- `src/app/api/generate/**`
- `src/app/api/generations/**`
- `app/chat/[id]/**`
- `app/generate/[id]/**`
- `src/app/chat/[id]/**`
- `src/app/generate/[id]/**`
- `lib/generations/**`
- `src/lib/generations/**`
**Import patterns:**
- `ai`
- `@ai-sdk/*`
- `@vercel/blob`
- `nanoid`
- `@paralleldrive/cuid2`
#### `auth` (priority 6)
**Path patterns:**
- `middleware.ts`
- `middleware.js`
- `src/middleware.ts`
- `src/middleware.js`
- `clerk.config.*`
- `app/sign-in/**`
- `app/sign-up/**`
- `src/app/sign-in/**`
- `src/app/sign-up/**`
- `app/(auth)/**`
- `src/app/(auth)/**`
- `auth.config.*`
- `auth.ts`
- `auth.js`
**Bash patterns:**
- `\bnpm\s+(install|i|add)\s+[^\n]*@clerk/nextjs\b`
- `\bpnpm\s+(install|i|add)\s+[^\n]*@clerk/nextjs\b`
- `\bbun\s+(install|i|add)\s+[^\n]*@clerk/nextjs\b`
- `\byarn\s+add\s+[^\n]*@clerk/nextjs\b`
- `\bnpm\s+(install|i|add)\s+[^\n]*@descope/nextjs-sdk\b`
- `\bpnpm\s+(install|i|add)\s+[^\n]*@descope/nextjs-sdk\b`
- `\bbun\s+(install|i|add)\s+[^\n]*@descope/nextjs-sdk\b`
- `\byarn\s+add\s+[^\n]*@descope/nextjs-sdk\b`
- `\bnpm\s+(install|i|add)\s+[^\n]*@auth0/nextjs-auth0\b`
- `\bpnpm\s+(install|i|add)\s+[^\n]*@auth0/nextjs-auth0\b`
- `\bbun\s+(install|i|add)\s+[^\n]*@auth0/nextjs-auth0\b`
- `\byarn\s+add\s+[^\n]*@auth0/nextjs-auth0\b`
**Matched examples:**
- `middleware.ts` (path)
- `middleware.js` (path)
- `src/middleware.ts` (path)
#### `cron-jobs` (priority 6)
**Path patterns:**
- `vercel.json`
- `apps/*/vercel.json`
**Matched examples:**
- `vercel.json` (path)
- `apps/web/vercel.json` (path)
#### `deployments-cicd` (priority 6)
**Path patterns:**
- `.github/workflows/*.yml`
- `.github/workflows/*.yaml`
- `.gitlab-ci.yml`
- `bitbucket-pipelines.yml`
- `vercel.json`
- `apps/*/vercel.json`
**Bash patterns:**
- `\bvercel\s+deploy\b`
- `\bvercel\s+--prod\b`
- `\bvercel\s+promote\b`
- `\bvercel\s+rollback\b`
- `\bvercel\s+inspect\b`
- `\bvercel\s+build\b`
- `\bvercel\s+deploy\s+--prebuilt\b`
**Matched examples:**
- `vercel.json` (path)
- `apps/web/vercel.json` (path)
- `.github/workflows/deploy.yml` (path)
- `vercel deploy` (bash)
- `vercel build` (bash)
#### `next-forge` (priority 6)
**Path patterns:**
- `pnpm-workspace.yaml`
- `apps/app/**`
- `apps/web/**`
- `apps/api/**`
- `apps/email/**`
- `apps/docs/**`
- `apps/studio/**`
- `apps/storybook/**`
- `packages/auth/**`
- `packages/database/**`
- `packages/design-system/**`
- `packages/payments/**`
- `packages/email/**`
- `packages/analytics/**`
- `packages/observability/**`
- `packages/security/**`
- `packages/ai/**`
- `packages/cms/**`
- `packages/collaboration/**`
- `packages/feature-flags/**`
- `packages/internationalization/**`
- `packages/notifications/**`
- `packages/rate-limit/**`
- `packages/seo/**`
- `packages/storage/**`
- `packages/webhooks/**`
- `packages/next-config/**`
- `packages/typescript-config/**`
- `**/keys.ts`
- `**/env.ts`
- `**/proxy.ts`
- `biome.jsonc`
**Bash patterns:**
- `\bnext-forge\b`
- `\bnpx\s+next-forge\b`
- `\bpnpm\s+migrate\b`
- `\bpnpm\s+bump-deps\b`
- `\bpnpm\s+bump-ui\b`
- `\bprisma\s+(generate|db\s+push|format|studio)\b`
- `\bstripe\s+listen\b`
- `\bnpx\s+shadcn@latest\s+add\b.*-c\s+packages/design-system\b`
**Import patterns:**
- `@repo/auth`
- `@repo/database`
- `@repo/design-system`
- `@repo/payments`
- `@repo/email`
- `@repo/analytics`
- `@repo/observability`
- `@repo/security`
- `@repo/ai`
- `@repo/cms`
- `@repo/collaboration`
- `@repo/feature-flags`
- `@repo/internationalization`
- `@repo/notifications`
- `@repo/rate-limit`
- `@repo/seo`
- `@repo/storage`
- `@repo/webhooks`
- `@repo/next-config`
- `@t3-oss/env-nextjs`
- `@rescale/nemo`
**Matched examples:**
- `apps/web/vercel.json` (path)
#### `observability` (priority 6)
**Path patterns:**
- `instrumentation.ts`
- `instrumentation.js`
- `src/instrumentation.ts`
- `src/instrumentation.js`
- `app/layout.*`
- `src/app/layout.*`
- `pages/_app.*`
- `src/pages/_app.*`
- `apps/*/instrumentation.ts`
- `apps/*/instrumentation.js`
- `apps/*/app/layout.*`
- `apps/*/src/app/layout.*`
- `apps/*/pages/_app.*`
- `apps/*/src/pages/_app.*`
- `sentry.client.config.*`
- `sentry.server.config.*`
- `sentry.edge.config.*`
**Bash patterns:**
- `\bvercel\s+logs?\b`
- `\bvercel\s+logs?\s+.*--follow\b`
- `\bvercel\s+logs?\s+.*--level\b`
- `\bvercel\s+logs?\s+.*--since\b`
- `\bcurl\s+.*deployments.*events\b`
- `\bnpm\s+(install|i|add)\s+[^\n]*@vercel/analytics\b`
- `\bpnpm\s+(install|i|add)\s+[^\n]*@vercel/analytics\b`
- `\bbun\s+(install|i|add)\s+[^\n]*@vercel/analytics\b`
- `\byarn\s+add\s+[^\n]*@vercel/analytics\b`
- `\bnpm\s+(install|i|add)\s+[^\n]*@vercel/speed-insights\b`
- `\bpnpm\s+(install|i|add)\s+[^\n]*@vercel/speed-insights\b`
- `\bbun\s+(install|i|add)\s+[^\n]*@vercel/speed-insights\b`
- `\byarn\s+add\s+[^\n]*@vercel/speed-insights\b`
- `\bnpm\s+(install|i|add)\s+[^\n]*@sentry/nextjs\b`
- `\bpnpm\s+(install|i|add)\s+[^\n]*@sentry/nextjs\b`
- `\bbun\s+(install|i|add)\s+[^\n]*@sentry/nextjs\b`
- `\byarn\s+add\s+[^\n]*@sentry/nextjs\b`
- `\bnpm\s+(install|i|add)\s+[^\n]*@sentry/node\b`
- `\bpnpm\s+(install|i|add)\s+[^\n]*@sentry/node\b`
- `\bbun\s+(install|i|add)\s+[^\n]*@sentry/node\b`
- `\byarn\s+add\s+[^\n]*@sentry/node\b`
- `\bnpm\s+(install|i|add)\s+[^\n]*@datadog/browser-rum\b`
- `\bpnpm\s+(install|i|add)\s+[^\n]*@datadog/browser-rum\b`
- `\bbun\s+(install|i|add)\s+[^\n]*@datadog/browser-rum\b`
- `\byarn\s+add\s+[^\n]*@datadog/browser-rum\b`
- `\bnpm\s+(install|i|add)\s+[^\n]*\bcheckly\b`
- `\bpnpm\s+(install|i|add)\s+[^\n]*\bcheckly\b`
- `\bbun\s+(install|i|add)\s+[^\n]*\bcheckly\b`
- `\byarn\s+add\s+[^\n]*\bcheckly\b`
- `\bnpm\s+(install|i|add)\s+[^\n]*\bnewrelic\b`
- `\bpnpm\s+(install|i|add)\s+[^\n]*\bnewrelic\b`
- `\bbun\s+(install|i|add)\s+[^\n]*\bnewrelic\b`
- `\byarn\s+add\s+[^\n]*\bnewrelic\b`
**Matched examples:**
- `app/layout.tsx` (path)
- `src/app/layout.tsx` (path)
- `instrumentation.ts` (path)
- `vercel logs` (bash)
#### `routing-middleware` (priority 6)
**Path patterns:**
- `middleware.ts`
- `middleware.js`
- `middleware.mts`
- `middleware.mjs`
- `proxy.ts`
- `proxy.js`
- `proxy.mts`
- `proxy.mjs`
- `src/middleware.ts`
- `src/middleware.js`
- `src/middleware.mts`
- `src/middleware.mjs`
- `src/proxy.ts`
- `src/proxy.js`
- `src/proxy.mts`
- `src/proxy.mjs`
- `vercel.json`
- `apps/*/vercel.json`
- `vercel.ts`
- `vercel.mts`
**Bash patterns:**
- `\bnpx\s+@vercel/config\b`
**Matched examples:**
- `vercel.json` (path)
- `apps/web/vercel.json` (path)
- `middleware.ts` (path)
- `middleware.js` (path)
- `src/middleware.ts` (path)
#### `runtime-cache` (priority 6)
**Path patterns:**
- `lib/cache/**`
- `src/lib/cache/**`
- `lib/cache.*`
- `src/lib/cache.*`
**Bash patterns:**
- `\bnpm\s+(install|i|add)\s+[^\n]*@vercel/functions\b`
- `\bpnpm\s+(install|i|add)\s+[^\n]*@vercel/functions\b`
- `\bbun\s+(install|i|add)\s+[^\n]*@vercel/functions\b`
- `\byarn\s+add\s+[^\n]*@vercel/functions\b`
**Matched examples:**
- `lib/cache/index.ts` (path)
#### `shadcn` (priority 6)
**Path patterns:**
- `components.json`
- `components/ui/**`
- `src/components/ui/**`
- `apps/*/components/ui/**`
- `apps/*/src/components/ui/**`
- `packages/*/components/ui/**`
- `packages/*/src/components/ui/**`
**Bash patterns:**
- `\bnpx\s+shadcn\b`
- `\bnpx\s+shadcn@latest\s+(init|add|build|search|list|migrate|info|docs|view)\b`
- `\bnpx\s+create-next-app\b`
- `\bbunx\s+create-next-app\b`
- `\bpnpm\s+create\s+next-app\b`
- `\bnpm\s+create\s+next-app\b`
**Matched examples:**
- `components.json` (path)
- `components/ui/button.tsx` (path)
- `npx shadcn add button` (bash)
- `npx create-next-app` (bash)
#### `sign-in-with-vercel` (priority 6)
**Path patterns:**
- `app/api/auth/**`
- `app/login/**`
- `src/app/api/auth/**`
- `src/app/login/**`
- `pages/api/auth/**`
**Matched examples:**
- `pages/api/auth/[...nextauth].ts` (path)
#### `vercel-flags` (priority 6)
**Path patterns:**
- `flags.ts`
- `flags.js`
- `src/flags.ts`
- `src/flags.js`
- `lib/flags/**`
- `src/lib/flags/**`
- `lib/flags.*`
- `src/lib/flags.*`
- `.well-known/vercel/flags/**`
- `app/.well-known/vercel/flags/**`
- `src/app/.well-known/vercel/flags/**`
**Bash patterns:**
- `\bnpm\s+(install|i|add)\s+[^\n]*\bflags\b`
- `\bpnpm\s+(install|i|add)\s+[^\n]*\bflags\b`
- `\bbun\s+(install|i|add)\s+[^\n]*\bflags\b`
- `\byarn\s+add\s+[^\n]*\bflags\b`
- `\bnpm\s+(install|i|add)\s+[^\n]*@vercel/flags\b`
- `\bpnpm\s+(install|i|add)\s+[^\n]*@vercel/flags\b`
- `\bbun\s+(install|i|add)\s+[^\n]*@vercel/flags\b`
- `\byarn\s+add\s+[^\n]*@vercel/flags\b`
- `\bnpm\s+(install|i|add)\s+[^\n]*@flags-sdk/`
- `\bpnpm\s+(install|i|add)\s+[^\n]*@flags-sdk/`
- `\bbun\s+(install|i|add)\s+[^\n]*@flags-sdk/`
- `\byarn\s+add\s+[^\n]*@flags-sdk/`
**Import patterns:**
- `flags`
- `flags/next`
- `flags/sveltekit`
- `@vercel/flags`
- `@vercel/flags/next`
- `@vercel/flags/sveltekit`
- `@flags-sdk/*`
**Matched examples:**
- `flags.ts` (path)
- `lib/flags/index.ts` (path)
- `npm install @vercel/flags` (bash)
#### `ai-elements` (priority 5)
**Path patterns:**
- `components/ai-elements/**`
- `src/components/ai-elements/**`
- `components/**/chat*`
- `components/**/*chat*`
- `components/**/message*`
- `components/**/*message*`
- `src/components/**/chat*`
- `src/components/**/*chat*`
- `src/components/**/message*`
- `src/components/**/*message*`
**Bash patterns:**
- `\bnpx\s+ai-elements\b`
- `\bnpm\s+(install|i|add)\s+[^\n]*\bai-elements\b`
- `\bpnpm\s+(install|i|add)\s+[^\n]*\bai-elements\b`
- `\bbun\s+(install|i|add)\s+[^\n]*\bai-elements\b`
- `\byarn\s+add\s+[^\n]*\bai-elements\b`
- `\bnpx\s+shadcn@latest\s+add\s+[^\n]*elements\.ai-sdk\.dev\b`
- `\bnpm\s+(install|i|add)\s+[^\n]*\b@ai-sdk/react\b`
- `\bpnpm\s+(install|i|add)\s+[^\n]*\b@ai-sdk/react\b`
- `\bbun\s+(install|i|add)\s+[^\n]*\b@ai-sdk/react\b`
- `\byarn\s+add\s+[^\n]*\b@ai-sdk/react\b`
**Import patterns:**
- `ai`
- `@ai-sdk/*`
- `@ai-sdk/react`
- `@/components/ai-elements/*`
#### `geistdocs` (priority 5)
**Path patterns:**
- `geistdocs.tsx`
- `content/docs/**/*.mdx`
- `content/docs/**/*.md`
- `apps/*/geistdocs.tsx`
- `apps/*/content/docs/**/*.mdx`
- `apps/*/content/docs/**/*.md`
**Bash patterns:**
- `\bnpx\s+@vercel/geistdocs\s+init\b`
- `\bnpm\s+(install|i|add)\s+[^\n]*\bfumadocs\b`
- `\bpnpm\s+(install|i|add)\s+[^\n]*\bfumadocs\b`
- `\bbun\s+(install|i|add)\s+[^\n]*\bfumadocs\b`
- `\byarn\s+add\s+[^\n]*\bfumadocs\b`
- `\bpnpm\s+translate\b`
**Import patterns:**
- `@vercel/geistdocs`
- `fumadocs-core`
- `fumadocs-ui`
- `fumadocs-mdx`
#### `nextjs` (priority 5)
**Path patterns:**
- `next.config.*`
- `next-env.d.ts`
- `app/**`
- `pages/**`
- `src/app/**`
- `src/pages/**`
- `tailwind.config.*`
- `postcss.config.*`
- `tsconfig.json`
- `tsconfig.*.json`
- `apps/*/app/**`
- `apps/*/pages/**`
- `apps/*/src/app/**`
- `apps/*/src/pages/**`
- `apps/*/next.config.*`
**Bash patterns:**
- `\bnext\s+(dev|build|start|lint)\b`
- `\bnext\s+experimental-analyze\b`
- `\bnpx\s+create-next-app\b`
- `\bbunx\s+create-next-app\b`
- `\bnpm\s+run\s+(dev|build|start)\b`
- `\bpnpm\s+(dev|build)\b`
- `\bbun\s+run\s+(dev|build)\b`
**Matched examples:**
- `next.config.ts` (path)
- `next.config.js` (path)
- `next.config.mjs` (path)
- `app/api/chat/route.ts` (path)
- `app/api/completion/route.ts` (path)
- `app/layout.tsx` (path)
- `src/app/layout.tsx` (path)
- `pages/api/auth/[...nextauth].ts` (path)
- `pages/api/hello.ts` (path)
- `app/api/bot/route.ts` (path)
- `next dev` (bash)
- `next build` (bash)
- `next dev --turbo` (bash)
- `npm run dev` (bash)
- `pnpm dev` (bash)
- `bun run dev` (bash)
- `npx create-next-app` (bash)
#### `payments` (priority 5)
**Path patterns:**
- `app/api/webhook/stripe/**`
- `app/api/webhooks/stripe/**`
- `src/app/api/webhook/stripe/**`
- `src/app/api/webhooks/stripe/**`
- `pages/api/webhook/stripe.*`
- `pages/api/webhooks/stripe.*`
- `app/api/checkout/**`
- `src/app/api/checkout/**`
- `app/api/stripe/**`
- `src/app/api/stripe/**`
- `lib/stripe.*`
- `src/lib/stripe.*`
- `utils/stripe.*`
- `src/utils/stripe.*`
**Bash patterns:**
- `\bnpm\s+(install|i|add)\s+[^\n]*\bstripe\b`
- `\bpnpm\s+(install|i|add)\s+[^\n]*\bstripe\b`
- `\bbun\s+(install|i|add)\s+[^\n]*\bstripe\b`
- `\byarn\s+add\s+[^\n]*\bstripe\b`
- `\bnpm\s+(install|i|add)\s+[^\n]*@stripe/stripe-js\b`
- `\bpnpm\s+(install|i|add)\s+[^\n]*@stripe/stripe-js\b`
- `\bbun\s+(install|i|add)\s+[^\n]*@stripe/stripe-js\b`
- `\byarn\s+add\s+[^\n]*@stripe/stripe-js\b`
- `\bnpm\s+(install|i|add)\s+[^\n]*@stripe/react-stripe-js\b`
- `\bpnpm\s+(install|i|add)\s+[^\n]*@stripe/react-stripe-js\b`
- `\bbun\s+(install|i|add)\s+[^\n]*@stripe/react-stripe-js\b`
- `\byarn\s+add\s+[^\n]*@stripe/react-stripe-js\b`
#### `turborepo` (priority 5)
**Path patterns:**
- `turbo.json`
- `turbo/**`
**Bash patterns:**
- `\bturbo\s+(run|build|test|lint|dev)\b`
- `\bnpx\s+turbo\b`
- `\bbunx\s+turbo\b`
**Matched examples:**
- `turbo.json` (path)
- `turbo run build` (bash)
#### `v0-dev` (priority 5)
**Bash patterns:**
- `\bnpx\s+v0\b`
- `\bbunx\s+v0\b`
- `\bv0\s+(generate|dev|chat)\b`
**Import patterns:**
- `@v0/sdk`
- `v0`
**Matched examples:**
- `npx v0 generate` (bash)
#### `vercel-firewall` (priority 5)
**Path patterns:**
- `.vercel/firewall/**`
**Bash patterns:**
- `\bvercel\s+firewall\b`
**Matched examples:**
- `vercel firewall` (bash)
#### `vercel-queues` (priority 5)
**Path patterns:**
- `lib/queues/**`
- `src/lib/queues/**`
- `lib/queues.*`
- `lib/queue.*`
- `src/lib/queues.*`
- `src/lib/queue.*`
- `workflows/*.ts`
- `workflows/*.mts`
- `src/workflows/*.ts`
- `src/workflows/*.mts`
- `app/api/workflow/**`
- `src/app/api/workflow/**`
- `app/api/workflows/**`
- `src/app/api/workflows/**`
- `vercel.ts`
- `vercel.mts`
**Bash patterns:**
- `\bnpm\s+(install|i|add)\s+[^\n]*@vercel/queue\b`
- `\bpnpm\s+(install|i|add)\s+[^\n]*@vercel/queue\b`
- `\bbun\s+(install|i|add)\s+[^\n]*@vercel/queue\b`
- `\byarn\s+add\s+[^\n]*@vercel/queue\b`
**Import patterns:**
- `workflow`
- `@vercel/workflow`
#### `cms` (priority 4)
**Path patterns:**
- `sanity.config.*`
- `sanity.cli.*`
- `sanity/**`
- `studio/**`
- `schemas/*.ts`
- `schemas/*.tsx`
- `src/sanity/**`
- `lib/sanity.*`
- `src/lib/sanity.*`
- `lib/contentful.*`
- `src/lib/contentful.*`
- `app/api/draft/**`
- `src/app/api/draft/**`
- `app/api/revalidate/**`
- `src/app/api/revalidate/**`
- `app/studio/**`
- `src/app/studio/**`
**Bash patterns:**
- `\bnpm\s+(install|i|add)\s+[^\n]*@sanity/client\b`
- `\bpnpm\s+(install|i|add)\s+[^\n]*@sanity/client\b`
- `\bbun\s+(install|i|add)\s+[^\n]*@sanity/client\b`
- `\byarn\s+add\s+[^\n]*@sanity/client\b`
- `\bnpm\s+(install|i|add)\s+[^\n]*\bnext-sanity\b`
- `\bpnpm\s+(install|i|add)\s+[^\n]*\bnext-sanity\b`
- `\bbun\s+(install|i|add)\s+[^\n]*\bnext-sanity\b`
- `\byarn\s+add\s+[^\n]*\bnext-sanity\b`
- `\bnpm\s+(install|i|add)\s+[^\n]*\bcontentful\b`
- `\bpnpm\s+(install|i|add)\s+[^\n]*\bcontentful\b`
- `\bbun\s+(install|i|add)\s+[^\n]*\bcontentful\b`
- `\byarn\s+add\s+[^\n]*\bcontentful\b`
- `\bnpm\s+(install|i|add)\s+[^\n]*@builder\.io/sdk\b`
- `\bpnpm\s+(install|i|add)\s+[^\n]*@builder\.io/sdk\b`
- `\bbun\s+(install|i|add)\s+[^\n]*@builder\.io/sdk\b`
- `\byarn\s+add\s+[^\n]*@builder\.io/sdk\b`
- `\bnpm\s+(install|i|add)\s+[^\n]*@storyblok/\b`
- `\bpnpm\s+(install|i|add)\s+[^\n]*@storyblok/\b`
- `\bbun\s+(install|i|add)\s+[^\n]*@storyblok/\b`
- `\byarn\s+add\s+[^\n]*@storyblok/\b`
- `\bnpm\s+(install|i|add)\s+[^\n]*datocms-client\b`
- `\bpnpm\s+(install|i|add)\s+[^\n]*datocms-client\b`
- `\bbun\s+(install|i|add)\s+[^\n]*datocms-client\b`
- `\byarn\s+add\s+[^\n]*datocms-client\b`
- `\bnpx\s+create-sanity\b`
- `\bnpx\s+sanity\s+init\b`
#### `email` (priority 4)
**Path patterns:**
- `emails/**`
- `src/emails/**`
- `components/emails/**`
- `src/components/emails/**`
- `app/api/send/**`
- `src/app/api/send/**`
- `app/api/email/**`
- `src/app/api/email/**`
- `app/api/emails/**`
- `src/app/api/emails/**`
- `lib/resend.*`
- `src/lib/resend.*`
- `lib/email.*`
- `src/lib/email.*`
- `lib/email*`
- `src/lib/email*`
- `**/email-template*`
**Bash patterns:**
- `\bnpm\s+(install|i|add)\s+[^\n]*\bresend\b`
- `\bpnpm\s+(install|i|add)\s+[^\n]*\bresend\b`
- `\bbun\s+(install|i|add)\s+[^\n]*\bresend\b`
- `\byarn\s+add\s+[^\n]*\bresend\b`
- `\bnpm\s+(install|i|add)\s+[^\n]*@react-email/`
- `\bpnpm\s+(install|i|add)\s+[^\n]*@react-email/`
- `\bbun\s+(install|i|add)\s+[^\n]*@react-email/`
- `\byarn\s+add\s+[^\n]*@react-email/`
- `\bnpm\s+(install|i|add)\s+[^\n]*react-email\b`
- `\bpnpm\s+(install|i|add)\s+[^\n]*react-email\b`
- `\bbun\s+(install|i|add)\s+[^\n]*react-email\b`
- `\byarn\s+add\s+[^\n]*react-email\b`
#### `geist` (priority 4)
**Path patterns:**
- `app/layout.*`
- `src/app/layout.*`
- `app/globals.css`
- `src/app/globals.css`
- `styles/**`
- `tailwind.config.*`
- `apps/*/app/layout.*`
- `apps/*/src/app/layout.*`
- `apps/*/app/globals.css`
- `apps/*/src/app/globals.css`
**Bash patterns:**
- `\bnpm\s+(install|i|add)\s+[^\n]*\bgeist\b`
- `\bpnpm\s+(install|i|add)\s+[^\n]*\bgeist\b`
- `\bbun\s+(install|i|add)\s+[^\n]*\bgeist\b`
- `\byarn\s+add\s+[^\n]*\bgeist\b`
**Import patterns:**
- `geist`
- `geist/font`
- `geist/font/*`
**Matched examples:**
- `app/layout.tsx` (path)
- `src/app/layout.tsx` (path)
#### `json-render` (priority 4)
**Path patterns:**
- `components/chat/**`
- `components/chat-*.tsx`
- `components/chat-*.ts`
- `src/components/chat/**`
- `src/components/chat-*.tsx`
- `src/components/chat-*.ts`
- `components/message*.tsx`
- `src/components/message*.tsx`
#### `micro` (priority 4)
**Bash patterns:**
- `\bnpm\s+(install|i|add)\s+[^\n]*\bmicro\b`
- `\bpnpm\s+(install|i|add)\s+[^\n]*\bmicro\b`
- `\bbun\s+(install|i|add)\s+[^\n]*\bmicro\b`
- `\byarn\s+add\s+[^\n]*\bmicro\b`
- `\bnpx\s+micro\b`
- `\bnpx\s+micro-dev\b`
**Import patterns:**
- `micro`
- `micro-dev`
#### `ncc` (priority 4)
**Bash patterns:**
- `\bnpm\s+(install|i|add)\s+[^\n]*@vercel/ncc\b`
- `\bpnpm\s+(install|i|add)\s+[^\n]*@vercel/ncc\b`
- `\bbun\s+(install|i|add)\s+[^\n]*@vercel/ncc\b`
- `\byarn\s+add\s+[^\n]*@vercel/ncc\b`
- `\bncc\s+build\b`
**Import patterns:**
- `@vercel/ncc`
#### `react-best-practices` (priority 4)
**Path patterns:**
- `src/components/**/*.tsx`
- `src/components/**/*.jsx`
- `app/components/**/*.tsx`
- `app/components/**/*.jsx`
- `components/**/*.tsx`
- `components/**/*.jsx`
- `src/ui/**/*.tsx`
- `lib/components/**/*.tsx`
**Import patterns:**
- `react`
- `react-dom`
**Matched examples:**
- `components/ui/button.tsx` (path)
#### `satori` (priority 4)
**Path patterns:**
- `app/**/og/**`
- `app/**/og.*`
- `app/**/opengraph-image.*`
- `app/**/twitter-image.*`
- `src/app/**/og/**`
- `src/app/**/og.*`
- `src/app/**/opengraph-image.*`
- `src/app/**/twitter-image.*`
- `pages/api/og.*`
- `pages/api/og/**`
- `src/pages/api/og.*`
- `src/pages/api/og/**`
- `apps/*/app/**/og/**`
- `apps/*/app/**/og.*`
- `apps/*/app/**/opengraph-image.*`
- `apps/*/app/**/twitter-image.*`
**Bash patterns:**
- `\bnpm\s+(install|i|add)\s+[^\n]*\bsatori\b`
- `\bpnpm\s+(install|i|add)\s+[^\n]*\bsatori\b`
- `\bbun\s+(install|i|add)\s+[^\n]*\bsatori\b`
- `\byarn\s+add\s+[^\n]*\bsatori\b`
- `\bnpm\s+(install|i|add)\s+[^\n]*@vercel/og\b`
- `\bpnpm\s+(install|i|add)\s+[^\n]*@vercel/og\b`
- `\bbun\s+(install|i|add)\s+[^\n]*@vercel/og\b`
- `\byarn\s+add\s+[^\n]*@vercel/og\b`
**Import patterns:**
- `satori`
- `satori/wasm`
- `@vercel/og`
- `next/og`
#### `swr` (priority 4)
**Path patterns:**
- `lib/fetcher.*`
- `src/lib/fetcher.*`
- `utils/fetcher.*`
- `src/utils/fetcher.*`
- `hooks/use*SWR*`
- `src/hooks/use*SWR*`
- `hooks/useFetch*`
- `src/hooks/useFetch*`
**Bash patterns:**
- `\bnpm\s+(install|i|add)\s+[^\n]*\bswr\b`
- `\bpnpm\s+(install|i|add)\s+[^\n]*\bswr\b`
- `\bbun\s+(install|i|add)\s+[^\n]*\bswr\b`
- `\byarn\s+add\s+[^\n]*\bswr\b`
**Import patterns:**
- `swr`
- `swr/*`
#### `turbopack` (priority 4)
**Path patterns:**
- `next.config.*`
**Bash patterns:**
- `\bnext\s+dev\s+--turbo\b`
- `\bnext\s+dev\s+--turbopack\b`
**Matched examples:**
- `next.config.ts` (path)
- `next.config.js` (path)
- `next.config.mjs` (path)
- `next dev --turbo` (bash)
#### `vercel-agent` (priority 4)
**Path patterns:**
- `.github/workflows/vercel*.yml`
- `.github/workflows/vercel*.yaml`
- `.github/workflows/deploy*.yml`
- `.github/workflows/deploy*.yaml`
- `.github/workflows/preview*.yml`
- `.github/workflows/preview*.yaml`
**Bash patterns:**
- `\bvercel\s+agent\b`
**Matched examples:**
- `.github/workflows/deploy.yml` (path)
#### `vercel-cli` (priority 4)
**Path patterns:**
- `vercel.json`
- `vercel.ts`
- `.vercel/**`
- `.vercelignore`
- `now.json`
**Bash patterns:**
- `^\s*vercel(?:\s|$)`
- `^\s*vc(?:\s|$)`
- `\bnpx\s+vercel\b`
- `\bpnpm\s+dlx\s+vercel\b`
- `\bbunx\s+vercel\b`
- `\byarn\s+dlx\s+vercel\b`
- `\bnpx\s+@vercel/config\b`
**Matched examples:**
- `vercel.json` (path)
- `.vercel/project.json` (path)
- `vercel deploy` (bash)
- `vercel dev` (bash)
- `vercel env pull` (bash)
- `vercel env add` (bash)
- `vercel logs` (bash)
- `vercel build` (bash)
- `vercel integration add` (bash)
- `vercel firewall` (bash)
#### `vercel-sandbox` (priority 4)
**Bash patterns:**
- `\bnpm\s+(install|i|add)\s+[^\n]*@vercel/sandbox\b`
- `\bpnpm\s+(install|i|add)\s+[^\n]*@vercel/sandbox\b`
- `\bbun\s+(install|i|add)\s+[^\n]*@vercel/sandbox\b`
- `\byarn\s+add\s+[^\n]*@vercel/sandbox\b`
**Import patterns:**
- `@vercel/sandbox`
#### `agent-browser` (priority 3)
**Path patterns:**
- `agent-browser.json`
- `playwright.config.*`
- `e2e/**`
- `tests/e2e/**`
- `test/e2e/**`
- `cypress/**`
- `cypress.config.*`
**Bash patterns:**
- `\bagent-browser\b`
- `\bnext\s+dev\b`
- `\bnpm\s+run\s+dev\b`
- `\bpnpm\s+dev\b`
- `\bbun\s+run\s+dev\b`
- `\byarn\s+dev\b`
- `\bvite\b`
- `\bnuxt\s+dev\b`
- `\bvercel\s+dev\b`
- `\blocalhost:\d+`
- `\b127\.0\.0\.1:\d+`
- `\bcurl\s+.*localhost`
- `\bopen\s+https?://`
- `\bplaywright\b`
- `\bcypress\b`
**Matched examples:**
- `playwright.config.ts` (path)
- `vercel dev` (bash)
- `next dev` (bash)
- `next dev --turbo` (bash)
- `npm run dev` (bash)
- `pnpm dev` (bash)
- `bun run dev` (bash)
#### `marketplace` (priority 3)
**Path patterns:**
- `integration.json`
**Bash patterns:**
- `\bvercel\s+integration\b`
- `\bvercel\s+integration\s+add\b`
- `\bvercel\s+integration\s+discover\b`
**Matched examples:**
- `integration.json` (path)
- `vercel integration add` (bash)
#### `agent-browser-verify` (priority 2)
**Bash patterns:**
- `\bnext\s+dev\b`
- `\bnpm\s+run\s+dev\b`
- `\bpnpm\s+dev\b`
- `\bbun\s+run\s+dev\b`
- `\byarn\s+dev\b`
- `\bvite\s*(dev)?\b`
- `\bnuxt\s+dev\b`
- `\bvercel\s+dev\b`
**Matched examples:**
- `vercel dev` (bash)
- `next dev` (bash)
- `next dev --turbo` (bash)
- `npm run dev` (bash)
- `pnpm dev` (bash)
- `bun run dev` (bash)
## Path Overlap Matrix
Shows which skills compete on shared file targets.
| Target File | Competing Skills (priority) |
|-------------|---------------------------|
| `vercel.json` | `vercel-functions` (8), `cron-jobs` (6), `deployments-cicd` (6), `routing-middleware` (6), `vercel-cli` (4) |
| `apps/web/vercel.json` | `vercel-functions` (8), `cron-jobs` (6), `deployments-cicd` (6), `next-forge` (6), `routing-middleware` (6) |
| `middleware.ts` | `investigation-mode` (8), `auth` (6), `routing-middleware` (6) |
| `middleware.js` | `investigation-mode` (8), `auth` (6), `routing-middleware` (6) |
| `src/middleware.ts` | `investigation-mode` (8), `auth` (6), `routing-middleware` (6) |
| `next.config.ts` | `nextjs` (5), `turbopack` (4) |
| `next.config.js` | `nextjs` (5), `turbopack` (4) |
| `next.config.mjs` | `nextjs` (5), `turbopack` (4) |
| `app/api/chat/route.ts` | `ai-sdk` (8), `chat-sdk` (8), `vercel-functions` (8), `nextjs` (5) |
| `app/api/completion/route.ts` | `ai-sdk` (8), `vercel-functions` (8), `nextjs` (5) |
| `app/layout.tsx` | `observability` (6), `nextjs` (5), `geist` (4) |
| `src/app/layout.tsx` | `observability` (6), `nextjs` (5), `geist` (4) |
| `pages/api/auth/[...nextauth].ts` | `vercel-functions` (8), `sign-in-with-vercel` (6), `nextjs` (5) |
| `instrumentation.ts` | `investigation-mode` (8), `observability` (6) |
| `components/ui/button.tsx` | `shadcn` (6), `react-best-practices` (4) |
| `.vercel/project.json` | `vercel-api` (7), `vercel-cli` (4) |
| `.github/workflows/deploy.yml` | `deployments-cicd` (6), `vercel-agent` (4) |
| `pages/api/hello.ts` | `vercel-functions` (8), `nextjs` (5) |
| `app/api/bot/route.ts` | `chat-sdk` (8), `vercel-functions` (8), `nextjs` (5) |
## Bash Overlap Matrix
Shows which skills compete on shared bash commands.
| Bash Command | Competing Skills (priority) |
|--------------|---------------------------|
| `vercel deploy` | `deployments-cicd` (6), `vercel-cli` (4) |
| `vercel dev` | `vercel-functions` (8), `verification` (7), `vercel-cli` (4), `agent-browser` (3), `agent-browser-verify` (2) |
| `vercel env pull` | `ai-gateway` (7), `env-vars` (7), `vercel-cli` (4) |
| `vercel env add` | `env-vars` (7), `vercel-cli` (4) |
| `vercel logs` | `investigation-mode` (8), `vercel-functions` (8), `observability` (6), `vercel-cli` (4) |
| `vercel build` | `deployments-cicd` (6), `vercel-cli` (4) |
| `next dev` | `verification` (7), `nextjs` (5), `agent-browser` (3), `agent-browser-verify` (2) |
| `next dev --turbo` | `verification` (7), `nextjs` (5), `turbopack` (4), `agent-browser` (3), `agent-browser-verify` (2) |
| `npm run dev` | `verification` (7), `nextjs` (5), `agent-browser` (3), `agent-browser-verify` (2) |
| `pnpm dev` | `verification` (7), `nextjs` (5), `agent-browser` (3), `agent-browser-verify` (2) |
| `bun run dev` | `verification` (7), `nextjs` (5), `agent-browser` (3), `agent-browser-verify` (2) |
| `npx create-next-app` | `shadcn` (6), `nextjs` (5) |
| `vercel integration add` | `vercel-cli` (4), `marketplace` (3) |
| `vercel firewall` | `vercel-firewall` (5), `vercel-cli` (4) |
## Skills by Priority
**Priority 9:** `workflow`
**Priority 8:** `ai-sdk`, `bootstrap`, `chat-sdk`, `investigation-mode`, `vercel-functions`
**Priority 7:** `ai-gateway`, `env-vars`, `vercel-api`, `vercel-storage`, `verification`
**Priority 6:** `ai-generation-persistence`, `auth`, `cron-jobs`, `deployments-cicd`, `next-forge`, `observability`, `routing-middleware`, `runtime-cache`, `shadcn`, `sign-in-with-vercel`, `vercel-flags`
**Priority 5:** `ai-elements`, `geistdocs`, `nextjs`, `payments`, `turborepo`, `v0-dev`, `vercel-firewall`, `vercel-queues`
**Priority 4:** `cms`, `email`, `geist`, `json-render`, `micro`, `ncc`, `react-best-practices`, `satori`, `swr`, `turbopack`, `vercel-agent`, `vercel-cli`, `vercel-sandbox`
**Priority 3:** `agent-browser`, `marketplace`
**Priority 2:** `agent-browser-verify`