Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Manage Railway deployments - view logs, redeploy, restart, or remove deployments. Use for deployment lifecycle (remove, stop, redeploy, restart), deployment visibility (list, status, history), and troubleshooting (logs, errors, failures, crashes). NOT for deleting services - use railway-environment skill with isDeleted for that.
.claude/skills/davila7-railway-deployment/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-02 | ✗→✓ | ▲ Improved | 200% | 0% |
| case-04 | ✗→✓ | ▲ Improved | 46% | 0% |
| case-07 | ✗→✓ | ▲ Improved | 23% | 0% |
| case-10 | ✗→✓ | ▲ Improved | -13% | 0% |
| case-11 | ✗→✓ | ▲ Improved | 36% | 0% |
Manage existing Railway deployments: list, view logs, redeploy, or remove.
Important: "Remove deployment" (railway down) stops the current deployment but keeps the service. To delete a service entirely, use the railway-environment skill with isDeleted: true.
bashrailway deployment list --limit 10 --json
Shows deployment IDs, statuses, and metadata. Use to find specific deployment IDs for logs or debugging.
bashrailway deployment list --service backend --limit 10 --json
bashrailway logs --lines 100 --json
In non-interactive mode, streaming is auto-disabled and CLI fetches logs then exits.
bashrailway logs --build --lines 100 --json
For debugging build failures or viewing build output.
By default railway logs shows the last successful deployment. Use --latest for current:
bashrailway logs --latest --lines 100 --json
bash# Errors only railway logs --lines 50 --filter "@level:error" --json # Text search railway logs --lines 50 --filter "connection refused" --json # Combined railway logs --lines 50 --filter "@level:error AND timeout" --json
bash# Logs from last hour railway logs --since 1h --lines 100 --json # Logs between 30 and 10 minutes ago railway logs --since 30m --until 10m --lines 100 --json # Logs from specific timestamp railway logs --since 2024-01-15T10:00:00Z --lines 100 --json
Formats: relative (30s, 5m, 2h, 1d, 1w) or ISO 8601 timestamps.
Deploy logs:
bashrailway logs <deployment-id> --lines 100 --json
Build logs:
bashrailway logs --build <deployment-id> --lines 100 --json
Get deployment ID from railway deployment list.
Note: The deployment ID is a positional argument, NOT --deployment <id>. The --deployment flag is a boolean that selects deploy logs (vs --build for build logs).
Redeploy the most recent deployment:
bashrailway redeploy --service <name> -y
The -y flag skips confirmation. Useful when:
Restart without rebuilding (picks up external resource changes):
bashrailway restart --service <name> -y
Use when external resources (S3 files, config maps) changed but code didn't.
Takes down the current deployment. The service remains but has no running deployment.
bash# Remove deployment for linked service railway down -y # Remove deployment for specific service railway down --service web -y railway down --service api -y
This is what users mean when they say "remove deploy", "take down", or "stop the deployment".
Note: This does NOT delete the service. To delete a service entirely, use the railway-environment skill with isDeleted: true.
| Flag | Description | |------|-------------| | -s, --service <NAME> | Service name or ID | | -e, --environment <NAME> | Environment name or ID | | --limit <N> | Max deployments (default 20, max 1000) | | --json | JSON output |
| Flag | Description | |------|-------------| | -s, --service <NAME> | Service name or ID | | -e, --environment <NAME> | Environment name or ID | | -d, --deployment | Show deploy logs (default, boolean flag) | | -b, --build | Show build logs (boolean flag) | | -n, --lines <N> | Number of lines (required) | | -f, --filter <QUERY> | Filter using query syntax | | --since <TIME> | Start time (relative or ISO 8601) | | --until <TIME> | End time (relative or ISO 8601) | | --latest | Most recent deployment (even if failed) | | --json | JSON output | | [DEPLOYMENT_ID] | Specific deployment (optional) |
| Flag | Description | |------|-------------| | -s, --service <NAME> | Service name or ID | | -y, --yes | Skip confirmation |
| Flag | Description | |------|-------------| | -s, --service <NAME> | Service name or ID | | -y, --yes | Skip confirmation |
| Flag | Description | |------|-------------| | -s, --service <NAME> | Service name or ID | | -e, --environment <NAME> | Environment name or ID | | -y, --yes | Skip confirmation |
When showing logs:
No service linked. Run `railway service` to select one.No deployments found. Deploy first with `railway up`.Deployment may be too old (log retention limits) or service hasn't produced output.
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→fail | 4,484 | 5,008 | +12% | 1 | 1 | 0% | 256 | 1,812 | +608% | 0 | 0 | — |
case-02 | fail→pass | 3,240 | 1,829 | -44% | 1 | 1 | 0% | 574 | 1,724 | +200% | 0 | 0 | — |
case-03 | fail→fail | 7,939 | 2,349 | -70% | 1 | 1 | 0% | 1,390 | 1,871 | +35% | 0 | 0 | — |
case-04 | fail→pass | 8,455 | 5,087 | -40% | 1 | 1 | 0% | 1,548 | 2,262 | +46% | 0 | 0 | — |
case-05 | pass→pass | 5,206 | 2,769 | -47% | 1 | 1 | 0% | 936 | 1,994 | +113% | 0 | 0 | — |
case-06 | pass→pass | 7,323 | 4,690 | -36% | 1 | 1 | 0% | 1,123 | 2,217 | +97% | 0 | 0 | — |
case-07 | fail→pass | 9,404 | 3,069 | -67% | 1 | 1 | 0% | 1,679 | 2,064 | +23% | 0 | 0 | — |
case-08 | pass→pass | 5,106 | 2,812 | -45% | 1 | 1 | 0% | 866 | 1,986 | +129% | 0 | 0 | — |
case-09 | pass→pass | 3,789 | 1,931 | -49% | 1 | 1 | 0% | 600 | 1,797 | +200% | 0 | 0 | — |
case-10 | fail→pass | 11,879 | 3,393 | -71% | 1 | 1 | 0% | 2,327 | 2,016 | -13% | 0 | 0 | — |
case-11 | fail→pass | 9,861 | 4,024 | -59% | 1 | 1 | 0% | 1,571 | 2,141 | +36% | 0 | 0 | — |
case-12 | fail→pass | 9,454 | 3,153 | -67% | 1 | 1 | 0% | 1,456 | 2,033 | +40% | 0 | 0 | — |
case-13 | fail→pass | 4,800 | 3,278 | -32% | 1 | 1 | 0% | 915 | 2,175 | +138% | 0 | 0 | — |
case-14 | fail→pass | 9,593 | 2,007 | -79% | 1 | 1 | 0% | 1,746 | 1,817 | +4% | 0 | 0 | — |
case-15 | fail→pass | 9,091 | 3,155 | -65% | 1 | 1 | 0% | 1,558 | 2,026 | +30% | 0 | 0 | — |
case-16 | fail→pass | 4,279 | 2,580 | -40% | 1 | 1 | 0% | 672 | 1,906 | +184% | 0 | 0 | — |
case-17 | pass→pass | 10,164 | 3,119 | -69% | 1 | 1 | 0% | 1,747 | 1,940 | +11% | 0 | 0 | — |
case-18 | pass→pass | 5,795 | 2,847 | -51% | 1 | 1 | 0% | 929 | 1,977 | +113% | 0 | 0 | — |
case-19 | pass→pass | 4,300 | 2,718 | -37% | 1 | 1 | 0% | 698 | 1,905 | +173% | 0 | 0 | — |
case-20 | fail→fail | 9,536 | 5,579 | -41% | 1 | 1 | 0% | 1,744 | 1,878 | +8% | 0 | 0 | — |
case-21 | fail→pass | 12,517 | 2,940 | -77% | 1 | 1 | 0% | 2,041 | 2,045 | +0% | 0 | 0 | — |
case-22 | fail→pass | 9,656 | 3,323 | -66% | 1 | 1 | 0% | 1,611 | 2,092 | +30% | 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, and 20 counted toward the lift figure. The other 2 produced results that are not comparable between the two arms, so they are excluded from the headline rather than averaged into it. The headline lift of +55 percentage points is the difference between those two pass rates over the 20 comparable cases. 1 case got worse with the skill loaded, and it is included in that figure.
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.