somnio-server
Run the gameplay server locally (Postgres + dev env on port 17662) for local play and testing
Install / Use
npx skills add tobihagemann/somnio --skill somnio-serverInstalls into whichever agent you are using.
SKILL.md
Installable skill definition
Quality Score
Category
OperationsSupported Platforms
Our assessment of somnio-server
somnio-server scores 63/100 on our quality scale, 719th of 769 Operations skills we index.
Its SKILL.md is 5.6 KB long, well organised into 8 sections with 4 code examples: a solid amount of guidance for an agent.
It has no GitHub stars yet, so there is no community track record; judge it on its content.
Maintenance, license and trust
- We could not determine when the repository was last updated.
- No license is declared. By default that means all rights are reserved: you can read it, but reusing or redistributing it is not clearly permitted. Ask the author before building on it commercially.
- Its trust signals score 68/100, with 3 cautions from licensing, adoption, age or documentation. These come from repository metadata, not a code audit — read the skill file before letting an agent act on it.
somnio-server compared with similar skills
All 4 of these similar skills score higher than somnio-server; compare them before choosing.
| Skill | Score | Stars | Updated | Format |
|---|---|---|---|---|
| somnio-server (this skill)by tobihagemann | 63 | 0 | — | SKILL.md |
| algorithmic-artby anthropics | 100 | 177.9k | 27d ago | SKILL.md |
| pptxby anthropics | 100 | 177.9k | 27d ago | SKILL.md |
| designby nextlevelbuilder | 100 | 137.2k | 4d ago | SKILL.md |
| ui-ux-pro-maxby nextlevelbuilder | 100 | 137.2k | 4d ago | SKILL.md |
Frequently asked questions
- How do I install somnio-server?
- Run
npx skills add tobihagemann/somnio --skill somnio-server. The install tabs above show the steps for each supported agent. - Which AI agents does somnio-server work with?
- It is written for Universal, as a SKILL.md file. Other agents that read the same format can often use it too.
- Is somnio-server safe to use?
- It declares no license and scores 68/100 on trust signals. Skills are instructions an agent will follow, so read the file before installing it and do not approve commands you do not understand.
- Is somnio-server still maintained?
- We could not determine when the repository was last updated.
Skill content
View source on GitHubname: somnio-server description: "Run the gameplay server locally (Postgres + dev env on port 17662) for local play and testing. Use when the user asks to run, start, or stand up the dev/local server, or needs a server for the browser client or admin CLI to connect to. Production deploys are handled in the deployment repo."
Run Server (Local Dev)
Runs the gameplay server locally on port 17662 against a Postgres container — the backend the browser client and admin CLI connect to during development.
Step 1: Ensure Postgres is running
Convention: a somnio-pg container (postgres:16) on host port 17663, Somnio's assigned database port.
docker ps --filter name=somnio-pg
# if not listed, it has likely EXITED rather than never existed — check and restart:
docker ps -a --filter name=somnio-pg
docker start somnio-pg
# only if truly absent:
docker run -d --name somnio-pg -p 17663:5432 -e POSTGRES_PASSWORD=postgres -e POSTGRES_DB=somnio postgres:16
Run these container commands with the sandbox disabled. Sandboxed, they fail with "Cannot connect to Podman ... operation not permitted" whatever state Podman is in. Unsandboxed, the same message ending in connection refused means the Podman machine is stopped: run podman machine start, then start the container.
The container can exit silently between sessions (podman machine hiccups). A server started against the dead container fails at startup with a connection error from the readiness probe — that signature means "start the container", not a code bug and not a reason to re-create the container.
The migrator refuses a database carrying an earlier schema (LegacyDatabaseError): the Swift-era one or the previous TypeScript one, whose kysely_migration table holds a 0001_initial row. Reset one with docker exec somnio-pg psql -U postgres -c 'DROP DATABASE somnio' -c 'CREATE DATABASE somnio'; that drops the dev account and character, so the next login shows "Bad credentials" until you register again.
On teardown use docker stop somnio-pg — keep the container; docker rm-ing it drops the dev account/character the same way.
Step 2: Install
npm ci
Node 24.17.0 or newer (.nvmrc). Nothing is compiled: Node runs the TypeScript sources directly, so a source change takes effect on the next start. A running server keeps the old code in memory, so restart it after editing.
Check for a stale instance holding the port before launching (lsof -nP -iTCP:17662 -sTCP:LISTEN). A leftover server from an earlier session serves stale code while the new instance fails to bind, which reads as a healthy-but-wrong server.
Step 3: Run the server
Launch as its own tracked background process, with the sandbox disabled: the command sandbox's network allowlist blocks the localhost Postgres connection (and, in some sessions, binding the listen port), so a sandboxed server logs connect failures and never reaches a healthy state.
Launch from the main session, never from inside a subagent: a background process started by a subagent is terminated the moment that subagent completes, so a verification subagent that restarts the server hands back a dead server. A subagent that finds the server down should report it for the main session to restart, not restart it itself.
SOMNIO_DEV_DEFAULTS=1 \
SOMNIO_DATABASE_URL=postgres://postgres:postgres@localhost:17663/somnio \
SOMNIO_DATABASE_TLS=disable \
SOMNIO_ADMIN_TOKEN=dev-admin \
SOMNIO_HTTP_HOST=127.0.0.1 SOMNIO_HTTP_PORT=17662 \
node packages/server/src/main.ts
SOMNIO_DEV_DEFAULTS=1 is the explicit opt-in for the development fallbacks (the dev-admin token, the committed sector fixtures, the localhost database); without it a missing variable refuses to boot. The server applies pending migrations on boot (including on a fresh empty database), so there is no manual migration step. SOMNIO_SECTORS_DIR defaults to the committed map fixtures (packages/core/fixtures/sectors); set it to load a different sector directory.
Sectors and the model registry are loaded once at startup — after editing any .somnio-sector fixture or packages/core/data/ModelRegistry.json, restart the server or it keeps serving the old map data and colliders. A sector or registry that does not parse, or a world buildWorld refuses, fails startup (AGENTS.md's "Sector format" lists the cases). A door that is not half of a sound pair is logged as a world issue and left inert while the server still boots, so read the startup log after a map edit.
Logs go to stdout as JSON and to ./logs/gameplay-log.log and ./logs/admin-log.log under the working directory (the admin log/weblog verbs read those files).
Step 4: Verify
curl -fsS http://127.0.0.1:17662/health # expect {"status":"ok","db":"ok"}
Notes
- Port 17662 is Somnio's assigned dev port and the browser client's Vite proxy target, so the client reaches it with no override.
- The admin CLI connects to
ws://127.0.0.1:17662/adminwith tokendev-admin, which is also what it falls back to with no environment set. - For a test run kept apart from the dev account and other servers, give it a database of its own:
docker exec somnio-pg psql -U postgres -c 'CREATE DATABASE <name>', then run Step 3's command withSOMNIO_DATABASE_URL=postgres://postgres:postgres@localhost:17663/<name>. Boot migrates it, so nothing else is needed. Bind a freeSOMNIO_HTTP_PORTand launchmain.tsby its absolute path from a scratch working directory, so the run'slogs/stay apart from the dev server's. A web client reaches it throughSOMNIO_DEV_GAMEPLAY_ORIGIN. Stop the server before dropping the database, since its open connections block the drop.
Related Skills
algorithmic-art
177.9kCreating algorithmic art using p5.js with seeded randomness and interactive parameter exploration. Use this when users request creating art using code, generative art, algorithmic art, flow fields, or particle systems.
pptx
177.9kUse this skill any time a .pptx or .potx file is involved in any way — as input, output, or both. This includes: creating slide decks, pitch decks, or presentations; reading, parsing, or extracting text from any .pptx or .potx file (even if the extracted content will be used elsewhere, like in an em…
design
137.2kComprehensive design skill: brand identity, design tokens, UI styling, logo generation (55 styles, Gemini, Atlas Cloud, or MuAPI AI), corporate identity program (50 deliverables, CIP mockups), HTML presentations (Chart.js), banner design (22 styles, social/ads/web/print), icon design (15 styles, SVG…
ui-ux-pro-max
137.2kUI/UX design intelligence for web, mobile, and desktop. This skill should be used when designing, building, reviewing, or fixing interfaces, including pages, components, design systems, accessibility, interaction, responsive layout, typography, color, charts, and stack-specific UI implementation.
Trust signals
From repository metadata: license, adoption, age and documentation. Not a code audit — see the Safety scan above for what the skill file itself contains.
