Skills for Real Engineers. Straight from my .agents directory.
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
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)
1# PortalJS — Add Geo23## Overview45Turn one geospatial upload into a **dual-tier** PortalJS dataset entirely on the user's6machine — **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:89- **PMTiles** (render tier) — a vector-tile archive `<MapPreview>` renders with MapLibre GL10 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.1415All 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 (the17`@reference/world-boundaries` demo, PR #1647): `pmtiles` → `<MapPreview>`, `geoparquet` →18`<GeoQuery>`, original → download. No page edits are needed. It automates the manual19`tippecanoe`/`duckdb` recipes in the template README.2021## Prerequisites2223- A scaffolded `portaljs-catalog` portal whose template ships `components/MapPreview.tsx` and24 `components/GeoQuery.tsx` (PR #1647 or later).25- Native CLIs on the user's machine: **GDAL** (`ogr2ogr`, `ogrinfo`), **tippecanoe**, and26 **duckdb** (with the `spatial` extension). macOS: `brew install gdal tippecanoe duckdb`;27…
Excerpt shown under the repository's MIT license.
More skills in portaljs
Similar skill repositories
An agentic skills framework & software development methodology that works.
A single CLAUDE.md file to improve Claude Code behavior, derived from Andrej Karpathy's observations on LLM coding pitfalls.
Public repository for Agent Skills
Makes your AI agent think like the laziest senior dev in the room. The best code is the code you never wrote.
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
