Chroma Vector Database
Orchestra-Research/AI-Research-SKILLs
Shows how to store documents and embeddings in Chroma, query them by similarity with metadata filters, and persist them to disk for RAG and semantic search projects.
Read Tessera satellite embeddings with the geotessera Python library.
$ npx skills add ucam-eo/geotessera --skill geotessera -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install ucam-eo/geotessera geotessera --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/ucam-eo/geotessera.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/geotessera .claude/skills/geotessera && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "geotessera" agent skill from https://github.com/ucam-eo/geotessera/tree/main/skills/geotessera into .claude/skills/geotessera/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "geotessera", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/ucam-eo/geotessera/tree/main/skills/geotesseraType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add ucam-eo/geotessera --skill geotessera -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install ucam-eo/geotessera geotessera --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ucam-eo/geotessera.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/geotessera .agents/skills/geotessera && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "geotessera" agent skill from https://github.com/ucam-eo/geotessera/tree/main/skills/geotessera into .agents/skills/geotessera/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "geotessera", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add ucam-eo/geotessera --skill geotessera -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install ucam-eo/geotessera geotessera --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ucam-eo/geotessera.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/geotessera .cursor/skills/geotessera && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "geotessera" agent skill from https://github.com/ucam-eo/geotessera/tree/main/skills/geotessera into .cursor/skills/geotessera/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "geotessera", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/ucam-eo/geotessera.git --path skills/geotessera--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add ucam-eo/geotessera --skill geotessera -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install ucam-eo/geotessera geotessera --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ucam-eo/geotessera.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/geotessera .gemini/skills/geotessera && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "geotessera" agent skill from https://github.com/ucam-eo/geotessera/tree/main/skills/geotessera into .gemini/skills/geotessera/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "geotessera", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install ucam-eo/geotessera geotesseraInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add ucam-eo/geotessera --skill geotessera -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/ucam-eo/geotessera.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/geotessera .github/skills/geotessera && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "geotessera" agent skill from https://github.com/ucam-eo/geotessera/tree/main/skills/geotessera into .github/skills/geotessera/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "geotessera", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add ucam-eo/geotessera --skill geotessera -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install ucam-eo/geotessera geotessera --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ucam-eo/geotessera.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/geotessera .opencode/skills/geotessera && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "geotessera" agent skill from https://github.com/ucam-eo/geotessera/tree/main/skills/geotessera into .opencode/skills/geotessera/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "geotessera", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
geotesseraRead Tessera satellite embeddings with the geotessera Python library.
Geotessera is an agent skill from ucam-eo/geotessera. Read Tessera satellite embeddings with the geotessera Python library. Use when sampling, mapping, or classifying with Tessera embeddings — reading points, regions, or patches from the zarr store, selecting dataset versions, or building land-cover and detection workflows on the embeddings.
Its SKILL.md is about 1.6k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in AI & LLM Engineering, covering Embeddings. It works with Zarr and Python. The repository describes itself as: Python library for the Tessera embeddings. The licence is MIT.
3 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 2814c5b. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
pipFrom the folder's file list and the shell code blocks in SKILL.md.
Links to these hosts (documentation or services it may open):
github.comgeotessera.readthedocs.ioFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Geotessera loads about 1.6k tokens when it runs. Until then it costs about 75 tokens; SKILL.md has 687 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from ucam-eo/geotessera at commit 2814c5b, republished under its MIT licence (© ucam-eo). 687 words, ~1,616 tokens.
.claude/skills/geotessera/SKILL.md (or your agent's skills folder).Tessera is a geospatial foundation model. It compresses a year of
Sentinel-1/2 observations into a 128-dimensional embedding for every 10m
pixel of land, for every year since 2017. The geotessera library streams
these embeddings from a public zarr v3 store. Nothing is downloaded up front,
and values return dequantised as float32.
Requires Python 3.12 or later: pip install geotessera.
GeoTesseraZarr (the zarr interface), not the tile-download
GeoTessera class, unless the user explicitly needs offline NPY or
GeoTIFF tile files. NPY tiles are deprecated and will be removed.dclimate (the default) and
cambridge, whose embeddings cannot be interchanged. Check
gt.dataset.name when combining data from several sources.(min_lon, min_lat, max_lon, max_lat).probe to distinguish, and drop NaN rows before fitting
a model.iter_region rather than holding
a read_region mosaic in memory.sample_points call; a per-point loop is
an order of magnitude slower.geotessera coverage --bbox ...
maps it.from geotessera import GeoTesseraZarr
gt = GeoTesseraZarr() # default v1.1 dClimate Zarr store
gt.years # [2017, ..., 2025]
vec, status = gt.probe(lon, lat, year) # status: valid|water|nodata|outside
X = gt.sample_points(coords, year) # (N, 128), one bulk read per UTM zone
mosaic, transform, crs = gt.read_region(bbox, year)
patch, transform, crs = gt.read_patch(lon, lat, year, size_px=256)
for block, transform, crs in gt.iter_region(bbox, year, strip_rows=512):
... # row strips, next strip prefetchedread_region and iter_region read a lon/lat bounding box on the
native UTM grid of the zone holding its centre; a box spanning a zone
boundary is truncated to that zone. read_patch returns a fixed-size
square centred on a point, merging across UTM zones when the window
spans one. read_region_quantized returns (values, scales, transform, crs) at a quarter of the memory; dequantise rows on demand with
geotessera.store.TesseraAccessor.dequantise(values[rows].transpose(2, 0, 1), scales[rows]),
which turns water and no-data pixels into NaN.
gt.export_geotiffs(bbox, year, output_dir, bands=..., depth=...)
streams a region to one float32 GeoTIFF per UTM zone on the native
grid. The geotessera download command does the same from the shell.
from geotessera.registry import zarr_store_url
gt = GeoTesseraZarr(zarr_store_url("v2")) # "v1", "v1.1", "v2", or an explicit store URL
gt = GeoTesseraZarr(zarr_store_url("v1.1", "cambridge"))
gt.dataset.name # "1.1-cambridge"zarr_store_url takes a version and optional variant; geotessera info
lists them. GeoTesseraZarr also opens Icechunk repositories (URLs
ending in .icechunk), presenting each zone as one utmNN group.
gt.dataset is None for a store that is not a published dataset.
v2 stores publish matryoshka prefixes of each embedding. Passing
depth=16 (or depth=4) to sample_points, read_region,
read_patch, or iter_region reads only the first N dimensions for
proportionally fewer bytes. gt.depths lists what a store offers.
The library never draws progress bars. Long reads log progress through
the standard logging module — geotessera.* loggers at INFO with
counts and rates; short reads stay silent. Scripts that stream regions
or sample many points should surface those lines:
import logging
logging.basicConfig(format="%(asctime)s %(message)s", datefmt="%H:%M:%S")
logging.getLogger("geotessera").setLevel(logging.INFO)The progress= parameters on sample_points/read_region/
iter_region/read_patch are deprecated and ignored; do not pass
them, and do not add tqdm or other progress wrappers around reads.
HTTP retries with exponential backoff are built in; do not add a retry
layer. Pass cache_dir to cache reads from a Zarr store locally, the
default store included — store metadata persists across runs, chunk data
for the session. Icechunk repositories ignore it:
gt = GeoTesseraZarr(zarr_store_url("v2"), cache_dir="tessera-cache")The cache is keyed per store under cache_dir; never share one
hand-rolled CacheStore directory between stores.
gt.open_zone(lon=0.15) returns an xarray Dataset for that UTM zone
with a .tessera accessor (sample_at, read_region) that works in
the zone's own eastings and northings and performs no projection.
sample_points at labelled coordinates; train a scikit-learn model
on the (N, 128) matrix after dropping NaN rows.iter_region over the target bounding box;
model.predict(block.reshape(-1, 128)) per strip.Worked examples: https://github.com/ucam-eo/geotessera-examples API reference: https://geotessera.readthedocs.io/en/latest/zarr_quickstart.html
© ucam-eo, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in skills/geotessera of ucam-eo/geotessera.
Open the folder on GitHubat commit 2814c5b
Geotessera next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Geotessera this skillucam-eo/geotessera | 354 | — | ~1.6k | Automated safety check: Pass | MIT | |
| Chroma Vector DatabaseOrchestra-Research/AI-Research-SKILLs | 13k | 7 repos | ~2.3k | Automated safety check: Pass | MIT | |
| Retail Product Search Agentgoogle/adk-recipes | 10k | — | ~3k | Automated safety check: Pass | Apache-2.0 | |
| Llama Index Wikichujianyun/skills | 740 | — | ~480 | Automated safety check: Pass | Custom licence | |
| Sentence Transformers EmbeddingsOrchestra-Research/AI-Research-SKILLs | 13k | 2 repos | ~1.6k | Automated safety check: Pass | MIT | |
| Ag2 Structured Outputag2ai/build-with-ag2 | 252 | — | ~1.8k | Automated safety check: Pass | Apache-2.0 |
Orchestra-Research/AI-Research-SKILLs
Shows how to store documents and embeddings in Chroma, query them by similarity with metadata filters, and persist them to disk for RAG and semantic search projects.
google/adk-recipes
Builds a retail product search agent on Google Cloud, from catalog ingestion into BigQuery and Vector Search to ADK scaffolding, evaluation and Cloud Run deployment.
chujianyun/skills
LlamaIndex 官方用户文档离线知识库,用于检索并回答 LlamaIndex Python 框架的安装、RAG、数据加载、索引、检索与查询、Agent、Workflow、模型、Embedding、向量库、评估、可观测性、部署、LlamaCloud 和 LlamaParse 等问题,也可生成有文档依据的示例代码与排障建议。当用户提到…
Orchestra-Research/AI-Research-SKILLs
Generates text embeddings locally with the sentence-transformers library for RAG, semantic search, clustering and similarity, with model picks for general, multilingual and legal text.
ag2ai/build-with-ag2
Get a typed Python value back from an AG2 beta Agent instead of free text.
github/awesome-copilot
Build agentic applications with GitHub Copilot SDK. An agent skill from github/awesome-copilot.
Categories
Read Tessera satellite embeddings with the geotessera Python library. Geotessera is an agent skill from ucam-eo/geotessera. Read Tessera satellite embeddings with the geotessera Python library.
Geotessera fits situations like: classifying with Tessera embeddings — reading points; patches from the zarr store; selecting dataset versions; building land-cover and detection workflows on the embeddings.
Run `npx skills add ucam-eo/geotessera --skill geotessera -a claude-code`. Or copy the skill folder (skills/geotessera in ucam-eo/geotessera) into .claude/skills/geotessera in your project. Claude Code loads it when a task matches its description.
Run `npx skills add ucam-eo/geotessera --skill geotessera -a codex`. Or copy the skill folder (skills/geotessera in ucam-eo/geotessera) into .agents/skills/geotessera in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add ucam-eo/geotessera --skill geotessera -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/geotessera, .gemini/skills/geotessera, .github/skills/geotessera and .opencode/skills/geotessera in your project.
Going by SKILL.md and its folder, Geotessera needs the command-line tools its instructions call (pip). Our summary lists: Python 3.
SKILL.md names 2 domains. As links in the text: github.com and geotessera.readthedocs.io. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Geotessera is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.6k tokens (SKILL.md is roughly 6.5k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Geotessera: Chroma Vector Database (Orchestra-Research/AI-Research-SKILLs, 13k stars), Retail Product Search Agent (google/adk-recipes, 10k stars), Llama Index Wiki (chujianyun/skills, 740 stars) and Sentence Transformers Embeddings (Orchestra-Research/AI-Research-SKILLs, 13k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
ucam-eo (a GitHub organization) maintains it in ucam-eo/geotessera, which has 354 GitHub stars. The repository was last updated on October 4, 2026.
Source: ucam-eo/geotessera on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.