api-integration
Use this skill when the user says 'API integration', 'connect APIs', 'sync data', 'data mapping', 'rate limiting', or needs…
Use this skill when the user says 'deploy to Railway', 'Railway setup', 'railway-deploy', or needs to deploy a Node.js, Python, or Docker application to Railway with environment variables, custom domains, and monitoring. Do NOT use for Netlify, Vercel, or Hetzner deployments.
$ npx -y skills add cwinvestments/memstack --skill railway-deploy --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/railway-deployContext preview
The summary Claude sees to decide when to auto-load this skill.
Use this skill when the user says 'deploy to Railway', 'Railway setup', 'railway-deploy', or needs to deploy a Node.js, Python, or Docker application to Railway with environment variables, custom domains, and monitoring. Do NOT use for Netlify, Vercel, or Hetzner deployments.
name: memstack-deployment-railway-deploy description: "Use this skill when the user says 'deploy to Railway', 'Railway setup', 'railway-deploy', or needs to deploy a Node.js, Python, or Docker application to Railway with environment variables, custom domains, and monitoring. Do NOT use for Netlify, Vercel, or Hetzner deployments." version: 1.0.0 license: "Proprietary, MemStack™ Pro by CW Affiliate Investments LLC. See LICENSE.txt"
*Validates project configuration, environment variables, and deployment readiness before pushing to Railway.*
When this skill activates, output:
`🚂 Railway Deploy: Running pre-flight checks...`
Then execute the protocol below.
| Context | Status | |---------|--------| | User says "deploy to railway" or "railway deploy" | ACTIVE | | User says "ship it" or "deploy backend" with a Railway project | ACTIVE | | Preparing a backend/fullstack app for production | ACTIVE | | Deploying to Netlify, Vercel, or other non-Railway platform | DORMANT | | Discussing Railway pricing or features generally | DORMANT |
| Trap | Reality Check | |------|---------------| | "I'll just `railway up` and see what happens" | Pre-flight catches 90% of deploy failures. Check first. | | "Environment vars are probably fine" | Missing vars are the #1 cause of Railway deploy failures. Verify every one. | | "It works locally so it'll work on Railway" | localhost URLs, SQLite paths, and file:// references all break in production. | | "I'll fix the Dockerfile later" | Railway's nixpacks auto-detect fails on monorepos and custom setups. Define build explicitly. | | "The database connection works" | Railway internal networking uses `*.railway.internal` hostnames. External URLs add latency and cost. |
Identify the project framework and runtime:
# Check for framework indicators ls package.json pyproject.toml requirements.txt Cargo.toml go.mod 2>/dev/null
| Indicator | Project Type | |-----------|-------------| | `package.json` with `next` | Next.js | | `package.json` with `express`/`fastify`/`hono` | Node.js API | | `pyproject.toml` or `requirements.txt` | Python (Django/Flask/FastAPI) | | `Cargo.toml` | Rust | | `go.mod` | Go |
Report: `Detected: [type] project`
Verify Railway can build the project:
# Check for explicit build configuration ls Dockerfile Procfile nixpacks.toml railway.toml 2>/dev/null
| File | Purpose | Required? | |------|---------|-----------| | `Dockerfile` | Explicit container build | Recommended for complex projects | | `Procfile` | Process start command | Optional if start script exists | | `nixpacks.toml` | Nixpacks build config | Optional: auto-detected | | `railway.toml` | Railway-specific settings | Optional: build/deploy overrides |
If none exist, check that nixpacks can auto-detect:
**Flag if missing:** No build configuration found. Recommend adding `railway.toml` or `Dockerfile`.
Cross-reference what the app needs vs what Railway has:
# Find required env vars cat .env.example .env.sample 2>/dev/null | grep -v '^#' | grep '=' | cut -d= -f1
Check for these common categories:
| Category | Variables to Verify | |----------|-------------------| | Database | `DATABASE_URL`, `POSTGRES_URL`, `REDIS_URL`, `MONGODB_URI` | | Auth | `JWT_SECRET`, `SESSION_SECRET`, `NEXTAUTH_SECRET`, `NEXTAUTH_URL` | | External APIs | `STRIPE_SECRET_KEY`, `SENDGRID_API_KEY`, `AWS_ACCESS_KEY_ID` | | App Config | `NODE_ENV=production`, `PORT` (Railway sets this automatically) | | URLs | `FRONTEND_URL`, `BACKEND_URL`, `CORS_ORIGIN` |
**Output:** List each variable with status:
**Remind user:** "Set these in Railway dashboard → Variables tab. Never commit actual values."
# Node.js cat package.json | grep -A2 '"scripts"' | grep -E '"(build|start|dev)"' # Python cat Procfile 2>/dev/null || cat pyproject.toml 2>/dev/null | grep -A5 '\[tool.poetry.scripts\]'
Verify:
**Flag if:** Start command uses hardcoded port (e.g., `app.listen(3000)` without PORT env fallback).
If the project uses a database:
# Search for connection patterns grep -r "localhost:5432\|localhost:3306\|localhost:6379\|127.0.0.1" --include="*.ts" --include="*.js" --include="*.py" --include="*.env*" .
Railway internal networking rules:
**Flag if:** Any hardcoded `localhost` or `127.0.0.1` database URLs found.
# Search for common health check patterns grep -rn "\/health\|\/healthz\|\/api\/health\|\/readyz" --include="*.ts" --include="*.js" --include="*.py" .
If no health endpoint exists, recommend adding one:
// Express/Fastify pattern
app.get('/health', (req, res) => {
res.status(200).json({ status: 'ok', timestamp: new Date().toISOString() });
});Configure in Railway: Settings → Deploy → Health Check Path → `/health`
The structured skill framework for Claude Code: 131 professional skills for deployment, security, databases, content, marketing, and more. Skills activate automatically when you need them. Say "deploy this to Railway" and the right skill loads on demand.
Use this skill when the user says 'API integration', 'connect APIs', 'sync data', 'data mapping', 'rate limiting', or needs…
Use this skill when the user says 'content pipeline', 'content automation', 'auto-publish', 'repurpose content', 'multi-platform…
Use this skill when the user says 'cron job', 'scheduled task', 'run every', 'cron expression', 'recurring job', or needs…
Use when the user says 'what MCP servers', 'find an MCP for', 'hosted MCP', 'list MCP servers', 'MCP catalog', 'available MCP…
Use this skill when the user says 'n8n workflow', 'build a workflow', 'automation workflow', 'connect services', or needs visual…
Use this skill when the user says 'webhook', 'webhook handler', 'webhook endpoint', 'receive events', 'HMAC verification',…