SkillAgentSearch skills...

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-server

Installs into whichever agent you are using.

About this skill
📄

SKILL.md

Installable skill definition

Quality Score

63/100

Category

Operations

Supported Platforms

Universal

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.

Substance
26/30
Structure
20/20
Description
12/15
Adoption
0/20
Freshness
5/15

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.

SkillScoreStarsUpdatedFormat
somnio-server (this skill)by tobihagemann630—SKILL.md
algorithmic-artby anthropics100177.9k27d agoSKILL.md
pptxby anthropics100177.9k27d agoSKILL.md
designby nextlevelbuilder100137.2k4d agoSKILL.md
ui-ux-pro-maxby nextlevelbuilder100137.2k4d agoSKILL.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.

name: 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/admin with token dev-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 with SOMNIO_DATABASE_URL=postgres://postgres:postgres@localhost:17663/<name>. Boot migrates it, so nothing else is needed. Bind a free SOMNIO_HTTP_PORT and launch main.ts by its absolute path from a scratch working directory, so the run's logs/ stay apart from the dev server's. A web client reaches it through SOMNIO_DEV_GAMEPLAY_ORIGIN. Stop the server before dropping the database, since its open connections block the drop.

Related Skills

View on GitHub
GitHub Stars0
CategoryOperations
UpdatedNaNy ago
Forks0

Trust signals

68/100

From repository metadata: license, adoption, age and documentation. Not a code audit — see the Safety scan above for what the skill file itself contains.

2 medium1 low