mshumer/claude-skill-railway · Archived

railway

Manage Railway deployments, view logs, check status, and manage environment variables. Use when working with Railway hosting, deployments, or infrastructure.

First seen Jan 22, 2026

Installation

$ npx skills add mshumer/claude-skill-railway --skill railway

Stronger alternatives

This repository is archived — consider an actively maintained alternative.

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Repository health

Stars 28
License MIT
Default branch main
Open issues 0
Status Archived

Skill metadata

Parsed from SKILL.md frontmatter.

Allowed toolsBash, WebFetch

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 4,699 B
  • docs SUMMARY.md 172 B

History

  1. First seen on skills.sh
  2. First recorded snapshot · 153 installs

SKILL.md

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:

  1. If "command not found": Run npm install -g @railway/cli
  2. If "Not logged in": Tell user to run railway login manually (requires browser)
  3. If "NOT_LINKED" or "No project linked":

- Run railway list to show available projects - Ask user which project to link, or auto-detect from package.json name - Link with railway link -p <project-id>

Command Routing

Based on $ARGUMENTS, execute the appropriate workflow:

"status" (default when no args)

railway status
railway domain
railway deployment list --limit 1

Report: 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 30

Summarize output - highlight errors, warnings, or interesting patterns.

"deploy" / "up"

railway up

Then wait and check:

  1. Run railway deployment list --limit 1 to get status
  2. If SUCCESS, fetch the domain URL and verify it responds: curl -s -o /dev/null -w "%{http_code}" <domain>
  3. If FAILED, show build logs: railway logs --build --lines 50

"redeploy"

railway redeploy

Redeploys without rebuilding. Useful for env var changes.

"restart"

railway restart

Restarts the service without rebuild or redeploy.

"vars" / "env" [action]

railway variables

IMPORTANT: When displaying variables, redact sensitive values:

  • API keys: show first 8 chars + "..."
  • Passwords: show "********"
  • Tokens: show first 8 chars + "..."

For setting: railway variables set KEY=value For deleting: railway variables delete KEY (ask for confirmation first!)

"deployments" / "history"

railway deployment list --limit 10

Format as a table with: ID (short), Status, Time ago, Commit message (truncated)

"domain"

railway domain

Show the public URL. If none exists, offer to create one.

"health"

railway domain

Then curl the domain to check HTTP status:

curl -s -o /dev/null -w "%{http_code}" -m 10 <domain-url>

Report if healthy (2xx), unhealthy, or unreachable.

"open"

railway open

Opens the Railway dashboard in browser.

"switch <project-name>"

Switch to a different Railway project by name (fuzzy match).

# List all projects
railway list

Find the project ID that matches the name, then:

railway link -p <project-id>

Confirm the switch with railway status.

"db" / "connect"

Connect to the project's database shell (Postgres, MongoDB, Redis, etc.)

railway connect

If multiple databases exist, Railway will prompt to select one.

"link"

List available projects and link one:

railway list

Show projects in a numbered list. Ask user which to link, then:

railway link -p <project-id>

Safety Guards

Before destructive operations, ask for confirmation:

  • railway down - removes deployment
  • railway variables delete - removes env var
  • railway unlink - unlinks project

Format: "This will [action]. Are you sure? (y/n)"

Response Format

Always provide:

  1. Summary: One-line status (✓ success / ✗ failure / ⚠ warning)
  2. Details: Relevant information in a clean table or list
  3. URL: Public URL if applicable
  4. 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 OK

On error:

✗ Deployment failed

Build error at line 23: Module not found 'xyz'

Suggested fix: Run `npm install xyz` and redeploy