AgentSkillsCN

railway-domain

为 Railway 服务添加、查看或移除域名。适用于用户希望添加域名、生成 Railway 域名、查询当前域名、获取服务的 URL,或移除域名时使用。

SKILL.md
--- frontmatter
name: railway-domain
description: 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.
version: 1.0.0
author: Railway
license: MIT
tags: [Railway, Domain, DNS, URL, Custom Domain, Infrastructure]
dependencies: [railway-cli]
allowed-tools: Bash(railway:*)

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):

bash
railway domain --json

For a specific service:

bash
railway domain --json --service backend

Response

Returns the generated domain URL. Service must have a deployment.

Add Custom Domain

bash
railway domain example.com --json

Response

Returns required DNS records:

json
{
  "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:

graphql
query domains($envId: String!) {
  environment(id: $envId) {
    config(decryptVariables: false)
  }
}

Domains are in config.services.<serviceId>.networking:

  • serviceDomains - Railway-provided domains
  • customDomains - User-provided domains

Remove Domain

Use railway-environment skill to remove domains:

Remove custom domain

json
{
  "services": {
    "<serviceId>": {
      "networking": {
        "customDomains": { "<domainId>": null }
      }
    }
  }
}

Remove railway domain

json
{
  "services": {
    "<serviceId>": {
      "networking": {
        "serviceDomains": { "<domainId>": null }
      }
    }
  }
}

Then use railway-environment skill to apply and commit the change.

CLI Options

FlagDescription
[DOMAIN]Custom domain to add (omit for railway domain)
-p, --port <PORT>Port to connect
-s, --service <NAME>Target service (defaults to linked)
--jsonJSON 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

code
No service linked. Use --service flag or run `railway service` to select one.

Domain Already Exists

code
Service already has a railway-provided domain. Maximum 1 per service.

No Deployment

code
Service has no deployment. Deploy first with `railway up`.

Invalid Domain

code
Invalid domain format. Use a valid domain like "example.com" or "api.example.com".