versa/skills/versatiles-style/SKILL.md
@versatiles/style — TypeScript npm package that generates MapLibre style JSON for the Shortbread vector-tile schema. Installed locally (npm install + copy browser bundle to /opt/versatiles-style/) so the notebook's MapLibre HTML can `<script src>` the locally-served JS without a CDN dependency. Re-exported by the versatiles-frontend layer's http.server at /style/ so the notebook's mo.iframe (which can only fetch absolute URLs) can reach the bundle. MUST be invoked before building, deploying, or troubleshooting the versatiles-style layer.
npx skillsauth add overthinkos/overthink-plugins versatiles-styleInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
| Property | Value |
|----------|-------|
| Dependencies | supervisord (transitive; no service of its own) |
| Distros | arch + fedora |
| Build deps | nodejs, npm |
| Install path | /opt/versatiles-style/ |
| Re-exported at | /opt/versatiles-frontend/style/ (by the versatiles-frontend layer) |
versatiles-style ships six style generators, all targeting the
Shortbread vector-tile schema:
| Function | Output character |
|---|---|
| colorful({ language }) | Vivid colors, full feature set |
| eclipse({ language }) | Dark theme |
| graybeard({ language }) | Grayscale |
| neutrino({ language }) | Minimal / blueprint style |
| shadow({ language }) | Subtle hillshade-friendly |
| satellite({ language }) | Satellite-imagery overlay style |
Each returns a MapLibre style JSON object (style.version, .sources,
.layers, .glyphs, .sprite). The default source URL points at
tiles.versatiles.org; the notebook patches style.sources.versatiles.tiles
to our local versatiles serve.
The package's README documents both an npm-install path and a
standalone GitHub release tarball. We prefer the GitHub release
tarball (versatiles-style.tar.gz) because it ships the browser-
ready bundle directly. The layer has a two-tier install:
versatiles-style.tar.gz from the latest
GitHub release and extract to /opt/versatiles-style/.npm install @versatiles/style and copy
node_modules/@versatiles/style/release/ (or the whole package
if release/ is missing) to /opt/versatiles-style/.The fallback covers cases where the GitHub release is missing the expected tarball asset.
The notebook's shortbread MapLibre cell uses mo.iframe, whose
srcdoc HTML can only fetch absolute URLs (not server-relative
paths against the marimo edit server). The bundle is re-exported
at /opt/versatiles-frontend/style/versatiles-style.js by the
versatiles-frontend layer's python -m http.server, so the
iframe references:
<script src="http://127.0.0.1:28002/style/versatiles-style.js"></script>
Single-origin against the versatiles-frontend service avoids
cross-origin CORS issues that would otherwise need explicit
Access-Control-Allow-Origin: * headers.
Build-scope:
versatiles-style-bundle-present — find /opt/versatiles-style -maxdepth 3 -name 'versatiles-style*.js' -size +1c matches at least one non-empty file (the install path's exact filename depends on package version; the find pattern is lenient)/charly-versa:versa — image composing this layer/charly-versa:versatiles — the tile-server backend the generated
styles point at after URL patching/charly-versa:versatiles-frontend — re-exports this bundle at
/style/ for iframe consumption/charly-versa:shortbread — the tile schema the styles render/charly-versa:notebook-osm — the shortbread MapLibre cell that
imports colorful() from the bundletools
OpenCharly CLI (charly) binary installed into container/VM images for in-container use. Use when working with charly binary deployment inside containers, native D-Bus support, or the full charly toolchain (charly binary + virtualization + gocryptfs + socat).
development
Operator CachyOS workstation profile — a kind:local template + target:local deploy that installs the full dev stack (30 candies) onto a CachyOS host via ShellExecutor. Lives in the overthinkos/cachyos submodule. MUST be invoked before editing or applying the charly-cachyos workstation profile.
tools
Fedora box with the full charly toolchain using shared candies. Rootless-first — runs as uid=1000 with passwordless sudo (no root, no cap_add: ALL). Same candy list as charly-arch. Includes NVIDIA GPU runtime. MUST be invoked before building, deploying, configuring, or troubleshooting the charly-fedora box.
tools
Arch Linux box with the full charly toolchain. Rootless-first — runs as uid=1000 with passwordless sudo (no root, no cap_add: ALL). Composes /charly-coder:charly-mcp so the box is reachable as an MCP gateway on port 18765. NVIDIA GPU runtime composed in. MUST be invoked before building, deploying, configuring, or troubleshooting the charly-arch box.