Skip to content
Back to skills

Gis

ASecurity

Build and verify interactive GeoJSON maps in Atlas, with local exploration, safe imports, feature inspection and export.

  • 1,124 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added September 23, 2026
ai-agentsrustgonodegit

Security analysis

A100/100

Pro scans all 3 files and shows the line behind each finding

Scanned September 23, 2026

npx -y skills add autonomous-ai/openharness --skill gis --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Gis?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Gis
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/autonomous-ai-gis/badge)](https://www.skillsdirectory.com/skills/autonomous-ai-gis)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: gis
description: Build and verify interactive GeoJSON maps in Atlas, with local exploration, safe imports, feature inspection and export.
---

# Atlas

The starter uses locally vendored Leaflet 1.9.4 and Natural Earth 1:110m country outlines.
No internet or tile account is required. Keep attribution and `vendor/LICENSE` when reusing them.
Use relative URLs in the shared sandboxed viewer. For detailed streets or large datasets, choose
appropriate licensed tiles/data explicitly; do not present the coarse offline layer as detailed mapping.

`cities.geojson` seeds real locations with illustrative population values, not official estimates.
Imported GeoJSON must be a WGS 84 FeatureCollection, coordinates `[longitude, latitude]`.
The local validator handles Point, LineString, Polygon and Multi variants, up to 2,000 features,
100,000 vertices and a 5 MB upload. Closed rings are checked; polygon topology/self-intersections
are not. Simplify large data or use a more suitable renderer instead of freezing the UI.

The feature list shows at most 100 names while the map renders all filtered features.
Search, geometry filtering, selection and export use the same source records. Use `textContent`
for properties and tooltips; never interpolate uploaded strings as HTML.

The distance tool measures a mean-radius spherical great-circle distance between two points;
its straight map segment is only a visual connector. It is not a road route or survey result.
Antimeridian data may need split geometries for intuitive display in Web Mercator.
Imports are temporary browser state; export to persist.

## Prove and inspect

```sh
node "$GIS_SKILLS/gis/scripts/proof.mjs" "$HARNESS_WORKSPACE/index.html"
node "$GIS_SKILLS/gis/scripts/perf.mjs" "$HARNESS_WORKSPACE/index.html"
```

Helpers use the real shared HTTP viewer, current `proof.json` interaction assertions and Playwright
with Chromium. Install Playwright in the shared viewer or set `PLAYWRIGHT_MODULE` to its `index.mjs`.
Proof captures `.harness/last.png`, errors and dependency hashes and updates the verdict.
Inspect pan/zoom, search, selection, two-point measurement, import/export and a narrow viewport.
Test an empty selection, malformed GeoJSON and untrusted property text. Never call a map verified
because a Leaflet container merely exists.

Files in this skill

  • SKILL.md2.3 KB
  • scripts/perf.mjs713 B
  • scripts/proof.mjs714 B

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…