PluginBench
Skill
Pass
Audit score 90

deployment

railwayapp/railway-skills

Manage Railway deployments: view logs, redeploy, restart, or remove without deleting the service.

What is deployment?

This skill handles the full deployment lifecycle on Railway—listing deployments, viewing and filtering logs (deploy and build), redeploying, restarting containers, and removing active deployments. Use it when you need to troubleshoot issues, check deployment status, or control running services.

  • List deployments with status and metadata, optionally filtered by service or environment
  • View deploy and build logs with time-based and text filtering (errors, warnings, patterns)
  • Redeploy the most recent deployment or restart a container without rebuilding
  • Remove the current deployment while keeping the service intact
  • Retrieve logs from specific deployments by ID for debugging failures or crashes

How to install deployment

npx skills add https://github.com/railwayapp/railway-skills --skill deployment
Prerequisites
  • Railway CLI installed and authenticated
  • A Railway project with at least one service
  • Service linked via `railway service` (or specify with `--service` flag)
Claude Code
Cursor
Windsurf
Cline

How to use deployment

  1. 1.Run `railway deployment list --limit 10 --json` to view recent deployments and their IDs
  2. 2.Use `railway logs --lines 100 --json` to fetch deploy logs, or `--build` for build logs
  3. 3.Add `--filter` with query syntax (e.g., `@level:error`) to search for specific errors
  4. 4.Use `--since` and `--until` for time-based filtering (relative like `1h` or ISO 8601 timestamps)
  5. 5.Run `railway redeploy --service <name> -y` to redeploy, or `railway restart --service <name> -y` to restart the container only
  6. 6.Execute `railway down --service <name> -y` to remove the deployment (service remains)

Use cases

Good for
  • Check deployment history and status to find a specific deployment ID for investigation
  • View build logs to diagnose why a deployment failed during the build phase
  • Filter runtime logs for errors and timeouts to troubleshoot application crashes
  • Redeploy after environment variables or config changes without pushing new code
  • Stop a running deployment temporarily while keeping the service definition intact
Who it's for
  • DevOps engineers managing Railway services
  • Backend developers debugging deployment and runtime issues
  • Platform teams monitoring deployment health and logs
  • Anyone troubleshooting build failures or service crashes on Railway

deployment FAQ

What's the difference between 'remove deployment' and 'delete service'?

Remove deployment (`railway down`) stops the current running deployment but keeps the service definition. To delete the service entirely, use the `environment` skill with `isDeleted: true`.

How do I view logs from a failed or in-progress deployment?

By default `railway logs` shows the last successful deployment. Use `--latest` flag to fetch logs from the most recent deployment regardless of status.

Can I filter logs by error level or text?

Yes. Use `--filter` with query syntax like `@level:error` for errors only, or `connection refused` for text search. Combine multiple conditions with `AND`.

What's the difference between redeploy and restart?

`redeploy` rebuilds and restarts the service (use when config changed). `restart` only restarts the container without rebuilding (use when external resources changed but code didn't).

How do I view logs from a specific deployment?

Get the deployment ID from `railway deployment list`, then run `railway logs <deployment-id> --lines 100 --json` for deploy logs or `railway logs --build <deployment-id> --lines 100 --json` for build logs.

Full instructions (SKILL.md)

Source of truth, from railwayapp/railway-skills.


name: deployment description: This skill should be used when the user wants to manage Railway deployments, view logs, or debug issues. Covers deployment lifecycle (remove, stop, redeploy, restart), deployment visibility (list, status, history), and troubleshooting (logs, errors, failures, crashes, why deploy failed). NOT for deleting services - use environment skill with isDeleted for that. allowed-tools: Bash(railway:*)

Deployment Management

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 environment skill with isDeleted: true.

When to Use

  • User says "remove deploy", "take down service", "stop deployment", "railway down"
  • User wants to "redeploy", "restart the service", "restart deployment"
  • User asks to "list deployments", "show deployment history", "deployment status"
  • User asks to "see logs", "show logs", "check errors", "debug issues"

List Deployments

railway deployment list --limit 10 --json

Shows deployment IDs, statuses, and metadata. Use to find specific deployment IDs for logs or debugging.

Specify Service

railway deployment list --service backend --limit 10 --json

View Logs

Deploy Logs

railway logs --lines 100 --json

In non-interactive mode, streaming is auto-disabled and CLI fetches logs then exits.

Build Logs

railway logs --build --lines 100 --json

For debugging build failures or viewing build output.

Logs for Failed/In-Progress Deployments

By default railway logs shows the last successful deployment. Use --latest for current:

railway logs --latest --lines 100 --json

Filter Logs

# 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

Time-Based Filtering

# 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.

Logs from Specific Deployment

Deploy logs:

railway logs <deployment-id> --lines 100 --json

Build logs:

railway 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

Redeploy the most recent deployment:

railway redeploy --service <name> -y

The -y flag skips confirmation. Useful when:

  • Config changed via environment skill
  • Need to restart without new code
  • Previous deploy succeeded but service misbehaving

Restart Container Only

Restart without rebuilding (picks up external resource changes):

railway restart --service <name> -y

Use when external resources (S3 files, config maps) changed but code didn't.

Remove Deployment

Takes down the current deployment. The service remains but has no running deployment.

# 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 environment skill with isDeleted: true.

CLI Options

deployment list

FlagDescription
-s, --service <NAME>Service name or ID
-e, --environment <NAME>Environment name or ID
--limit <N>Max deployments (default 20, max 1000)
--jsonJSON output

logs

FlagDescription
-s, --service <NAME>Service name or ID
-e, --environment <NAME>Environment name or ID
-d, --deploymentShow deploy logs (default, boolean flag)
-b, --buildShow 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)
--latestMost recent deployment (even if failed)
--jsonJSON output
[DEPLOYMENT_ID]Specific deployment (optional)

redeploy

FlagDescription
-s, --service <NAME>Service name or ID
-y, --yesSkip confirmation

restart

FlagDescription
-s, --service <NAME>Service name or ID
-y, --yesSkip confirmation

down

FlagDescription
-s, --service <NAME>Service name or ID
-e, --environment <NAME>Environment name or ID
-y, --yesSkip confirmation

Presenting Logs

When showing logs:

  • Include timestamps
  • Highlight errors and warnings
  • For build failures: show error and suggest fixes
  • For runtime crashes: show stack trace context
  • Summarize patterns (e.g., "15 timeout errors in last 100 logs")

Composability

  • Push new code: Use deploy skill
  • Check service status: Use status skill
  • Fix config issues: Use environment skill
  • Create new service: Use new skill

Error Handling

No Service Linked

No service linked. Run `railway service` to select one.

No Deployments Found

No deployments found. Deploy first with `railway up`.

No Logs Found

Deployment may be too old (log retention limits) or service hasn't produced output.

Related skills

More from railwayapp/railway-skills and the wider catalog.