railway-projects
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.
Quick Install
Claude Code
Recommended/plugin add https://github.com/davila7/claude-code-templatesgit clone https://github.com/davila7/claude-code-templates.git ~/.claude/skills/railway-projectsCopy and paste this command in Claude Code to install this skill
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
| Field | Type | Description |
|---|---|---|
name | String | Project name |
description | String | Project description |
isPublic | Boolean | Make project public/private |
prDeploys | Boolean | Enable/disable PR deploys |
botPrEnvironments | Boolean | Enable 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.
GitHub Repository
Related Skills
railway-deployment
MetaThis Claude Skill manages Railway deployments for lifecycle operations and troubleshooting. It enables developers to view logs, redeploy, restart, or remove deployments through Railway CLI commands. Use it for deployment visibility and debugging, but note that deleting services requires the railway-environment skill instead.
railway-database
MetaThis skill adds official Railway database services (Postgres, Redis, MySQL, MongoDB) with pre-configured volumes and connection variables. Use it when developers request to add, connect, or wire up databases in their Railway projects. It specifically handles database services while directing other templates to the separate railway-templates skill.
railway-status
MetaThis skill checks the current deployment status and uptime of Railway projects in the current directory. It's triggered by queries like "railway status," "what's deployed," or questions about deployment status and uptime. Use the separate railway-environment skill for configuration or variable queries instead.
railway-templates
MetaThis skill enables developers to search for and deploy pre-configured services from Railway's template marketplace, such as Ghost, Strapi, and n8n. Use it when you need to quickly add a templated service or find templates for a specific use case like CMS or monitoring. For core databases, the separate railway-database skill is preferred.
