sign-in-with-vercel — Codex skill: Vercel account login
Walks your agent through adding user login with a Vercel account over OAuth 2.0 and OpenID Connect. Useful when you hand passwords and sessions to an identity provider.
npx skills add openai/plugins --skill sign-in-with-vercel -a codexWhat sign-in-with-vercel does
The skill tells the agent what Sign in with Vercel is: Vercel acts as the identity provider, so your app never stores passwords or creates accounts. It lays out the Authorization Code flow, from the sign-in button to exchanging the code for tokens.
Three tokens are covered. The ID Token is a signed JWT carrying the user's name, email and avatar. The Access Token lasts 1 hour and works as a bearer token for Vercel REST API calls. The Refresh Token lasts 30 days and rotates on use.
Before you start, register the app in the Integrations Console, set redirect URIs and scopes, and keep the Client ID and Client Secret. No Vercel-specific SDK is required — any standard OAuth 2.0 client library works. If your users may not have Vercel accounts, this is the wrong provider for general-purpose auth.
What it helps with
- add Vercel account login without running your own password store
- follow the Authorization Code flow step by step
- tell ID, Access and Refresh tokens apart
- register an integration and get a Client ID and secret
- decide whether Vercel fits as the identity provider for a given app
Example prompts for the agent
- Add Sign in with Vercel to
app/login/page.tsxusing OAuth 2.0 - Exchange the authorization code for tokens in
app/api/auth/callback/route.ts - Validate the ID Token and pull the user's email out of it
How to install sign-in-with-vercel
1Skills CLI (Vercel)
npx skills add openai/plugins --skill sign-in-with-vercel -a codex2Manually: put the files in place
.agents/skills/sign-in-with-vercel/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add openai/plugins --skill sign-in-with-vercel -a claude-code2Manually: put the files in place
~/.claude/skills/sign-in-with-vercel/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/sign-in-with-vercel/
Manually: put the files in place
.cursor/skills/sign-in-with-vercel/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install openai/plugins sign-in-with-vercel2Manually: put the files in place
.github/skills/sign-in-with-vercel/SKILL.mdPlatform CLI
gemini skills install https://github.com/openai/plugins --path plugins/vercel/skills/sign-in-with-vercelManually: put the files in place
.devin/skills/sign-in-with-vercel/SKILL.mdThe legacy .windsurf/skills/ path still works
Claude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: Codex skills: how to install, where they live, how to call them
Questions about sign-in-with-vercel
How do I install sign-in-with-vercel in Claude?
Run npx skills add openai/plugins --skill sign-in-with-vercel, then npx skills add openai/plugins --skill sign-in-with-vercel -a codex. The skill file lands at .agents/skills/sign-in-with-vercel/SKILL.md.
What does sign-in-with-vercel do?
It gives the agent instructions for wiring up login through a Vercel account: the Authorization Code flow, token handling, and integration registration. Passwords and sessions stay on Vercel's side.
When should you not use Vercel as the login provider?
For general-purpose user auth, since not everyone has a Vercel account. Machine-to-machine auth is also a miss — that calls for OIDC Federation or API tokens.
Source text
SKILL.md · Apache-2.0
---
name: sign-in-with-vercel
description: Sign in with Vercel guidance — OAuth 2.0/OIDC identity provider for user authentication via Vercel accounts. Use when implementing user login with Vercel as the identity provider.
metadata:
priority: 6
docs:
- "https://vercel.com/docs/sign-in-with-vercel"
sitemap: "https://vercel.com/sitemap/docs.xml"
pathPatterns:
- 'app/api/auth/**'
- 'app/login/**'
- 'src/app/api/auth/**'
- 'src/app/login/**'
- 'pages/api/auth/**'
bashPatterns: []
---
# Sign in with Vercel
You are an expert in Sign in with Vercel — Vercel's OAuth 2.0 / OpenID Connect identity provider.
## What It Is
Sign 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).
## OAuth 2.0 Authorization Code Flow
```
1. User clicks "Sign in with Vercel"
2. Redirect to Vercel authorization URL
3. User grants consent on Vercel's consent page
4. Vercel redirects back with authorization code
5. Exchange code for tokens (ID Token + Access Token + Refresh Token)
```
## Tokens
| Token | Lifetime | Purpose |
|-------|----------|---------|
| **ID Token** | Signed JWT | Proves user identity (name, email, avatar) |
| **Access Token** | 1 hour | Bearer token for Vercel REST API calls |
| **Refresh Token** | 30 days | Silent re-authentication (rotates on use) |
## Configuration
1. Register your app at `https://vercel.com/dashboard/{team}/integrations/console` (the Integrations Console). Click **Create Integration** → fill in the OAuth details → note the Client ID and Client Secret.
2. Configure redirect URIs and scopes
3. Use any standard OAuth 2.0 client library (no Vercel-specific SDK required)
## When to Use
- Build tools/dashboards that need Vercel account identity
- Grant users access to their own Vercel resources via your app
- Developer-facing apps where users already have Vercel accounts
## When NOT to Use
- General-purpose user auth (not everyone has Vercel) → use Clerk, Auth0
- Machine-to-machine auth → use Vercel OIDC Federation or API tokens
- Internal team auth → use Teams & Access Control
## References
- 📖 docs: https://vercel.com/docs/sign-in-with-vercel
© Vercel Labs · Apache-2.0 · openai/plugins