Individual skill
geohash-spatial-code-maps
Geohash encoding/decoding in TypeScript or Rust — bit interleaving, the base32 alphabet, precision and cell geometry, neighbour/adjacency computation, proximity and bounding-box queries, and geohash-backed spatial indexing. Also covers the "codebase as a navigable 2D map" pattern — projecting a codebase into a coordinate plane, geohashing it so prefixes become business-domain regions, and navigating it like Google Maps (zoom, tiles, level-of-detail, clustering, deep links). Trigger when implementing, reviewing, or debugging geohash work — even when the user does not say "geohash" but the work involves spatial hashing, Morton/Z-order codes, proximity search on lat/lon, or mapping and visualising code structure spatially. Contains 42 impact-ordered rules with TypeScript and Rust examples.
skills/.experimental/geohash-spatial-code-maps/SKILL.md
Source commit cf93c57cac89d6fc3e4194686000411567f5caf3
What was checked
- Matches the observed repository HEAD
- Yes
- Scanner rules are current
- No
- Repository scan complete
- No
- Skill scan complete
- Yes
- Observed behavior
- Not checked yet
- Last checked
- Nov 5, 2026
These are observations at the recorded commit, not a guarantee of safety. Review the source before running it.
Install this skill
Choose an agent in your Stack or copy a command below. Commands fetch the pinned commit and copy only this skill directory. Existing destinations are refused. Copying a command does not install anything.
An install command is unavailable: current rules, complete repository and skill scans, an eligible behavior level and a permitted license are required.
Repository context
- Repository stars (not skill ratings)
- 222
- Repository last updated
- Aug 15, 2026
- License
- MIT
Observed agent integration: codex
- testing Derived category
Files and excerpt
File metadata and permitted, redacted excerpts come from the recorded scan. Source links are pinned to that commit.
Browse files
AGENTS.mddoc · 10,742 bytesSKILL.mdcore · 10,085 bytesassets/templates/_template.mddoc · 984 bytesmetadata.jsonasset · 1,752 bytesreferences/_sections.mddoc · 3,247 bytesreferences/dec-avoid-roundtrip-reencode.mddoc · 1,556 bytesreferences/dec-decode-to-bbox.mddoc · 1,896 bytesreferences/dec-precompute-reverse-alphabet.mddoc · 1,655 bytesreferences/dec-symmetric-interval-reconstruction.mddoc · 1,975 bytesreferences/enc-base32-alphabet.mddoc · 1,960 bytesreferences/enc-binary-chop-no-float-drift.mddoc · 1,780 bytesreferences/enc-five-bit-char-boundary.mddoc · 1,940 bytesreferences/enc-integer-morton-encode.mddoc · 2,990 bytesreferences/enc-interleave-longitude-first.mddoc · 3,382 bytesreferences/enc-normalize-input-domain.mddoc · 2,175 bytesreferences/idx-db-prefix-index.mddoc · 1,869 bytesreferences/idx-integer-sortable-key.mddoc · 1,858 bytesreferences/idx-range-query-from-covering-set.mddoc · 1,809 bytesreferences/idx-sorted-string-range-scan.mddoc · 2,153 bytesreferences/idx-trie-hierarchical-bucketing.mddoc · 2,270 bytesreferences/map-coupling-implies-proximity.mddoc · 1,934 bytesreferences/map-deterministic-projection.mddoc · 2,227 bytesreferences/map-normalize-to-geohash-domain.mddoc · 2,191 bytesreferences/map-persist-coordinate-sidecar.mddoc · 2,028 bytesreferences/map-precision-as-architectural-level.mddoc · 1,870 bytesreferences/map-prefix-as-domain-region.mddoc · 2,101 bytesreferences/map-stable-coordinates.mddoc · 1,958 bytesreferences/nav-breadcrumb-prefix-path.mddoc · 1,972 bytesreferences/nav-cluster-by-prefix.mddoc · 1,749 bytesreferences/nav-level-of-detail-aggregation.mddoc · 1,854 bytesreferences/nav-precision-to-zoom-levels.mddoc · 1,858 bytesreferences/nav-tile-lazy-loading.mddoc · 1,662 bytesreferences/nbr-antimeridian-wrap.mddoc · 1,764 bytesreferences/nbr-canonical-lookup-tables.mddoc · 2,704 bytesreferences/nbr-eight-neighbor-set.mddoc · 1,804 bytesreferences/nbr-integer-level-neighbors.mddoc · 1,880 bytesreferences/nbr-pole-handling.mddoc · 1,632 bytesreferences/prec-avoid-mixed-precision.mddoc · 1,899 bytesreferences/prec-cells-are-not-square.mddoc · 1,915 bytesreferences/prec-cells-shrink-toward-poles.mddoc · 1,901 bytesreferences/prec-choose-from-error-radius.mddoc · 1,900 bytesreferences/prec-error-is-half-cell.mddoc · 1,660 bytesreferences/qry-bbox-range-decomposition.mddoc · 1,961 bytesreferences/qry-expand-precision-when-sparse.mddoc · 1,961 bytesreferences/qry-precision-from-radius.mddoc · 1,585 bytesreferences/qry-refine-with-haversine.mddoc · 2,254 bytesreferences/qry-search-cell-plus-neighbors.mddoc · 1,889 bytes
Read excerpt
# Geohash & Spatial Code Maps Best Practices
How to implement geohashes correctly in TypeScript and Rust, how to query and index them at scale, and how to apply them to the "codebase as a navigable 2D map" pattern — projecting code into a plane so geohash prefixes become domain regions you can fly through like Google Maps. Contains 42 rules across 8 categories, prioritised by impact.
## When to Apply
Reference these guidelines when:
- Implementing or reviewing a geohash encoder/decoder in TypeScript or Rust (bit interleaving, base32, precision, neighbours)
- Building proximity / radius / bounding-box search on lat/lon data, or storing geohashes as index keys (SQL B-tree, Redis sorted sets)
- Debugging the classic geohash bugs — swapped axes, wrong alphabet, border false negatives, off-by-one cells at high precision
- Projecting a codebase (or any abstract graph) into a 2D plane and geohashing it so prefixes name business domains or features
- Navigating a geohashed dataset like a slippy map: zoom-to-precision, viewport tile loading, level-of-detail aggregation, prefix clustering, deep links
## A note on scope