railway-domain
Handles DNS and custom domain configuration for Railway deployments.
Install
mkdir -p .claude/skills/railway-domain && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/2963" && unzip -o skill.zip -d .claude/skills/railway-domain && rm skill.zipInstalls to .claude/skills/railway-domain
Activation
This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.
Add, view, or remove domains for Railway services. Use when user wants to add a domain, generate a railway domain, check current domains, get the URL for a service, or remove a domain.Key capabilities
- →Generate Railway-provided domain URLs
- →Configure custom domains for services
- →Retrieve DNS record requirements for custom domains
- →Remove existing custom or Railway domains
How it works
It interfaces with the Railway CLI to add, remove, or query domain configurations associated with specific services.
Inputs & outputs
When to use railway-domain
- →Map a custom domain to a production service
- →Retrieve the live URL for a backend service
- →Remove an obsolete custom domain from a project
- →Generate a Railway-provided domain for a test deployment
About this skill
Railway Domain Management
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".
When not to use it
- →Managing DNS records directly at the domain registrar
- →Configuring non-Railway infrastructure
Prerequisites
Limitations
- →Maximum of one Railway-provided domain per service
- →Requires an existing deployment for domain generation
How it compares
It provides a structured command interface for domain lifecycle management instead of manual dashboard configuration.
Compared to similar skills
railway-domain side by side with the closest alternatives in the catalog.
| Skill | Installs | Updated | Safety | Difficulty |
|---|---|---|---|---|
| railway-domain (this skill) | 1 | 7mo | Review | Intermediate |
| cloudflare-manager | 25 | 9mo | Review | Intermediate |
| railway-cli-management | 9 | 8mo | Review | Intermediate |
| azure-functions | 10 | 5mo | Review | Intermediate |
Try saying
Example prompts that trigger this skill in your AI assistant.
More by davila7
View all by davila7 →You might also like
cloudflare-manager
qdhenry
Comprehensive Cloudflare account management for deploying Workers, KV Storage, R2, Pages, DNS, and Routes. Use when deploying cloudflare services, managing worker containers, configuring KV/R2 storage, or setting up DNS/routing. Requires CLOUDFLARE_API_KEY in .env and Bun runtime with dependencies installed.
railway-cli-management
CaptainCrouton89
Deploy, manage services, view logs, and configure Railway infrastructure. Use when deploying to Railway, managing environment variables, viewing deployment logs, scaling services, or managing volumes.
azure-functions
aj-geddes
Create serverless functions on Azure with triggers, bindings, authentication, and monitoring. Use for event-driven computing without managing infrastructure.
nuxthub-migration
onmax
Use when migrating NuxtHub projects or when user mentions NuxtHub Admin sunset, GitHub Actions deployment removal, self-hosting NuxtHub, or upgrading to v1/nightly. Covers v0.9.X self-hosting (stable) and v1/nightly multi-cloud (experimental, database/blob not ready).
deployment-pipeline-design
wshobson
Design multi-stage CI/CD pipelines with approval gates, security checks, and deployment orchestration. Use when architecting deployment workflows, setting up continuous delivery, or implementing GitOps practices.
terraform-module-library
wshobson
Build reusable Terraform modules for AWS, Azure, and GCP infrastructure following infrastructure-as-code best practices. Use when creating infrastructure modules, standardizing cloud provisioning, or implementing reusable IaC components.