versa/skills/maplibre-versatiles-styler/SKILL.md
maplibre-versatiles-styler — interactive MapLibre GL JS control widget. Renders a collapsible sidebar on the map enabling users to switch between VersaTiles style presets (colorful/eclipse/graybeard/neutrino/shadow/satellite), edit color palettes, apply global recoloring, adjust fonts/language, modify satellite imagery settings, and export the resulting style JSON. Bundled locally from the npm package so the notebook's MapLibre cell can `<script src>` it without a CDN dependency. Re-exported by the versatiles-frontend layer's http.server at /styler/. MUST be invoked before building, deploying, or troubleshooting the maplibre-versatiles-styler layer.
npx skillsauth add overthinkos/overthink-plugins maplibre-versatiles-stylerInstall 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, curl, jq |
| Install path | /opt/maplibre-versatiles-styler/ |
| Re-exported at | /opt/versatiles-frontend/styler/ (by the versatiles-frontend layer) |
// Loaded via <script src="/styler/maplibre-versatiles-styler.umd.js" defer></script>
window.addEventListener('load', () => {
if (window.VersaTilesStylerControl) {
map.addControl(new window.VersaTilesStylerControl({ open: false }));
}
});
The control attaches as a MapLibre IControl and renders a sidebar
widget on the right edge of the map. Operators can:
language: 'en' option
passed to the style generator at construction time)Same pattern as /charly-versa:versatiles-style:
npm install maplibre-versatiles-styler and
copy the package's dist/ directory.The check probe is lenient about the exact filename (the package
ships both ESM and UMD builds across multiple paths) — it asserts
that at least one non-empty *.js file exists under
/opt/maplibre-versatiles-styler/.
Build-scope:
maplibre-versatiles-styler-bundle-present — at least one non-empty *.js file exists under /opt/maplibre-versatiles-styler//charly-versa:versa — image composing this layer/charly-versa:versatiles-style — the style generator whose output
this control mutates at runtime/charly-versa:versatiles-fonts — the font bundle the control's
language-switcher references/charly-versa:versatiles-frontend — re-exports this bundle at /styler//charly-versa:notebook-osm — the shortbread MapLibre cell that
attaches this control to its map instancetools
Use when authoring or modifying a charly PLUGIN — a candy with a `plugin:` block that contributes Providers (verbs/kinds/deploy-targets/steps/builders/commands), its own CUE schema, builtin (compiled-in) or external (out-of-tree git repo). Covers the unified Provider model, the per-plugin CUE-schema contract (single source → Go params for dev + schema-over-Describe RPC for runtime), the SDK, and the loader.
tools
The CUE data-validation / configuration CLI (cue), pinned to v0.16.1. Use when working with the cue candy, installing the cue binary into a box or onto a target:local dev host, or running the offline schema-vendoring pipeline that feeds charly's egress validation.
tools
CUE EGRESS validation — validating (and, where it adds value, generating) the config files charly WRITES to a system BEFORE the bytes hit disk. MUST be invoked before working on charly/egress.go, the vendored schemas under candy/plugin-egress/egress-schemas/vendor/, the ValidateEgress / registerVendoredEgressKind path, the offline `task cue:vendor` pipeline, or adding an egress schema for any written artifact (cloud-init, k8s manifests, traefik routes, runtime config, install ledger, systemd/quadlet units, ssh_config, libvirt XML).
tools
Kubernetes cluster-probe declarative check verb — the `kube:` check verb (nodes, pods, ingress, storage class, addon health, apply/delete, and arbitrary resource GETs) served out-of-process by the candy/plugin-kube plugin (vendored client-go; no external kubectl required).