Guide · Agent skill
How to use the Convex custom domain setup agent skill
Updated · written with AI from the project's own documentation and checked against our catalogue data
The convex-domains skill is an agent skill for connecting a domain you already own to a Convex-hosted app. It is aimed at developers who want their Convex site served from their own domain, and at teams moving an existing app to a new domain. After this guide you will know what the skill does, how to install it, how to ask for it in plain language, and what to check before any DNS change goes live.
Quick start
- 1Download and unzip. Download the ZIP from this page and unzip it into ~/.claude/skills/ or your project's .claude/skills/ folder, or upload it under Settings → Capabilities → Skills in the Claude apps.
- 2Confirm your prerequisites. Make sure your Convex app is deployed to a *.convex.app host or deployment HTTP actions URL and that you have DNS access to your domain at your registrar.
- 3Ask in plain language. Describe the domain you want and the app it should serve, for example asking to point your domain at your Convex app.
- 4Review the records. Check the CNAME or A/ALIAS and TXT records the agent proposes, with the exact host and value strings.
- 5Approve any DNS commands. If an authenticated DNS CLI is available, review the exact commands and say yes before anything runs.
- 6Attach and verify. Attach the custom domain in Convex, wait for verification, then check the records with dig +short.
- 7Rebind auth and re-publish. If your app uses sign-in, update SITE_URL, RP_ID or ORIGIN to the new domain and re-publish, then confirm the site loads over HTTPS.
What an agent skill is and what this one does
An agent skill is a folder of instructions, packaged as a SKILL.md file, that an AI agent such as Claude can load when your request matches the skill's description. This skill's description is: point a domain you already own at your Convex app, covering DNS records, custom-domain attach and auth-origin rebind.
When installed, the agent walks you through the process. It identifies the target (the published site host for *.convex.app static hosting, or the deployment's HTTP actions URL), works out which DNS records to create at your registrar, attaches the custom domain in Convex, and rebinds the auth origin if your app uses passkeys or OAuth. It also always includes a TXT verification record, not just the CNAME.
Install the convex-domains skill
Download the skill ZIP from this page. Then choose one of two routes.
For a personal install across all your projects, unzip the file into ~/.claude/skills/. For a single project, unzip it into that project's .claude/skills/ folder. The skill's main file is SKILL.md.
To use it in the Claude apps instead, upload the ZIP under Settings → Capabilities → Skills.
- Personal: ~/.claude/skills/
- Project only: .claude/skills/ inside your project
- Claude apps: Settings → Capabilities → Skills
Check what you need before you start
You need a Convex app already deployed to a *.convex.app host or a deployment HTTP actions URL. Without a deployment there is nothing to point a domain at. You also need a domain you own, with access to its DNS settings at your registrar.
A DNS command-line tool is optional. If you already have one logged in on your machine, the agent can offer to create the records for you. Tools the skill knows about are flarectl, aws, gcloud, doctl and vercel, and dig is used to verify records. The skill does not ask you to install or log in to any of these.
- A Convex app deployed to a *.convex.app host or deployment HTTP actions URL
- A domain you own, with DNS access at your registrar
- Optional: an already-authenticated DNS CLI (flarectl, aws, gcloud, doctl or vercel)
- Optional: dig, for checking DNS records
Trigger the skill with natural requests
You do not need a special command. Describe what you want in plain words and mention your domain and app. The agent should match the request to this skill.
Requests that fit well include asking to serve your Convex app from your own domain, moving an existing Convex site to a new domain, or fixing sign-in after a domain change.
- "Point my domain example.com at my Convex app."
- "Set up a custom domain for my Convex site and tell me which DNS records to add at my registrar."
- "I moved my Convex app to a new domain and passkey sign-in is broken. Update the auth origin."
- "Check whether the DNS records for my custom domain have propagated."
Follow the workflow the skill runs
The skill follows a fixed order. First it identifies the target host. Then, if an authenticated DNS CLI is available, it checks authentication read-only (for example flarectl user info, aws sts get-caller-identity or doctl account get) and offers to create the records, showing the exact commands. If no CLI is available, or you decline, it tells you exactly which CNAME (or A/ALIAS at the apex) and TXT records to create at your registrar, with concrete host and value strings.
Next the domain is attached as a Convex custom domain, through the dashboard or the CLI, and the agent waits for verification. DNS propagation can take minutes to hours. The records are checked with dig +short. If your app uses auth, the SITE_URL, RP_ID or ORIGIN environment variables are updated and the app is re-deployed or re-published. Finally the agent confirms the domain serves the app over HTTPS, including an apex-to-www redirect if you configured one.
dig +short www.example.comSafety notes: scripts, network and credentials
This skill does not run scripts, but it does use the network, because it checks DNS and works with Convex and your DNS provider. It never asks for or handles registrar credentials. A CLI that is already authenticated on your machine is acceptable, since the credential stays inside that tool. The skill will not install a CLI or run its login flow for this task, and it will not echo tokens.
DNS changes on a live domain are visible to users right away. The agent must show exact commands and get your confirmation before running them, and it verifies afterwards with dig. Keep a backup plan before changing a live production domain, because a mistake can take the site offline.
If your app uses sign-in, changing the domain changes the auth origin. Re-publish after the rebind, or sign-in will break.
Tips for a smooth domain change
Set up the domain on a test name first if you can, so you see the records and verification work before touching production.
Keep the TXT verification record along with the CNAME. The skill treats it as required.
Expect a wait after adding records. Use dig to see whether they have reached DNS before you assume something is broken.
Re-publish after updating the auth origin, every time the domain changes.
- Test on a non-production name when possible
- Always include the TXT verification record
- Allow minutes to hours for propagation
- Re-publish after any auth origin change
What people use it for
- Serving a Convex app from your own domain instead of a *.convex.app address
- Moving an existing Convex site to a new custom domain
- Fixing passkey or OAuth sign-in after the domain changed by updating the auth origin
- Creating the required DNS records at a registrar you manage yourself, with the exact values listed
- Adding an apex-to-www redirect and checking it over HTTPS
Frequently asked questions
Is the convex-domains skill free?
The skill is published under the MIT licence, as listed on this page. The source does not state any price, so check the repository for licence terms before reuse.
What do I need before installing it?
You need a Convex app deployed to a *.convex.app host or a deployment HTTP actions URL, and a domain you own with access to its DNS settings. A DNS command-line tool is optional.
How do I install the convex-domains skill?
Download the ZIP from this page and unzip it into ~/.claude/skills/ for personal use, or into a project's .claude/skills/ folder. In the Claude apps, upload it under Settings → Capabilities → Skills.
Will the agent change my DNS records without asking?
No. If an authenticated DNS CLI is available, the agent shows the exact commands and waits for your approval before running them. Otherwise it lists the records for you to create yourself at your registrar.
Why does the skill need a TXT record as well as a CNAME?
The skill's rules say to always include the TXT verification record, not just the CNAME. Convex needs it to verify the domain, so add it along with the CNAME or A/ALIAS record.
Why does sign-in break after I change my domain?
If your app uses passkeys or OAuth, the auth origin is tied to the domain. The skill's rules say to rebind SITE_URL, RP_ID or ORIGIN to the new domain and re-publish, or sign-in will break.
New agent skills, repos and AI tools — every week
The best new skills and open-source projects, the fastest-growing repos, and one free prompt. Five minutes to read. Unsubscribe anytime.
Our verdict
This skill suits developers and teams who have a deployed Convex app and want it served from a domain they own, especially if they use passkey or OAuth sign-in. It is not for anyone who has not deployed yet, or who wants the agent to handle registrar logins, and it needs care on live production domains. Back up your setup and test on a non-production name first.
Download the skill