railway-to-createos
Migrate Node.js, Python, Go, Ruby, and other applications from Railway to CreateOS. Parses railway.json and railway.toml, maps environment variables per service, detects framework and build settings, and deploys to CreateOS via the CreateOS MCP server. Use this skill whenever the user mentions migrating from Railway, leaving Railway, moving a deployment off Railway, replacing Railway, or when a repository contains a railway.json or railway.toml file and the user wants to deploy elsewhere. Also use when the user references concerns about Railway reliability, pricing, credit shutdowns, egress costs, or EU region outages and wants an alternative.
What this skill does
# Railway → CreateOS Migration This skill migrates a project currently deployed on Railway to CreateOS. It reads the existing Railway configuration, translates it into a CreateOS project, provisions environments and environment variables, and triggers the first deployment — all through the CreateOS MCP server. --- ## When to use this skill Activate this skill when any of the following is true: - The user explicitly asks to migrate, move, or deploy from Railway to CreateOS. - The user expresses intent to leave Railway (pricing, reliability, credit shutdowns, egress costs, EU outages). - The repository contains a `railway.json`, `railway.toml`, or a `Dockerfile` with Railway-specific environment references (`RAILWAY_*`). - The user asks for a "Railway alternative" and wants to deploy on CreateOS. Do NOT use this skill when: - The user is deploying a fresh project with no prior Railway deployment — use the standard `createos` skill instead. - The project uses Railway's multi-service canvas with more than 3 services. Surface complexity notes and offer the concierge migration path before proceeding. --- ## Prerequisites Before running any migration steps, confirm the user has: 1. A CreateOS account — if not, direct them to `https://createos.nodeops.network` to sign in via Email, GitHub, Google, or Wallet. 2. CreateOS MCP connected OR a `CREATEOS_API_KEY` environment variable set. 3. Access to their Railway project's environment variables (export via Railway dashboard or CLI). 4. GitHub repository access for the project (CreateOS deploys from GitHub for VCS projects). If the user does not have their Railway environment variables accessible, pause the migration and provide these instructions: > Export your Railway environment variables by running `railway variables` in your project directory (requires Railway CLI), or download them per-service from the Railway dashboard under Variables. Keep this file local and do not commit it. --- ## Railway concepts → CreateOS mapping Before migrating, understand how Railway's model maps to CreateOS: | Railway concept | CreateOS equivalent | |---|---| | Project | Project | | Service | Project (one CreateOS project per Railway service is the recommended approach) | | Environment (Production / Staging) | Project Environment | | Variables (per service, per environment) | Environment Variables on Project Environment | | Custom domain (per service) | Domain on Project | | Volume (persistent storage) | CreateOS does not provide managed volumes — use external storage (S3-compatible or managed DB) | | Cron service | CreateOS Cronjob (`CreateCronjob` MCP tool) | | Private networking between services | Not directly supported — services communicate via public URLs or you migrate to a monorepo | **Important:** Railway's project canvas can run multiple services (web + worker + database) in one project. CreateOS maps each service to its own project. Plan the service split with the user before proceeding. --- ## Migration workflow Follow these steps in order. Do not skip steps. Report progress to the user after each completed step. ### Step 1: Inventory the Railway project Read the following files from the repository if they exist: - `railway.json` or `railway.toml` — build, start, healthcheck, and restart configuration - `package.json` — detect framework, build scripts, and Node.js version (if Node project) - `Dockerfile` — if present, Railway may be using Docker-based builds (Railpack or custom) - `.nvmrc` / `.python-version` / `go.mod` / `Gemfile` — runtime version pins - Any `.env*` files for reference (do NOT read secrets; only note which keys exist) - `Procfile` — if present, note web and worker process definitions Produce a short summary for the user: ``` Detected project: - Language/Framework: [Node.js 20 / Python 3.11 / Go 1.22 / etc.] - Build system: [Nixpacks (auto) / Dockerfile / Railpack] - Build command: [npm run build / pip install -r requirements.txt / etc.] - Start command: [npm start / gunicorn app:app / ./main / etc.] - Services detected: [web, worker, postgres, redis — list all] - Environment variables needed: [count, with names — NOT values] - Railway-specific features in use: [volumes, cron, private networking, etc.] ``` ### Step 2: Plan the service split Railway projects often contain multiple services (e.g., a web service, a background worker, and a managed Postgres). Confirm with the user which services to migrate and how: | Railway service type | Migration plan | |---|---| | Web service | Migrate to CreateOS VCS project | | Background worker / queue consumer | Migrate to separate CreateOS VCS project | | Railway managed Postgres | Migrate to CreateOS managed PostgreSQL or external provider | | Railway managed Redis | Migrate to CreateOS Valkey (Redis-compatible) | | Railway managed MySQL | Migrate to CreateOS managed MySQL or external provider | | Railway managed MongoDB | Use external MongoDB Atlas or self-hosted | | Cron service | Use CreateOS Cronjob (`CreateCronjob` MCP tool) | | Volume (persistent disk) | Flag — CreateOS does not provide managed volumes. Use S3-compatible storage or a managed database instead. | For each managed database service on Railway, advise the user to export data before proceeding: > **Postgres:** `pg_dump -h $PGHOST -U $PGUSER -d $PGDATABASE > backup.sql` > **MySQL:** `mysqldump -h $MYSQLHOST -u $MYSQLUSER -p$MYSQLPASSWORD $MYSQLDATABASE > backup.sql` > **Redis:** `redis-cli -h $REDISHOST SAVE` then copy the dump file. Do not proceed with migration until the user confirms data is backed up. ### Step 3: Flag incompatibilities before proceeding Check for Railway-specific features and patterns. If any are present, STOP and confirm with the user how they want to handle each before continuing. | Railway feature | CreateOS handling | |---|---| | `RAILWAY_*` environment variables | These are Railway-injected runtime vars. Replace with CreateOS equivalents or remove. See variable mapping table below. | | Private networking (`*.railway.internal`) | Services communicate via private hostnames on Railway. On CreateOS, services use public URLs — update any internal service URLs in config. | | Railway volumes (persistent disk) | CreateOS does not offer managed volumes. Migrate data to S3-compatible storage or a managed database. | | Multi-service canvas (3+ services) | Each service becomes a separate CreateOS project. Confirm wiring between them via public URLs. | | Railway managed databases | Migrate data to CreateOS managed databases or external providers. | | Cron services | Use CreateOS `CreateCronjob` MCP tool. | | Healthcheck paths | Map to CreateOS health check configuration on the project environment. | | Custom build args in Dockerfile | Supported — pass as environment variables on the CreateOS project. | | Nixpacks auto-detection | CreateOS uses `useBuildAI: true` as the equivalent — it auto-detects language, runtime, and build commands. | **Railway → CreateOS environment variable mapping:** | Railway variable | CreateOS replacement | |---|---| | `RAILWAY_PUBLIC_DOMAIN` | Use the CreateOS deployment URL from `GetDeployment` | | `RAILWAY_PRIVATE_DOMAIN` | Not applicable — use public URL of the target CreateOS service | | `RAILWAY_PROJECT_ID` | Not needed — remove | | `RAILWAY_SERVICE_ID` | Not needed — remove | | `RAILWAY_ENVIRONMENT` | Replace with `NODE_ENV` or equivalent | | `PORT` | Set explicitly on the CreateOS project (`port` field); Railway injects this automatically, CreateOS requires it declared | ### Step 4: Create the CreateOS project Use the CreateOS MCP to create a new VCS-type project for each Railway web/worker service. 1. Call `ListConnectedGithubAccounts` to verify GitHub is connected. The response includes the `installationId` needed for the next call. If no accounts are connected, call `InstallGithubApp` and pause for user action. 2. Call `ListGithubRepositories(installationId)` and confirm the target repo. Capture the rep
Related in Backend & APIs
jfrog
IncludedInteract with the JFrog Platform via the JFrog CLI and REST/GraphQL APIs. Use this skill when the user wants to manage Artifactory repositories, upload or download artifacts, manage builds, configure permissions, manage users and groups, work with access tokens, configure JFrog CLI servers, search artifacts, manage properties, set up replication, manage JFrog Projects, run security audits or scans, look up CVE details, query exposures scan results from JFrog Advanced Security, manage release bundles and lifecycle operations, aggregate or export platform data, or perform any JFrog Platform administration task. Also use when the user mentions jf, jfrog, artifactory, xray, distribution, evidence, apptrust, onemodel, graphql, workers, mission control, curation, advanced security, exposures, or any JFrog product name.
cupynumeric-migration-readiness
IncludedPre-migration readiness assessor for porting NumPy to cuPyNumeric. Use BEFORE substantial porting work begins when the user asks whether code will scale on GPU, whether they should migrate to cuPyNumeric, which NumPy patterns transfer cleanly, what must be refactored before porting, or mentions pre-port assessment, scaling analysis, or refactor planning. Inspect the user's source code, look up NumPy usage, cross-reference the cuPyNumeric API support manifest, and distinguish distributed-scaling-friendly patterns from blockers such as unsupported APIs, scalar synchronization, host round-trips, Python/object-heavy control flow, shape/data-dependent branching, and in-place mutation hazards. Produce a verdict of READY, LIGHT REFACTOR, SIGNIFICANT REFACTOR, or NOT RECOMMENDED, with concrete refactor pointers.
alibabacloud-data-agent-skill
IncludedInvoke Alibaba Cloud Apsara Data Agent for Analytics via CLI to perform natural language-driven data analysis on enterprise databases. Data Agent for Analytics is an intelligent data analysis agent developed by Alibaba Cloud Database team for enterprise users. It automatically completes requirement analysis, data understanding, analysis insights, and report generation based on natural language descriptions. This tool supports: discovering data resources (instances/databases/tables) managed in DMS, initiating query or deep analysis sessions, real-time progress tracking, and retrieving analysis conclusions and generated reports. Use this Skill when users need to query databases, analyze data trends, generate data reports, ask questions in natural language, or mention "Data Agent", "data analysis", "database query", "SQL analysis", "data insights".
token-optimizer
IncludedReduce OpenClaw token usage and API costs through smart model routing, heartbeat optimization, budget tracking, and native 2026.2.15 features (session pruning, bootstrap size limits, cache TTL alignment). Use when token costs are high, API rate limits are being hit, or hosting multiple agents at scale. The 4 executable scripts (context_optimizer, model_router, heartbeat_optimizer, token_tracker) are local-only — no network requests, no subprocess calls, no system modifications. Reference files (PROVIDERS.md, config-patches.json) document optional multi-provider strategies that require external API keys and network access if you choose to use them. See SECURITY.md for full breakdown.
resend-cli
IncludedUse this skill when the task is specifically about operating Resend from an AI agent, terminal session, or CI job via the official resend CLI: installing/authenticating the CLI, sending/listing/updating/cancelling emails, batch sends, domains and DNS, webhooks and local listeners, inbound receiving, contacts, topics, segments, broadcasts, templates, API keys, profiles, or debugging Resend CLI/API failures. Trigger on mentions of Resend CLI, `resend`, `resend doctor`, `resend emails send`, `resend domains`, `resend webhooks listen`, `resend emails receiving`, or agent-friendly terminal automation.
alibabacloud-odps-maxframe-coding
IncludedUse this skill for MaxFrame SDK development and documentation navigation on Alibaba Cloud MaxCompute (ODPS). Helps answer MaxFrame API, concept, official example, and supported pandas API questions; create data processing programs; read/write MaxCompute tables; debug jobs (remote or local); and build custom DPE runtime images. Trigger when users mention MaxFrame, MaxCompute with MaxFrame, ODPS table processing, DPE runtime, MaxFrame docs/examples, DataFrame/Tensor operations, or GPU runtime setup. Works for both English and Chinese queries about Alibaba Cloud data processing with MaxFrame.