convex-auth
Add authentication (passkeys/OAuth) to the current Convex app, including the auth.config.ts wiring.
Skill by convex
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/convex-convex-auth
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: security
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md and code. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/convex-auth
What's inside
- Skill name
convex-auth- Description
- Add authentication (passkeys/OAuth) to the current Convex app, including the auth.config.ts wiring.
- License
- Apache-2.0
- Instructions
- 26 lines in SKILL.md · view on GitHub
Files (1)
- SKILL.md
SKILL.md (first lines)
<!-- GENERATED from convex-agents content/capabilities/auth.json — do not edit by hand. -->
# Add sign-in to the app
Install and wire @convex-dev/auth for the current app: a provider (passkeys by default, or OAuth/password), the server config, the client hooks, and a sign-in UI — correctly, including the auth.config.ts that's the #1 real-world auth footgun.
## Workflow
1. Install @convex-dev/auth (pinned build) and add it to convex.config.ts. With pnpm, also `pnpm add jose` (it won't hoist otherwise); you need it for step 3.
2. Add the provider in convex/auth.ts (Passkey by default; Password or OAuth like Google on request).
3. Generate the auth keys HEADLESSLY. Do NOT run the interactive `npx @convex-dev/auth` wizard: it needs a login/TTY and hangs in non-interactive, anonymous, or CI runs (the #1 auth time-sink). Generate JWT_PRIVATE_KEY + JWKS deterministically with `jose`:
node -e 'import("jose").then(async({generateKeyPair,exportPKCS8,exportJWK})=>{const k=await generateKeyPair("RS256",{extractable:true});const priv=await exportPKCS8(k.privateKey);const pub=await exportJWK(k.publicKey);process.stdout.write(JSON.stringify({JWT_PRIVATE_KEY:priv.trimEnd().replace(/\n/g," "),JWKS:JSON.stringify({keys:[{use:"sig",...pub}]})}))})' > .auth-keys.json
Then set JWT_PRIVATE_KEY and JWKS (from .auth-keys.json) plus SITE_URL on the deployment. Prefer the Convex MCP `envSet` tool, one call per var, to avoid shell-quoting the multi-line key. CLI fallback: use the NAME=VALUE form (`npx convex env set "JWT_PRIVATE_KEY=$JWT"`), NEVER `env set JWT_PRIVATE_KEY "$JWT"` (the value starts with `-----BEGIN` and the CLI parses the leading `-` as an unknown flag). SITE_URL is the dev URL (e.g. http://localhost:3000). Delete .auth-keys.json after.
4. Write convex/auth.config.ts (the silently-always-signed-out bug lives here if it's wrong).
5. Wire the client: ConvexAuthProvider, the sign-in component, and route guards. If you import shadcn/ui primitives (button, input, textarea, label, and so on), add them first with `npx shadcn@latest add <name>`; a missing @/components/ui/* is a hard build error.
6. Verify a sign-in round-trips before declaring done.
## Rules
- Generate JWT_PRIVATE_KEY/JWKS with `jose` (extractable RS256; PKCS8 newlines to spaces; JWKS = {keys:[{use:"sig", ...publicJwk}]}). Do NOT run the interactive `npx @convex-dev/auth` wizard: it hangs headless/anonymous. Set the vars via the MCP `envSet` tool or the NAME=VALUE CLI form.
- Always write auth.config.ts: a missing/incorrect one makes the app silently always-signed-out with no error.
- Passkeys by default; only switch to password/OAuth on explicit request.
- Install any shadcn/ui primitive you import up front (`npx shadcn@latest add ...`); a missing @/components/ui/* is a hard build failure.
- Verify a real sign-in works before finishing.From convex/agent-skills, Apache-2.0.
More from convex/agent-skills
- 0.666score
convex-improve-convex-plugin
convex
Send this coding session's transcript to the Convex team for an AI post-mortem that improves the quickstart system.
SkillAFreshness: A★ 66Claude Code +9 - 0.663score
convex-deploy-guard
convex
Classify + announce the target Convex deployment before any deployment-affecting command; fresh explicit consent for prod actions; session read-only mode.
SkillAFreshness: A★ 66Claude Code +9 - 0.660score
convex-env
convex
Set and wire Convex deployment env vars / secrets for the app.
SkillAFreshness: A★ 66Claude Code +9 - 0.628score
convex-create-component
convex
Builds reusable Convex components with isolated tables and app-facing APIs.
SkillBFreshness: B★ 66Claude Code +9 - 0.626score
convex
convex
Convex is the backend agents get right on the first try: an all-TypeScript reactive platform where the database, server functions, scheduling, file storage…
SkillBFreshness: B★ 66Claude Code +9 - 0.626score
convex-authz
convex
Audit and harden a Convex app's authorization: identity-from-arg impersonation, missing per-document ownership checks, public queries leaking data by a…
SkillBFreshness: B★ 66Claude Code +9 - 0.626score
convex-expert
convex
Convex backend specialist.
SkillBFreshness: B★ 66Claude Code +9 - 0.626score
convex-add
convex
Add a capability to the CURRENT Convex app — consults the served Convex capability catalog for always-current procedures (billing, crons, auth, agent, search…
SkillBFreshness: B★ 66Claude Code +9 - 0.626score
convex-suggest
convex
Suggest the matching Convex component when the user hand-rolls a pattern it already solves (crons, sharded-counter, rate-limiter, storage, search, presence…
SkillBFreshness: B★ 66Claude Code +9 - 0.623score
convex-cost
convex
Preview Convex spend — rank functions by bytes/documents-read × call-volume from insights, project each cost driver's growth curve, name the cheapest fix…
SkillBFreshness: B★ 66Claude Code +9 - 0.623score
convex-explain-app
convex
Explain an existing Convex app — data model + relationships, public vs internal functions, auth/ownership model, components, a request→data flow — read from…
SkillBFreshness: B★ 66Claude Code +9 - 0.623score
convex-insights
convex
Query a running Convex app's logs + health in natural language (official MCP): failures, slow/expensive functions, deploy causality — scoped, evidence-backed…
SkillBFreshness: B★ 66Claude Code +9
Signals
- Stars
- 66
- Forks
- 11
- Open issues
- 6
- Last commit (this folder)
- Aug 1, 2026 (2 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- Apache-2.0
- Repository
- github.com/convex/agent-skills
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from convex
- 0.666score
convex-improve-convex-plugin
convex
Send this coding session's transcript to the Convex team for an AI post-mortem that improves the quickstart system.
SkillAFreshness: A★ 66Claude Code +9 - 0.663score
convex-deploy-guard
convex
Classify + announce the target Convex deployment before any deployment-affecting command; fresh explicit consent for prod actions; session read-only mode.
SkillAFreshness: A★ 66Claude Code +9 - 0.660score
convex-env
convex
Set and wire Convex deployment env vars / secrets for the app.
SkillAFreshness: A★ 66Claude Code +9 - 0.628score
convex-create-component
convex
Builds reusable Convex components with isolated tables and app-facing APIs.
SkillBFreshness: B★ 66Claude Code +9 - 0.626score
convex-authz
convex
Audit and harden a Convex app's authorization: identity-from-arg impersonation, missing per-document ownership checks, public queries leaking data by a…
SkillBFreshness: B★ 66Claude Code +9 - 0.626score
convex-add
convex
Add a capability to the CURRENT Convex app — consults the served Convex capability catalog for always-current procedures (billing, crons, auth, agent, search…
SkillBFreshness: B★ 66Claude Code +9
Cite this page
convex-auth skill. Agent Mart. https://agentmart.dev/skills/convex-convex-auth (last updated 2026-10-24)