From unicore-skills
Use this skill any time the user wants to build something new AND get it live on Railway — regardless of what it is (game, dashboard, form, tracker, kanban board, internal tool, web app, or anything else). This is the required skill for all zero-to-Railway workflows because it enforces company conventions: shared GitHub org, GitHub-connected deploys, and the standard Next.js + Prisma + Auth stack. Trigger on any phrasing that combines building with Railway hosting: 'create X and publish/deploy/ship/host it on railway', 'build X and put it on railway', 'new project to railway', 'take this from zero to a live URL on railway'. Also use when publishing a local project to the shared GitHub org, or when setting up auth as part of a new service. Do not use for purely operational tasks on an already-running service (debugging crashes, updating env vars, scaling).
How this skill is triggered — by the user, by Claude, or both
Slash command
/unicore-skills:building-company-toolThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Use this as the top-level orchestration skill for a full end-to-end company service launch.
Use this as the top-level orchestration skill for a full end-to-end company service launch.
The house defaults are:
zod-validated env at boot/api/health aggregating one health-check function per dependency[email protected] + @auth/prisma-adapter) with the shared Okta OIDC setup.--public)railway updocs/RAILWAY_WORKSPACES.md before deploymentFetch the latest package version and compare it to what is installed in the current agent tool:
gh api repos/unicore-railway/unicore-skills/contents/package.json \
--jq '.content' | base64 -d | jq -r '"Latest: " + .version'
Check the installed version through the platform's plugin, skill, or marketplace UI/command.
If the installed version is behind, update unicore-skills with that platform's normal update flow, then reload or restart the tool if needed.
Stale package versions may contain outdated conventions, wrong domain names, or missing steps.
Both GitHub and Railway are invite-only. Before doing anything else, the engineer (or agent acting on their behalf) needs the right access.
Before Railway work, resolve the company context:
Universe Unicore.GuruApps.Use docs/RAILWAY_WORKSPACES.md. If the context is not obvious, ask: "Unicore or GuruApps?"
Both contexts use the GitHub org unicore-railway and the same Okta setup. The Railway workspace and production URL/domain policy are the context-specific parts.
For access, ask Roman Shevchuk (or Oleksii Yurchenko as an alternative contact) to add you to the shared Okta group. Once in the group:
Don't try to scaffold a service before both invites are accepted — gh repo create and Railway project creation will both fail.
zero-to-running-tool firstIf the user is non-technical (PM, finance, legal, ops) or is starting from a fresh laptop, run zero-to-running-tool before the skill sequence below. It installs Node 24, Docker Desktop, gh, and the Railway CLI, and verifies GitHub org and Railway workspace access. If any of those checks fail, this orchestrator will fail later in the flow.
Skip zero-to-running-tool only when you have already verified that node -v, docker ps, gh api user/orgs includes unicore-railway, railway whoami succeeds, and railway list --json includes the target workspace. For Unicore, the target Railway workspace is Universe Unicore. For GuruApps, it is GuruApps.
Run skills/setting-up-agent-stack/SKILL.md after install to check companion tools.
Core companions include:
The setup skill checks each tool and asks for approval before install or config changes.
bootstrapping-nextjs-service to scaffold the app, env validation, the /api/health aggregator, and the front-end, TypeScript, lint, and test defaults.setting-up-prisma-postgres to add local PostgreSQL, Prisma, the initial schema, the database health check, and database scripts.setting-up-nextauth-okta to add shared Okta SSO via Auth.js v5, the auth health check, local env files, and onboarding steps.setting-up-trpc to add the tRPC server, typed client, auth-protected procedures, and the [trpc].ts catch-all handler. Every app-internal endpoint goes through here.managing-service-env whenever a sub-skill adds or changes environment variables. Before deploy, use it to audit .env.example, .env.local, src/lib/env.ts, and Railway Variables.creating-github-repo to publish the repository to GitHub (always private) and apply the commit message convention. No GitHub Actions CI — Railway is the only deploy gate.deploying-to-railway to connect the repo to Railway, configure production variables, resolve the production URL/domain, and set the Railway healthcheck path to /api/health.Use this skill when the request is broad, such as:
If the request is narrower, load only the matching sub-skill instead of the whole workflow.
Which sub-skills to skip:
| Skip | When |
|---|---|
setting-up-prisma-postgres | No persistent data (no database needed) |
setting-up-nextauth-okta | No login or access control needed |
setting-up-trpc | No app-internal API calls between client and server |
managing-service-env | Never skip when any env key is added, changed, or audited |
.env.example documents every required variable.env.local is gitignoredsrc/lib/env.ts validates every required variable with zodsrc/pages/api/health.ts registers a check function for every dependency (app, database, auth, …)src/server/trpc.ts, src/server/router.ts, src/pages/api/trpc/[trpc].ts, src/lib/trpc.ts); no app-internal pages/api/* handlers exist outside health.ts and auth/[...nextauth].tsdocker compose up -d plus npm run dev works on a fresh clonenpm run typecheck, npm run lint, npm run test, and npm run build pass locallycurl http://localhost:3000/api/health returns 200 with every check okAUTH_SECRET, AUTH_URL, AUTH_TRUST_HOST, DATABASE_URL, and the resolved auth variables)managing-service-envRequired Railway Seal actions for the actual service variables/api/healthREADME.md includes local onboarding stepsOnce the launch checklist is green, the team's recurring loop is edit → preview → commit → push → auto-deploy. The full step-by-step is documented in creating-github-repo under "Day-to-day workflow" — point engineers there, especially non-engineers who haven't yet internalized that git push is the deploy.
Guides creation, editing, and verification of skills for AI coding agents using test-driven development with subagent scenarios. Use when authoring or debugging skills.
npx claudepluginhub unicore-railway/unicore-skills --plugin unicore-skills