Tooluck logoTooluck
SKILL.md

portaljs-add-geo

Agent skill fromdatopian/portaljs

Auto-ingest a geospatial file (GeoJSON, Shapefile, GeoPackage, KML/KMZ, FlatGeobuf, CSV-with-geometry) into a PortalJS portal on the user's own machine, with no server. Normalizes CRS to EPSG:4326, derives a PMTiles render tier and a GeoParquet query tier, pushes all three artifacts to Cloudflare R2 via Git LFS, and appends one dual-tier datasets.json entry the showcase auto-renders. Use when the source is a vector geo format that needs a map or spatial-query view.

How to install portaljs-add-geo

install portaljs-add-geo
# install the portaljs pack with the skills CLI
npx skills add datopian/portaljs

# or add only this skill to Claude Code: copy the folder

skills/portaljs-add-geo/

# into

~/.claude/skills/portaljs-add-geo/ (all projects)

.claude/skills/portaljs-add-geo/ (one project)

skills/portaljs-add-geo/SKILL.md

MITFull file
1# PortalJS — Add Geo
2
3## Overview
4
5Turn one geospatial upload into a **dual-tier** PortalJS dataset entirely on the user's
6machine — **no server-side container compute**, keeping the zero-backend bet end-to-end.
7From a single source the skill derives two serverless tiers plus the preserved original:
8
9- **PMTiles** (render tier) — a vector-tile archive `<MapPreview>` renders with MapLibre GL
10 over HTTP range requests; any dataset size pans and zooms with no tile server.
11- **GeoParquet** (query tier) — a GeoParquet 1.1 file (covering `bbox` column, Hilbert-sorted)
12 `<GeoQuery>` runs spatial SQL over in place via DuckDB-Wasm.
13- **Original** — the untouched upload in its native CRS, kept downloadable.
14
15All three land on Cloudflare R2 (Git LFS → Giftless), and the skill appends **one**
16`datasets.json` entry whose `resources[]` match the shape the showcase auto-renders (the
17`@reference/world-boundaries` demo, PR #1647): `pmtiles` → `<MapPreview>`, `geoparquet` →
18`<GeoQuery>`, original → download. No page edits are needed. It automates the manual
19`tippecanoe`/`duckdb` recipes in the template README.
20
21## Prerequisites
22
23- A scaffolded `portaljs-catalog` portal whose template ships `components/MapPreview.tsx` and
24 `components/GeoQuery.tsx` (PR #1647 or later).
25- Native CLIs on the user's machine: **GDAL** (`ogr2ogr`, `ogrinfo`), **tippecanoe**, and
26 **duckdb** (with the `spatial` extension). macOS: `brew install gdal tippecanoe duckdb`;
27…

Excerpt shown under the repository's MIT license.

More skills in portaljs

Keep exploring

Similar skill repositories

thedotmack /

claude-mem
116k

Persistent Context Across Sessions for Every Agent – Captures everything your agent does during sessions, compresses it with AI, and injects relevant context back into future sessions. Works with Claude Code, OpenClaw, Codex, Gemini, Hermes, Copilot, OpenCode + More

CCCXGHGM+135 skills

Newsletter

Join the Community

Subscribe to our newsletter for the latest news and updates