Railway Templates

SkillSearch

The railway claude skill is a search and deployment skill for Railway's template marketplace. It lets an agent find ready-made service templates and deploy them, so a user can add tools such as Ghost, Strapi, n8n, Minio, or Uptime Kuma without building the setup by hand. For databases like Postgres, Redis, MySQL, or MongoDB, the railway-database skill is the better fit.

Use Railway Templates in Claude, ChatGPT or Ahel Desktop

Free. Sign in, add Railway Templates and connect your AI. About a minute.

Also: Claude Code · Cursor · Codex

Then ask your AI: use the Railway Templates skill

Details

Instructions available. Your AI can read the instructions. Execution depends on the setup they require.

Have an AI agent that can load skills and reach Railway.

Railway TemplatesStart free

What your AI can do with it

  • Search Railway's template marketplace for a use case
  • Deploy a chosen template as a service
  • Find templates for tools like Ghost, Strapi, and n8n
  • Locate templates for Minio and Uptime Kuma
  • Point database needs to the railway-database skill

Getting started

  1. Have an AI agent that can load skills and reach Railway.
  2. Add the railway-templates skill to that agent's available skills.
  3. Give the agent a request, such as finding a template for a specific tool or use case.
  4. Review the templates the agent finds and confirm which one to deploy.

What this skill tells your AI

The instructions your AI receives, as published by davila7/claude-code-templates in cli-tool/components/skills/railway/templates/SKILL.md and read by ahel’s review.

Search and deploy services from Railway's template marketplace.

When to Use

  • User asks to "add Postgres", "add Redis", "add a database"
  • User asks to "add Ghost", "add Strapi", "add n8n", or any other service
  • User wants to find templates for a use case (e.g., "CMS", "storage", "monitoring")
  • User asks "what templates are available?"
  • User wants to deploy a pre-configured service

Common Template Codes

CategoryTemplateCode
DatabasesPostgreSQLpostgres
Redisredis
MySQLmysql
MongoDBmongodb
CMSGhostghost
Strapistrapi
StorageMiniominio
Automationn8nn8n
MonitoringUptime Kumauptime-kuma

For other templates, use the search query below.

Prerequisites

Get project context:

railway status --json

Extract:

  • id - project ID
  • environments.edges[0].node.id - environment ID

Get workspace ID:

bash <<'SCRIPT'
${CLAUDE_PLUGIN_ROOT}/skills/lib/railway-api.sh \
  'query getWorkspace($projectId: String!) {
    project(id: $projectId) { workspaceId }
  }' \
  '{"projectId": "PROJECT_ID"}'
SCRIPT

Search Templates

List available templates with optional filters:

bash <<'SCRIPT'
${CLAUDE_PLUGIN_ROOT}/skills/lib/railway-api.sh \
  'query templates($first: Int, $verified: Boolean) {
    templates(first: $first, verified: $verified) {
      edges {
        node {
          name
          code
          description
          category
        }
      }
    }
  }' \
  '{"first": 20, "verified": true}'
SCRIPT

Arguments

ArgumentTypeDescription
firstIntNumber of results (max ~100)
verifiedBooleanOnly verified templates
recommendedBooleanOnly recommended templates

Rate Limit

10 requests per minute. Don't spam searches.

Get Template Details

Fetch a specific template by code:

bash <<'SCRIPT'
${CLAUDE_PLUGIN_ROOT}/skills/lib/railway-api.sh \
  'query template($code: String!) {
    template(code: $code) {
      id
      name
      description
      serializedConfig
    }
  }' \
  '{"code": "postgres"}'
SCRIPT

Returns:

  • id - template ID (needed for deployment)
  • serializedConfig - service configuration (needed for deployment)

Deploy Template

Step 1: Fetch Template

bash <<'SCRIPT'
${CLAUDE_PLUGIN_ROOT}/skills/lib/railway-api.sh \
  'query template($code: String!) {
    template(code: $code) {
      id
      serializedConfig
    }
  }' \
  '{"code": "postgres"}'
SCRIPT

Step 2: Deploy to Project

bash <<'SCRIPT'
${CLAUDE_PLUGIN_ROOT}/skills/lib/railway-api.sh \
  'mutation deployTemplate($input: TemplateDeployV2Input!) {
    templateDeployV2(input: $input) {
      projectId
      workflowId
    }
  }' \
  '{
    "input": {
      "templateId": "TEMPLATE_ID_FROM_STEP_1",
      "serializedConfig": SERIALIZED_CONFIG_FROM_STEP_1,
      "projectId": "PROJECT_ID",
      "environmentId": "ENVIRONMENT_ID",
      "workspaceId": "WORKSPACE_ID"
    }
  }'
SCRIPT

Important: serializedConfig is the exact JSON object from the template query, not a string.

Composability

  • Connect services: Use railway-environment skill to add variable references
  • View deployed service: Use railway-service skill
  • Check logs: Use railway-deployment skill
  • Add domains: Use railway-domain skill

Signals

GitHub stars
32k
Forks
4k
Last commit
Oct 2026

Questions

What kinds of services can it deploy from templates?
Templates for tools such as Ghost, Strapi, n8n, Minio, and Uptime Kuma, plus other services in Railway's template marketplace.
Does it handle databases like Postgres or Redis?
No. For databases such as Postgres, Redis, MySQL, or MongoDB, use the railway-database skill instead.
Can it search templates for a specific use case?
Yes. It searches Railway's template marketplace so the agent can find templates that match the use case described.
Does it deploy the template after finding it?
Yes. It can deploy a service from a template once the template has been chosen.
Advanced
Item type
skill
Key
railway-templates
Source
github.com/davila7/claude-code-templates