Back to Skills

railway-projects

davila7
Updated Today
34 views
15,516
1,344
15,516
View on GitHub
OtherRailwayProjectsWorkspaceManagementSettingsInfrastructure

About

This Claude Skill manages Railway projects through CLI commands, allowing developers to list, switch between, and configure project settings. It handles tasks like renaming projects, toggling PR deploys, and changing project visibility between public and private. Use it when working with Railway project administration across workspaces.

Documentation

Railway Project Management

List, switch, and configure Railway projects.

When to Use

  • User asks "show me all my projects" or "what projects do I have"
  • User asks about projects across workspaces
  • User asks "what workspaces do I have"
  • User wants to switch to a different project
  • User asks to rename a project
  • User wants to enable/disable PR deploys
  • User wants to make a project public or private
  • User asks about project settings

List Projects

The railway list --json output can be very large. Run in a subagent and return only essential fields:

  • Project: id, name
  • Workspace: id, name
  • Services: name (optional, if user needs service context)
railway list --json

Extract and return a simplified summary, not the full JSON.

List Workspaces

railway whoami --json

Returns user info including all workspaces the user belongs to.

Switch Project

Link a different project to the current directory:

railway link -p <project-id-or-name>

Or interactively:

railway link

After switching, use railway-status skill to see project details.

Update Project

Modify project settings via GraphQL API.

Get Project ID

railway status --json

Extract project.id from the response.

Update Mutation

bash <<'SCRIPT'
${CLAUDE_PLUGIN_ROOT}/skills/lib/railway-api.sh \
  'mutation updateProject($id: String!, $input: ProjectUpdateInput!) {
    projectUpdate(id: $id, input: $input) { name prDeploys isPublic botPrEnvironments }
  }' \
  '{"id": "PROJECT_ID", "input": {"name": "new-name"}}'
SCRIPT

ProjectUpdateInput Fields

FieldTypeDescription
nameStringProject name
descriptionStringProject description
isPublicBooleanMake project public/private
prDeploysBooleanEnable/disable PR deploys
botPrEnvironmentsBooleanEnable Dependabot/Renovate PR environments

Examples

Rename project:

${CLAUDE_PLUGIN_ROOT}/skills/lib/railway-api.sh '<mutation>' '{"id": "uuid", "input": {"name": "new-name"}}'

Enable PR deploys:

${CLAUDE_PLUGIN_ROOT}/skills/lib/railway-api.sh '<mutation>' '{"id": "uuid", "input": {"prDeploys": true}}'

Make project public:

${CLAUDE_PLUGIN_ROOT}/skills/lib/railway-api.sh '<mutation>' '{"id": "uuid", "input": {"isPublic": true}}'

Multiple fields:

${CLAUDE_PLUGIN_ROOT}/skills/lib/railway-api.sh '<mutation>' '{"id": "uuid", "input": {"name": "new-name", "prDeploys": true}}'

Composability

  • View project details: Use railway-status skill
  • Create new project: Use railway-new skill
  • Manage environments: Use railway-environment skill

Error Handling

Not Authenticated

Not authenticated. Run `railway login` first.

No Projects

No projects found. Create one with `railway init`.

Permission Denied

You don't have permission to modify this project. Check your Railway role.

Project Not Found

Project "foo" not found. Run `railway list` to see available projects.

Quick Install

/plugin add https://github.com/davila7/claude-code-templates/tree/main/projects

Copy and paste this command in Claude Code to install this skill

GitHub 仓库

davila7/claude-code-templates
Path: cli-tool/components/skills/railway/projects
anthropicanthropic-claudeclaudeclaude-code

Related Skills