Skip to main content List, switch, and configure Railway projects. Use when user wants to list all projects, switch projects, rename a project, enable/disable PR deploys, make a project public/private, or modify project settings.
npx skills add davila7/claude-code-templates --skill railway-projects Bash(railway:*) anthropic anthropic-claude claude claude-code
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 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>
After switching, use railway-status skill to see project details.
Update Project Modify project settings via GraphQL API.
Get Project ID 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 nameString Project name descriptionString Project description isPublicBoolean Make project public/private prDeploysBoolean Enable/disable PR deploys botPrEnvironmentsBoolean Enable Dependabot/Renovate PR environments
Examples ${CLAUDE_PLUGIN_ROOT}/skills/lib/railway-api.sh '<mutation>' '{"id": "uuid", "input": {"name": "new-name"}}'
${CLAUDE_PLUGIN_ROOT}/skills/lib/railway-api.sh '<mutation>' '{"id": "uuid", "input": {"prDeploys": true}}'
${CLAUDE_PLUGIN_ROOT}/skills/lib/railway-api.sh '<mutation>' '{"id": "uuid", "input": {"isPublic": true}}'
${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.
Create or update AgentSkills. Use when designing, structuring, or packaging skills with scripts, references, and assets.
Create or update AgentSkills. Use when designing, structuring, or packaging skills with scripts, references, and assets.
Set up and use 1Password CLI (op). Use when installing the CLI, enabling desktop app integration, signing in (single or multi-account), or reading/injecting/running secrets via op.
CLI to manage emails via IMAP/SMTP. Use `himalaya` to list, read, write, reply, forward, search, and organize emails from the terminal. Supports multiple accounts and message composition with MML (MIME Meta Language).
Create or update AgentSkills. Use when designing, structuring, or packaging skills with scripts, references, and assets.
Create or update AgentSkills. Use when designing, structuring, or packaging skills with scripts, references, and assets.
Set up and use 1Password CLI (op). Use when installing the CLI, enabling desktop app integration, signing in (single or multi-account), or reading/injecting/running secrets via op.
CLI to manage emails via IMAP/SMTP. Use `himalaya` to list, read, write, reply, forward, search, and organize emails from the terminal. Supports multiple accounts and message composition with MML (MIME Meta Language).