[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6K1V8KE8AXP1WPP45ESTGQS":3,"skill-same:01M6K1V8KE8AXP1WPP45ESTGQS":103},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":18,"publishedAt":39,"linkOnly":40,"markdownContent":41,"markdownBody":42,"frontMatter":43,"refName":80,"commitSha":81,"skillDirectory":82,"forksCount":83,"repositoryHtmlUrl":84,"repositoryHomepageUrl":6,"ownerHtmlUrl":85,"ownerBlogUrl":86,"ownerDescription":87,"updatedAt":88,"install":89,"resources":102},"01M6K1V8KE8AXP1WPP45ESTGQS","sign-in-with-vercel",null,"Sign in with Vercel guidance — OAuth 2.0\u002FOIDC identity provider for user authentication via Vercel accounts. Use when implementing user login with Vercel as the identity provider.","NagyVikt\u002Fcodex-plugins","NagyVikt","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F137165288?v=4","01M6K0SJ3R2DAZRJKJJS10VN87","Viktor Nagy","01M6K0SJ9HXN0GBD91QDQ9WNVV",2,"MIT","https:\u002F\u002Fgithub.com\u002FNagyVikt\u002Fcodex-plugins\u002Fblob\u002Fmain\u002Fplugins\u002Fvercel\u002Fskills\u002Fsign-in-with-vercel\u002FSKILL.md",[],[19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38],"sign in with vercel","vercel","with","sign","oauth provider","auth","implementing","login","Variables","loading","middleware","environment variables","app","next","patterns","clerk","src","api","authentication","secure","2026-11-10 10:12:30",false,"---\nname: sign-in-with-vercel\ndescription: Sign in with Vercel guidance — OAuth 2.0\u002FOIDC identity provider for user authentication via Vercel accounts. Use when implementing user login with Vercel as the identity provider.\nmetadata:\n  priority: 6\n  docs:\n    - \"https:\u002F\u002Fvercel.com\u002Fdocs\u002Fsign-in-with-vercel\"\n  sitemap: \"https:\u002F\u002Fvercel.com\u002Fsitemap\u002Fdocs.xml\"\n  pathPatterns: \n    - 'app\u002Fapi\u002Fauth\u002F**'\n    - 'app\u002Flogin\u002F**'\n    - 'src\u002Fapp\u002Fapi\u002Fauth\u002F**'\n    - 'src\u002Fapp\u002Flogin\u002F**'\n    - 'pages\u002Fapi\u002Fauth\u002F**'\n  bashPatterns: []\nretrieval:\n  aliases:\n    - vercel oauth\n    - vercel login\n    - vercel identity\n    - oauth provider\n  intents:\n    - add vercel login\n    - implement oauth with vercel\n    - use vercel as identity provider\n  entities:\n    - OAuth 2.0\n    - OIDC\n    - Sign in with Vercel\n    - identity provider\nchainTo:\n  -\n    pattern: 'next-auth|NextAuth|from\\s+[''\"]next-auth[''\"\"]|from\\s+[''\"]@auth\u002F[''\"\"]'\n    targetSkill: auth\n    message: 'NextAuth\u002FAuth.js detected alongside Vercel OAuth — loading Auth guidance for proper integration patterns, middleware setup, and provider configuration.'\n    skipIfFileContains: 'clerkMiddleware|@clerk\u002F|from\\s+[''\"]@descope\u002F'\n  -\n    pattern: 'VERCEL_CLIENT_ID|VERCEL_CLIENT_SECRET'\n    targetSkill: env-vars\n    message: 'Vercel OAuth environment variables detected — loading Env Vars guidance for secure configuration and vercel env management.'\n    skipIfFileContains: 'vercel\\s+env\\s+pull|process\\.env\\.VERCEL_CLIENT_ID'\n\n---\n\n# Sign in with Vercel\n\nYou are an expert in Sign in with Vercel — Vercel's OAuth 2.0 \u002F OpenID Connect identity provider.\n\n## What It Is\n\nSign in with Vercel lets users log in to your application using their **Vercel account**. Your app does not need to handle passwords, create accounts, or manage user sessions — Vercel acts as the identity provider (IdP).\n\n## OAuth 2.0 Authorization Code Flow\n\n```\n1. User clicks \"Sign in with Vercel\"\n2. Redirect to Vercel authorization URL\n3. User grants consent on Vercel's consent page\n4. Vercel redirects back with authorization code\n5. Exchange code for tokens (ID Token + Access Token + Refresh Token)\n```\n\n## Tokens\n\n| Token | Lifetime | Purpose |\n|-------|----------|---------|\n| **ID Token** | Signed JWT | Proves user identity (name, email, avatar) |\n| **Access Token** | 1 hour | Bearer token for Vercel REST API calls |\n| **Refresh Token** | 30 days | Silent re-authentication (rotates on use) |\n\n## Configuration\n\n1. Register your app at `https:\u002F\u002Fvercel.com\u002Fdashboard\u002F{team}\u002Fintegrations\u002Fconsole` (the Integrations Console). Click **Create Integration** → fill in the OAuth details → note the Client ID and Client Secret.\n2. Configure redirect URIs and scopes\n3. Use any standard OAuth 2.0 client library (no Vercel-specific SDK required)\n\n## When to Use\n\n- Build tools\u002Fdashboards that need Vercel account identity\n- Grant users access to their own Vercel resources via your app\n- Developer-facing apps where users already have Vercel accounts\n\n## When NOT to Use\n\n- General-purpose user auth (not everyone has Vercel) → use Clerk, Auth0\n- Machine-to-machine auth → use Vercel OIDC Federation or API tokens\n- Internal team auth → use Teams & Access Control\n\n## References\n\n- ? docs: https:\u002F\u002Fvercel.com\u002Fdocs\u002Fsign-in-with-vercel\n","# Sign in with Vercel\n\nYou are an expert in Sign in with Vercel — Vercel's OAuth 2.0 \u002F OpenID Connect identity provider.\n\n## What It Is\n\nSign in with Vercel lets users log in to your application using their **Vercel account**. Your app does not need to handle passwords, create accounts, or manage user sessions — Vercel acts as the identity provider (IdP).\n\n## OAuth 2.0 Authorization Code Flow\n\n```\n1. User clicks \"Sign in with Vercel\"\n2. Redirect to Vercel authorization URL\n3. User grants consent on Vercel's consent page\n4. Vercel redirects back with authorization code\n5. Exchange code for tokens (ID Token + Access Token + Refresh Token)\n```\n\n## Tokens\n\n| Token | Lifetime | Purpose |\n|-------|----------|---------|\n| **ID Token** | Signed JWT | Proves user identity (name, email, avatar) |\n| **Access Token** | 1 hour | Bearer token for Vercel REST API calls |\n| **Refresh Token** | 30 days | Silent re-authentication (rotates on use) |\n\n## Configuration\n\n1. Register your app at `https:\u002F\u002Fvercel.com\u002Fdashboard\u002F{team}\u002Fintegrations\u002Fconsole` (the Integrations Console). Click **Create Integration** → fill in the OAuth details → note the Client ID and Client Secret.\n2. Configure redirect URIs and scopes\n3. Use any standard OAuth 2.0 client library (no Vercel-specific SDK required)\n\n## When to Use\n\n- Build tools\u002Fdashboards that need Vercel account identity\n- Grant users access to their own Vercel resources via your app\n- Developer-facing apps where users already have Vercel accounts\n\n## When NOT to Use\n\n- General-purpose user auth (not everyone has Vercel) → use Clerk, Auth0\n- Machine-to-machine auth → use Vercel OIDC Federation or API tokens\n- Internal team auth → use Teams & Access Control\n\n## References\n\n- ? docs: https:\u002F\u002Fvercel.com\u002Fdocs\u002Fsign-in-with-vercel\n",{"name":5,"chainTo":44,"metadata":54,"retrieval":66,"description":7},[45,49],{"message":46,"pattern":47,"targetSkill":24,"skipIfFileContains":48},"NextAuth\u002FAuth.js detected alongside Vercel OAuth — loading Auth guidance for proper integration patterns, middleware setup, and provider configuration.","next-auth|NextAuth|from\\s+['\"]next-auth['\"\"]|from\\s+['\"]@auth\u002F['\"\"]","clerkMiddleware|@clerk\u002F|from\\s+['\"]@descope\u002F",{"message":50,"pattern":51,"targetSkill":52,"skipIfFileContains":53},"Vercel OAuth environment variables detected — loading Env Vars guidance for secure configuration and vercel env management.","VERCEL_CLIENT_ID|VERCEL_CLIENT_SECRET","env-vars","vercel\\s+env\\s+pull|process\\.env\\.VERCEL_CLIENT_ID",{"docs":55,"sitemap":57,"priority":58,"bashPatterns":59,"pathPatterns":60},[56],"https:\u002F\u002Fvercel.com\u002Fdocs\u002Fsign-in-with-vercel","https:\u002F\u002Fvercel.com\u002Fsitemap\u002Fdocs.xml",6,[],[61,62,63,64,65],"app\u002Fapi\u002Fauth\u002F**","app\u002Flogin\u002F**","src\u002Fapp\u002Fapi\u002Fauth\u002F**","src\u002Fapp\u002Flogin\u002F**","pages\u002Fapi\u002Fauth\u002F**",{"aliases":67,"intents":71,"entities":75},[68,69,70,23],"vercel oauth","vercel login","vercel identity",[72,73,74],"add vercel login","implement oauth with vercel","use vercel as identity provider",[76,77,78,79],"OAuth 2.0","OIDC","Sign in with Vercel","identity provider","main","9a4409c8751439c3aeeea2bc3940ba05dc3cd3b5","plugins\u002Fvercel\u002Fskills\u002Fsign-in-with-vercel",0,"https:\u002F\u002Fgithub.com\u002FNagyVikt\u002Fcodex-plugins","https:\u002F\u002Fgithub.com\u002FNagyVikt","https:\u002F\u002Fwebu.hu\u002F","Codex is a tool they said...\r\n\r\nCreator of GitGuardex, CueCards. Tech stack: Next.js · TypeScript · Rust · Linux. ","2026-03-30 02:19:53",{"source":8,"skillName":5,"commands":90,"prompt":100,"zipAvailable":101},[91,94,97],{"tool":92,"command":93},"npx","npx skills add NagyVikt\u002Fcodex-plugins --skill sign-in-with-vercel",{"tool":95,"command":96},"bunx","bunx skills add NagyVikt\u002Fcodex-plugins --skill sign-in-with-vercel",{"tool":98,"command":99},"pnpm","pnpm dlx skills add NagyVikt\u002Fcodex-plugins --skill sign-in-with-vercel","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FNagyVikt\u002Fcodex-plugins\u002Fblob\u002Fmain\u002Fplugins\u002Fvercel\u002Fskills\u002Fsign-in-with-vercel\u002FSKILL.md",true,[],[104,146,175,197,226,248],{"skillNo":105,"name":106,"nameZh":6,"description":107,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":108,"categories":109,"keywords":126,"publishedAt":39},"01M6K1ZEN8P9R2S6NPNJNJ8JVH","workflow","Vercel Workflow DevKit (WDK) expert guidance. Use when building durable workflows, long-running tasks, API routes or agents that need pause\u002Fresume, retries, step-based execution, or crash-safe orchestration with Vercel Workflow.","https:\u002F\u002Fgithub.com\u002FNagyVikt\u002Fcodex-plugins\u002Fblob\u002Fmain\u002Fplugins\u002Fvercel\u002Fskills\u002Fworkflow\u002FSKILL.md",[110,115,118,123],{"categoryNo":111,"categoryName":112,"taxonomyType":113,"taxonomyTypeDesc":114},"01JBSEEDCAT000000000000010","后端与接口","SCENARIO","使用场景",{"categoryNo":116,"categoryName":117,"taxonomyType":113,"taxonomyTypeDesc":114},"01JBSEEDCAT000000000000023","Skill与智能体开发",{"categoryNo":119,"categoryName":120,"taxonomyType":121,"taxonomyTypeDesc":122},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",{"categoryNo":124,"categoryName":125,"taxonomyType":121,"taxonomyTypeDesc":122},"01JBSEEDCAT000000000000038","人力资源",[106,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145],"workflows","create","run","streaming","logs","start","why","loop","wait for","branch","auto","log","conversation","human","lib","condition","rendering","retries","sleep",{"skillNo":147,"name":148,"nameZh":6,"description":149,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":150,"categories":151,"keywords":162,"publishedAt":39},"01M6K1Z71NWFSPHK2VJJ73MVSY","verification","Full-story verification — infers what the user is building, then verifies the complete flow end-to-end: browser → API → data → response. Triggers on dev server start and 'why isn't this working' signals.","https:\u002F\u002Fgithub.com\u002FNagyVikt\u002Fcodex-plugins\u002Fblob\u002Fmain\u002Fplugins\u002Fvercel\u002Fskills\u002Fverification\u002FSKILL.md",[152,155,156,159],{"categoryNo":153,"categoryName":154,"taxonomyType":113,"taxonomyTypeDesc":114},"01JBSEEDCAT000000000000008","测试与质量",{"categoryNo":111,"categoryName":112,"taxonomyType":113,"taxonomyTypeDesc":114},{"categoryNo":157,"categoryName":158,"taxonomyType":121,"taxonomyTypeDesc":122},"01JBSEEDCAT000000000000031","产品经理",{"categoryNo":160,"categoryName":161,"taxonomyType":121,"taxonomyTypeDesc":122},"01JBSEEDCAT000000000000033","数据分析师",[148,24,130,163,36,164,136,165,166,167,168,169,170,31,171,172,173,29,28,174],"routing middleware","projects","user story","full stack","jest","local","project","end","false","unit","error","unit test",{"skillNo":176,"name":177,"nameZh":6,"description":178,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":179,"categories":180,"keywords":182,"publishedAt":39},"01M6K1YPRYJS3BQEDP8HKBHPEJ","vercel-storage","Vercel storage expert guidance — Blob, Edge Config, and Marketplace storage (Neon Postgres, Upstash Redis). Use when choosing, configuring, or using data storage with Vercel applications.","https:\u002F\u002Fgithub.com\u002FNagyVikt\u002Fcodex-plugins\u002Fblob\u002Fmain\u002Fplugins\u002Fvercel\u002Fskills\u002Fvercel-storage\u002FSKILL.md",[181],{"categoryNo":111,"categoryName":112,"taxonomyType":113,"taxonomyTypeDesc":114},[183,184,20,185,129,186,187,137,188,34,189,190,191,192,31,141,193,194,195,196],"storage","vercel storage","config","supabase","migrate","router","expert","prisma","connection pooling","neon","turso","upstash","URL","auth0",{"skillNo":198,"name":199,"nameZh":6,"description":200,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":201,"categories":202,"keywords":210,"publishedAt":39},"01M6K1YFEP0GPPGMQ3D0FPTS27","vercel-services","Vercel Services — deploy multiple services within a single Vercel project. Use for monorepo layouts or when combining a backend (Python, Go) with a frontend (Next.js, Vite) in one deployment.","https:\u002F\u002Fgithub.com\u002FNagyVikt\u002Fcodex-plugins\u002Fblob\u002Fmain\u002Fplugins\u002Fvercel\u002Fskills\u002Fvercel-services\u002FSKILL.md",[203,206,207],{"categoryNo":204,"categoryName":205,"taxonomyType":113,"taxonomyTypeDesc":114},"01JBSEEDCAT000000000000009","前端开发",{"categoryNo":111,"categoryName":112,"taxonomyType":113,"taxonomyTypeDesc":114},{"categoryNo":208,"categoryName":209,"taxonomyType":113,"taxonomyTypeDesc":114},"01JBSEEDCAT000000000000011","运维与部署",[211,212,20,213,214,215,216,217,218,219,220,80,221,222,169,223,31,224,173,225],"vercel services","services","frontend","docker compose","SET","configure","monorepo","go api","fastapi","up","aws lambda","go backend","get","apps","python backend",{"skillNo":227,"name":228,"nameZh":6,"description":229,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":230,"categories":231,"keywords":232,"publishedAt":39},"01M6K1Y8S3CRD43DPKX0PK1MTT","vercel-sandbox","Vercel Sandbox guidance — ephemeral Firecracker microVMs for running untrusted code safely. Supports AI agents, code generation, and experimentation. Use when executing user-generated or AI-generated code in isolation.","https:\u002F\u002Fgithub.com\u002FNagyVikt\u002Fcodex-plugins\u002Fblob\u002Fmain\u002Fplugins\u002Fvercel\u002Fskills\u002Fvercel-sandbox\u002FSKILL.md",[],[233,234,20,235,236,128,129,237,238,239,240,241,242,243,244,245,28,246,228,247],"sandbox","vercel sandbox","safe","ai agents","code","ai sdk","Code Generation","playground","generated","spawn","install","runner","io","child","student",{"skillNo":249,"name":250,"nameZh":6,"description":251,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":252,"categories":253,"keywords":255,"publishedAt":39},"01M6K1Y1J8S7AN97H75SHBGF7J","vercel-queues","Vercel Queues guidance (public beta) — durable event streaming with topics, consumer groups, retries, and delayed delivery. $0.60\u002F1M ops. Powers Workflow DevKit. Use when building async processing, fan-out patterns, or event-driven architectures.","https:\u002F\u002Fgithub.com\u002FNagyVikt\u002Fcodex-plugins\u002Fblob\u002Fmain\u002Fplugins\u002Fvercel\u002Fskills\u002Fvercel-queues\u002FSKILL.md",[254],{"categoryNo":116,"categoryName":117,"taxonomyType":113,"taxonomyTypeDesc":114},[256,20,106,127,130,257,215,36,216,220,258,259,260,261,31,141,262,144,28,263],"vercel queues","beta","message","delivery","across","worker","processing","at"]