Install any skill in seconds. Free to start, no credit card required.
Get Started Free →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.
.claude/skills/davila7-railway-domain/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-01 | ✗→✓ | ▲ Improved | 13% | 0% |
| case-02 | ✗→✓ | ▲ Improved | -43% | 0% |
| case-03 | ✗→✓ | ▲ Improved | 86% | 0% |
| case-04 | ✗→✓ | ▲ Improved | -54% | 0% |
| case-05 | ✗→✓ | ▲ Improved | -17% | 0% |
Add, view, or remove domains for Railway services.
Generate a railway-provided domain (max 1 per service):
bashrailway domain --json
For a specific service:
bashrailway domain --json --service backend
Returns the generated domain URL. Service must have a deployment.
bashrailway domain example.com --json
Returns required DNS records:
json{ "domain": "example.com", "dnsRecords": [ { "type": "CNAME", "host": "@", "value": "..." } ] }
Tell user to add these records to their DNS provider.
Use railway-environment skill to see configured domains, or query directly:
graphqlquery domains($envId: String!) { environment(id: $envId) { config(decryptVariables: false) } }
Domains are in config.services.<serviceId>.networking:
serviceDomains - Railway-provided domainscustomDomains - User-provided domainsUse railway-environment skill to remove domains:
json{ "services": { "<serviceId>": { "networking": { "customDomains": { "<domainId>": null } } } } }
json{ "services": { "<serviceId>": { "networking": { "serviceDomains": { "<domainId>": null } } } } }
Then use railway-environment skill to apply and commit the change.
| 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 |
No service linked. Use --service flag or run `railway service` to select one.Service already has a railway-provided domain. Maximum 1 per service.Service has no deployment. Deploy first with `railway up`.Invalid domain format. Use a valid domain like "example.com" or "api.example.com".| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→pass | 3,946 | 1,770 | -55% | 1 | 1 | 0% | 721 | 816 | +13% | 0 | 0 | — |
case-02 | fail→pass | 8,905 | 4,545 | -49% | 1 | 1 | 0% | 1,519 | 865 | -43% | 0 | 0 | — |
case-03 | fail→pass | 7,989 | 10,102 | +26% | 1 | 1 | 0% | 1,396 | 2,591 | +86% | 0 | 0 | — |
case-04 | fail→pass | 11,814 | 2,039 | -83% | 1 | 1 | 0% | 2,090 | 957 | -54% | 0 | 0 | — |
case-05 | fail→pass | 8,310 | 3,330 | -60% | 1 | 1 | 0% | 1,461 | 1,216 | -17% | 0 | 0 | — |
case-06 | fail→pass | 6,794 | 5,519 | -19% | 1 | 1 | 0% | 1,253 | 1,049 | -16% | 0 | 0 | — |
case-07 | fail→pass | 10,655 | 3,298 | -69% | 1 | 1 | 0% | 1,842 | 1,270 | -31% | 0 | 0 | — |
case-08 | pass→pass | 9,848 | 2,613 | -73% | 1 | 1 | 0% | 1,693 | 1,137 | -33% | 0 | 0 | — |
case-09 | fail→pass | 8,475 | 2,466 | -71% | 1 | 1 | 0% | 1,489 | 1,173 | -21% | 0 | 0 | — |
case-10 | fail→pass | 10,022 | 3,393 | -66% | 1 | 1 | 0% | 1,653 | 1,311 | -21% | 0 | 0 | — |
case-11 | pass→pass | 7,318 | 2,743 | -63% | 1 | 1 | 0% | 1,253 | 1,148 | -8% | 0 | 0 | — |
case-12 | pass→pass | 7,615 | 3,396 | -55% | 1 | 1 | 0% | 1,269 | 1,186 | -7% | 0 | 0 | — |
case-13 | pass→pass | 9,812 | 3,946 | -60% | 1 | 1 | 0% | 1,312 | 1,282 | -2% | 0 | 0 | — |
case-14 | pass→pass | 10,212 | 3,871 | -62% | 1 | 1 | 0% | 1,799 | 1,293 | -28% | 0 | 0 | — |
case-15 | pass→pass | 2,946 | 2,304 | -22% | 1 | 1 | 0% | 423 | 976 | +131% | 0 | 0 | — |
case-16 | pass→pass | 2,590 | 1,407 | -46% | 1 | 1 | 0% | 337 | 852 | +153% | 0 | 0 | — |
case-17 | fail→pass | 8,423 | 1,497 | -82% | 1 | 1 | 0% | 1,281 | 868 | -32% | 0 | 0 | — |
case-18 | fail→pass | 11,781 | 3,261 | -72% | 1 | 1 | 0% | 1,851 | 1,143 | -38% | 0 | 0 | — |
case-19 | fail→pass | 9,272 | 2,295 | -75% | 1 | 1 | 0% | 1,703 | 1,037 | -39% | 0 | 0 | — |
case-20 | pass→pass | 7,750 | 4,941 | -36% | 1 | 1 | 0% | 1,325 | 1,468 | +11% | 0 | 0 | — |
case-21 | pass→pass | 8,548 | 4,732 | -45% | 1 | 1 | 0% | 1,361 | 1,575 | +16% | 0 | 0 | — |
case-22 | pass→pass | 8,732 | 4,566 | -48% | 1 | 1 | 0% | 1,416 | 1,468 | +4% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted. The headline lift of +55 percentage points is the difference between those two pass rates over the 22 comparable cases.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.