用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/mkurman/zorai --skill synthlabs-setup命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
Use when provisioning Prime Intellect GPU compute, managing pods/disks/sandboxes, running hosted RL training via prime lab, installing or publishing RL environments, or exposing local services via Prime Tunnel. Covers the `prime` CLI (PyPI: prime) for all Prime Intellect platform operations.
Shared Python package for Science Skills, currently containing http_client -- a unified HTTP client with rate limiting, retries, and exponential backoff. Not a standalone agent skill. Do not invoke directly.
Retrieve and analyze AlphaFold predicted structures for a protein. Use when the user provides a specific UniProt Accession ID and wants structural confidence metrics (pLDDT), domain boundary analysis, or disorder assessment. Do not use if the user only has a protein name, gene name, or amino acid sequence — ask for a UniProt ID first.
基于 SOC 职业分类
正在显示 SKILL.md
| name | synthlabs-setup |
| description | Use when you need to locate, start, and verify a local SynthLabs backend before API-dependent work. |
| tags | ["synthlabs","synthlabs-setup","api"] |
Use this skill to locate a real SynthLabs checkout, start the documented local services, and prove the backend is healthy before doing anything else.
Use this skill when:
/health,npm, bun, or the repo's Docker Compose path,Do not use this skill when:
GET /health before any session, generation, curation, or UI step..env.local.Look for a repository root that contains all of these anchors:
package.json with "name": "synthlabs-reasoning-generator"server/index.js.env.exampleIf the checkout location is not already known, verify the candidate repo before running commands there.
If no local checkout exists yet, clone the public repository first:
git clone https://github.com/mkurman/synthlabs.git
cd synthlabs
After cloning, re-check the repo anchors before continuing with install or startup work.
Confirm which package manager, runtime, and container tooling are installed before choosing commands:
command -v node
command -v npm
command -v bun
command -v docker
docker compose version
test -x ./mc.sh
npm workflow: requires node and npmbun workflow: requires bundocker, docker compose, and the repo's ./mc.sh wrapper scriptFrom the SynthLabs checkout:
# npm path
npm install
# bun path
bun install
Use the package manager that is actually available. Do not invent lockfile or package-manager switches that the repo does not document.
Check whether .env.local already exists before copying anything:
test -f .env.local
.env.local already exists, keep it and inspect it instead of replacing it..env.local is missing, copy from .env.example:cp .env.example .env.local
Populate only the variables required for the chosen workflow:
VITE_GEMINI_API_KEY, VITE_OPENAI_API_KEY, or other provider entries already present in .env.example.FIREBASE_PROJECT_ID, FIREBASE_CLIENT_EMAIL, FIREBASE_PRIVATE_KEY, FIREBASE_SERVICE_ACCOUNT_PATH, and related VITE_FIREBASE_* values are optional unless the task explicitly needs backend persistence, Firebase Admin operations, or cloud sync.If you are using the Docker Compose path, check whether .env exists before starting ./mc.sh:
test -f .env
.env is missing, copy from .env.example:cp .env.example .env
.env.Do not add placeholder secrets or fake values.
From the SynthLabs checkout, use the documented scripts that match the task:
# frontend + backend together
npm run dev
# frontend only
npm run dev:client
# backend only
npm run dev:server
# bun frontend dev flow
bun run bun:dev
# Docker Compose manager
./mc.sh up
# Docker Compose backend only
./mc.sh up backend
# Docker Compose status and logs
./mc.sh status
./mc.sh logs backend
npm run dev when the task needs the standard local stack.npm run dev:server when you only need the backend for API checks.npm run dev:client or bun run bun:dev when the task is frontend-only, but still verify whether a backend is already running before assuming API-dependent features will work../mc.sh up when the task should run through the repo's Docker Compose stack, especially if it needs the bundled CockroachDB service../mc.sh wraps docker compose -f docker/docker-compose.yml ... and exposes up, down, stop, build, restart, logs, ps, and status.The real backend port behavior comes from server/index.js:
87878900PORT overrides either defaultPORT_RANGE enables auto-increment when the requested port is busyBackend listening on http://localhost:${port}; use that line when it is available.The Docker Compose path is different from the normal local dev path:
./mc.sh up publishes the frontend on http://localhost:3000./mc.sh up publishes the backend on http://localhost:8900./mc.sh up also starts CockroachDB with admin UI on http://localhost:8080NODE_ENV=production and PORT=8900When finding the selected port, check in this order:
PORT8900 when the repo was started through ./mc.sh8787 unless the task is clearly using production mode8900 only when the environment is explicitly productionPORT_RANGE allowed auto-incrementVerify readiness with the health route before any other API call:
curl -fsS http://localhost:8787/health
For the Docker Compose path, verify the published backend directly:
curl -fsS http://localhost:8900/health
Healthy output must decode to JSON equivalent to:
{"ok":true,"service":"synthlabs-rg"}
If the expected port does not answer, probe the configured or incremented range until /health returns the required payload.
./mc.sh without checking whether .env exists for the compose path..env.local instead of inspecting it first.8787 is always correct even when PORT or PORT_RANGE changed the selected port.8787 instead of the compose-published 8900./health.node and npm or bun are actually installed..env.local exists if the chosen workflow requires local configuration./health never returns the required JSON, stop and report the exact command, port, and failure instead of guessing at follow-up API steps.