railway
Original:🇺🇸 English
Translated
Manage Railway deployments, view logs, check status, and manage environment variables. Use when working with Railway hosting, deployments, or infrastructure.
1installs
Added on
NPX Install
npx skill4agent add mshumer/claude-skill-railway railwayTags
Translated version includes tags in frontmatterSKILL.md Content
View Translation Comparison →Railway CLI Skill
Manage Railway deployments and infrastructure using the Railway CLI.
Pre-flight Check
Current status: !
railway status 2>&1 || echo "NOT_LINKED"Auto-Recovery
Before running any command, check the pre-flight status above:
- If "command not found": Run
npm install -g @railway/cli - If "Not logged in": Tell user to run manually (requires browser)
railway login - If "NOT_LINKED" or "No project linked":
- Run to show available projects
railway list - Ask user which project to link, or auto-detect from package.json name
- Link with
railway link -p <project-id>
- Run
Command Routing
Based on , execute the appropriate workflow:
$ARGUMENTS"status" (default when no args)
bash
railway status
railway domain
railway deployment list --limit 1Report: project info, URL, and last deployment status/time.
"logs" [options]
Parse natural language options:
- "errors" →
--filter "@level:error" - "last hour" / "1h" →
--since 1h - "build" →
--build - Number like "100" →
--lines 100
Default:
railway logs --lines 30Summarize output - highlight errors, warnings, or interesting patterns.
"deploy" / "up"
bash
railway upThen wait and check:
- Run to get status
railway deployment list --limit 1 - If SUCCESS, fetch the domain URL and verify it responds:
curl -s -o /dev/null -w "%{http_code}" <domain> - If FAILED, show build logs:
railway logs --build --lines 50
"redeploy"
bash
railway redeployRedeploys without rebuilding. Useful for env var changes.
"restart"
bash
railway restartRestarts the service without rebuild or redeploy.
"vars" / "env" [action]
bash
railway variablesIMPORTANT: When displaying variables, redact sensitive values:
- API keys: show first 8 chars + "..."
- Passwords: show "********"
- Tokens: show first 8 chars + "..."
For setting:
For deleting: (ask for confirmation first!)
railway variables set KEY=valuerailway variables delete KEY"deployments" / "history"
bash
railway deployment list --limit 10Format as a table with: ID (short), Status, Time ago, Commit message (truncated)
"domain"
bash
railway domainShow the public URL. If none exists, offer to create one.
"health"
bash
railway domainThen curl the domain to check HTTP status:
bash
curl -s -o /dev/null -w "%{http_code}" -m 10 <domain-url>Report if healthy (2xx), unhealthy, or unreachable.
"open"
bash
railway openOpens the Railway dashboard in browser.
"switch <project-name>"
Switch to a different Railway project by name (fuzzy match).
bash
# List all projects
railway listFind the project ID that matches the name, then:
bash
railway link -p <project-id>Confirm the switch with .
railway status"db" / "connect"
Connect to the project's database shell (Postgres, MongoDB, Redis, etc.)
bash
railway connectIf multiple databases exist, Railway will prompt to select one.
"link"
List available projects and link one:
bash
railway listShow projects in a numbered list. Ask user which to link, then:
bash
railway link -p <project-id>Safety Guards
Before destructive operations, ask for confirmation:
- - removes deployment
railway down - - removes env var
railway variables delete - - unlinks project
railway unlink
Format: "This will [action]. Are you sure? (y/n)"
Response Format
Always provide:
- Summary: One-line status (✓ success / ✗ failure / ⚠ warning)
- Details: Relevant information in a clean table or list
- URL: Public URL if applicable
- Next steps: If something failed, suggest how to fix it
Example Responses
Status check:
✓ MyApp is deployed and healthy
| Project | MyApp |
| Environment | production |
| Service | MyApp |
| URL | https://myapp-production.up.railway.app |
| Last deploy | 2 hours ago (SUCCESS) |After deploy:
✓ Deployment successful
Build completed in 45s
URL: https://myapp-production.up.railway.app
Health check: 200 OKOn error:
✗ Deployment failed
Build error at line 23: Module not found 'xyz'
Suggested fix: Run `npm install xyz` and redeploy