Railway Domain Management
SkillAI & modelsThis is a skill that lets an AI agent manage domains for Railway services. With the railway claude skill installed, the agent can add a domain, generate a Railway domain, list current domains, get a service's URL, or remove a domain on request.
Available today. Use it from your connected AI after setup.
No other account needed.
Have access to the Railway services whose domains you want to manage.
Then ask your AI: use the Railway Domain Management skill
What your AI can do with it
- Add a domain to a Railway service
- Generate a Railway domain for a service
- View the domains currently attached to a service
- Get the URL for a Railway service
- Remove a domain from a Railway service
Getting started
- Have access to the Railway services whose domains you want to manage.
- Add the railway-domain skill to your agent's available skills.
- Ask the agent to add, view, or remove a domain for a service.
What this skill tells your AI
The instructions your AI receives, as published by davila7/claude-code-templates in cli-tool/components/skills/railway/domain/SKILL.md and read by ahel’s review.
Add, view, or remove domains for Railway services.
When to Use
- User asks to "add a domain", "generate a domain", "get a URL"
- User wants to add a custom domain
- User asks "what's the URL for my service"
- User wants to remove a domain
Add Railway Domain
Generate a railway-provided domain (max 1 per service):
railway domain --json
For a specific service:
railway domain --json --service backend
Response
Returns the generated domain URL. Service must have a deployment.
Add Custom Domain
railway domain example.com --json
Response
Returns required DNS records:
{
"domain": "example.com",
"dnsRecords": [
{ "type": "CNAME", "host": "@", "value": "..." }
]
}
Tell user to add these records to their DNS provider.
Read Current Domains
Use railway-environment skill to see configured domains, or query directly:
query domains($envId: String!) {
environment(id: $envId) {
config(decryptVariables: false)
}
}
Domains are in config.services.<serviceId>.networking:
serviceDomains- Railway-provided domainscustomDomains- User-provided domains
Remove Domain
Use railway-environment skill to remove domains:
Remove custom domain
{
"services": {
"<serviceId>": {
"networking": {
"customDomains": { "<domainId>": null }
}
}
}
}
Remove railway domain
{
"services": {
"<serviceId>": {
"networking": {
"serviceDomains": { "<domainId>": null }
}
}
}
}
Then use railway-environment skill to apply and commit the change.
CLI Options
| Flag | Description |
|---|---|
[DOMAIN] | Custom domain to add (omit for railway domain) |
-p, --port <PORT> | Port to connect |
-s, --service <NAME> | Target service (defaults to linked) |
--json | JSON output |
Composability
- Read domains: Use railway-environment skill
- Remove domains: Use railway-environment skill
- Apply removal: Use railway-environment skill
- Check service: Use railway-service skill
Error Handling
No Service Linked
No service linked. Use --service flag or run `railway service` to select one.
Domain Already Exists
Service already has a railway-provided domain. Maximum 1 per service.
No Deployment
Service has no deployment. Deploy first with `railway up`.
Invalid Domain
Invalid domain format. Use a valid domain like "example.com" or "api.example.com".
Signals
- GitHub stars
- 32k
- Forks
- 4k
- Last commit
- Sep 2026
Questions
- What can this skill do?
- It lets an agent add, view, or remove domains for Railway services, generate a Railway domain, and get the URL for a service.
- When should the agent use it?
- Whenever you want to add a domain, generate a Railway domain, check current domains, get a service's URL, or remove a domain.
Advanced
- Item type
- skill
- Key
railway-domain- Source
- github.com/davila7/claude-code-templates