PluginBench
Skill
Pass
Audit score 90

convex-domains

get-convex/agent-skills

Point your own domain at a Convex app with DNS records, custom-domain attachment, and auth-origin rebinding.

What is convex-domains?

This skill guides you through configuring a custom domain you own to serve a Convex app. It handles DNS record creation (via authenticated CLI or manual instructions), custom-domain attachment in Convex, and re-binding auth origins if your app uses authentication.

  • Identify the target hosting URL (Convex static hosting or HTTP actions deployment)
  • Detect and offer to auto-create DNS records via authenticated CLI (Cloudflare, Route53, Google Cloud DNS, DigitalOcean, Vercel)
  • Provide exact DNS record values (CNAME/A and TXT verification) for manual registrar entry if no CLI is available
  • Attach the custom domain to your Convex app and wait for DNS verification
  • Rebind auth origins (SITE_URL, RP_ID, ORIGIN) if your app uses authentication, then re-deploy
  • Verify HTTPS serving and apex-to-www redirects

How to install convex-domains

npx skills add https://github.com/get-convex/agent-skills --skill convex-domains
Prerequisites
  • An existing domain registered at any provider (Cloudflare, Route53, Google Cloud DNS, DigitalOcean, Vercel, or other)
  • Access to your registrar's DNS settings (either via authenticated CLI on your machine or direct dashboard access)
  • A published Convex app (static site or HTTP actions deployment)
Claude Code
Cursor
Windsurf
Cline

How to use convex-domains

  1. 1.Provide your domain name and confirm which Convex app/deployment it should point to
  2. 2.If you have an authenticated CLI (flarectl, aws, gcloud, doctl, vercel), the skill will detect it and offer to create DNS records automatically—review and confirm the commands before they run
  3. 3.If no CLI is available or you prefer manual entry, copy the exact CNAME (or A/ALIAS at apex) and TXT verification record values and add them at your registrar
  4. 4.Wait for DNS propagation (typically minutes to hours) and verify records with dig +short
  5. 5.If your app uses authentication (passkeys/OAuth), update auth-origin environment variables (SITE_URL, RP_ID, ORIGIN) to your new domain and re-deploy
  6. 6.Test that your domain serves the app over HTTPS and any apex redirects work correctly

Use cases

Good for
  • Move a production app from *.convex.app to your branded domain without downtime
  • Set up OAuth or passkey authentication with a custom domain as the auth origin
  • Migrate an existing domain to point at a new Convex deployment
  • Configure DNS records automatically if you have a CLI authenticated with your registrar
  • Manually add DNS records at your registrar when no CLI is available
Who it's for
  • Developers deploying Convex apps to production
  • Teams managing custom domains across multiple registrars
  • Apps using Convex authentication that need a branded domain
  • DevOps engineers automating domain configuration

convex-domains FAQ

Do I need to give you my registrar credentials?

No. The skill only uses CLIs already authenticated on your machine (like flarectl or aws). Credentials stay in the tool and are never shared or echoed.

What if I don't have a CLI authenticated with my registrar?

The skill will provide the exact DNS record values (host and value strings) for you to add manually at your registrar's dashboard.

How long does DNS propagation take?

Usually minutes to hours, depending on your registrar and TTL settings. You can verify with dig +short to check if records have landed.

Why do I need to rebind the auth origin?

If your app uses authentication (passkeys, OAuth), the auth origin must match your domain. Changing the domain without updating auth-origin environment variables will break sign-in.

Can this skill handle registrars other than Cloudflare, Route53, Google Cloud DNS, DigitalOcean, and Vercel?

Yes—if no authenticated CLI is available, the skill provides exact record values for manual entry at any registrar's dashboard.

Full instructions (SKILL.md)

Source of truth, from get-convex/agent-skills.


name: convex-domains description: "Point a domain you already own at your Convex app (DNS records, custom-domain attach, auth-origin rebind)."

<!-- GENERATED from convex-agents content/capabilities/domains.json — do not edit by hand. -->

Set up a custom domain with your own provider

Walk the user's own registrar through pointing their domain at the Convex app: identify the target (hosting or deployment URL), create the DNS records, attach the custom domain, and rebind the auth origin if the app uses auth.

Workflow

  1. Identify the target: the published site host (for *.convex.app static hosting) or the deployment's HTTP actions URL.
  2. Detect an ALREADY-AUTHENTICATED DNS CLI for the user's provider and OFFER to create the records automatically: Cloudflare → flarectl dns create (note: wrangler itself doesn't manage DNS records) or the CF API via their token env; Route53 → aws route53 change-resource-record-sets; Google Cloud DNS → gcloud dns record-sets create; DigitalOcean → doctl compute domain records create; Vercel DNS → vercel dns add. Check auth read-only first (flarectl user info / aws sts get-caller-identity / doctl account get); show the exact commands and get a yes before running.
  3. If no authed CLI (or the user declines), tell the user exactly which records to create at THEIR registrar: the CNAME (or A/ALIAS at the apex) plus the TXT verification record — with concrete host/value strings, not placeholders.
  4. Attach the domain as a Convex custom domain (dashboard or CLI) and wait for verification; note DNS propagation can take minutes to hours. Verify records landed with dig +short.
  5. If the app uses auth (passkeys/OAuth), rebind the auth origin (SITE_URL / RP_ID / ORIGIN env vars) to the new domain and re-deploy/re-publish.
  6. Verify: the domain serves the app over HTTPS, including the apex → www redirect if configured.

Rules

  • Never ask for or handle registrar credentials. A CLI already authenticated on the user's machine is fine — the credential stays in the tool; never install a CLI or run its login/auth flow for this, and never echo tokens.
  • DNS changes on a live domain are user-visible: show the exact commands and confirm before running them; verify afterwards with dig.
  • Always include the TXT verification record, not just the CNAME.
  • Rebinding the domain changes the auth origin — re-publish after, or sign-in breaks.