Antv L7
antvis/L7
Comprehensive guide for AntV L7 geospatial visualization library.
Analyze spatial cell-cell interactions, neighborhoods, and niches in IMC/MIBI data with squidpy and imcRtools, covering neighborhood-enrichment permutation nulls, the abundance-vs-density confound…
$ npx skills add GPTomics/bioSkills --skill bio-imaging-mass-cytometry-spatial-analysis -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install GPTomics/bioSkills bio-imaging-mass-cytometry-spatial-analysis --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/GPTomics/bioSkills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/imaging-mass-cytometry/spatial-analysis .claude/skills/bio-imaging-mass-cytometry-spatial-analysis && 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 "bio-imaging-mass-cytometry-spatial-analysis" agent skill from https://github.com/GPTomics/bioSkills/tree/main/imaging-mass-cytometry/spatial-analysis into .claude/skills/bio-imaging-mass-cytometry-spatial-analysis/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "bio-imaging-mass-cytometry-spatial-analysis", 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/GPTomics/bioSkills/tree/main/imaging-mass-cytometry/spatial-analysisType 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 GPTomics/bioSkills --skill bio-imaging-mass-cytometry-spatial-analysis -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install GPTomics/bioSkills bio-imaging-mass-cytometry-spatial-analysis --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/GPTomics/bioSkills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/imaging-mass-cytometry/spatial-analysis .agents/skills/bio-imaging-mass-cytometry-spatial-analysis && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "bio-imaging-mass-cytometry-spatial-analysis" agent skill from https://github.com/GPTomics/bioSkills/tree/main/imaging-mass-cytometry/spatial-analysis into .agents/skills/bio-imaging-mass-cytometry-spatial-analysis/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "bio-imaging-mass-cytometry-spatial-analysis", 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 GPTomics/bioSkills --skill bio-imaging-mass-cytometry-spatial-analysis -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install GPTomics/bioSkills bio-imaging-mass-cytometry-spatial-analysis --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/GPTomics/bioSkills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/imaging-mass-cytometry/spatial-analysis .cursor/skills/bio-imaging-mass-cytometry-spatial-analysis && 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 "bio-imaging-mass-cytometry-spatial-analysis" agent skill from https://github.com/GPTomics/bioSkills/tree/main/imaging-mass-cytometry/spatial-analysis into .cursor/skills/bio-imaging-mass-cytometry-spatial-analysis/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "bio-imaging-mass-cytometry-spatial-analysis", 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/GPTomics/bioSkills.git --path imaging-mass-cytometry/spatial-analysis--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 GPTomics/bioSkills --skill bio-imaging-mass-cytometry-spatial-analysis -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install GPTomics/bioSkills bio-imaging-mass-cytometry-spatial-analysis --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/GPTomics/bioSkills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/imaging-mass-cytometry/spatial-analysis .gemini/skills/bio-imaging-mass-cytometry-spatial-analysis && 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 "bio-imaging-mass-cytometry-spatial-analysis" agent skill from https://github.com/GPTomics/bioSkills/tree/main/imaging-mass-cytometry/spatial-analysis into .gemini/skills/bio-imaging-mass-cytometry-spatial-analysis/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "bio-imaging-mass-cytometry-spatial-analysis", 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 GPTomics/bioSkills bio-imaging-mass-cytometry-spatial-analysisInstalls 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 GPTomics/bioSkills --skill bio-imaging-mass-cytometry-spatial-analysis -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/GPTomics/bioSkills.git skills-src && mkdir -p .github/skills && cp -r skills-src/imaging-mass-cytometry/spatial-analysis .github/skills/bio-imaging-mass-cytometry-spatial-analysis && 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 "bio-imaging-mass-cytometry-spatial-analysis" agent skill from https://github.com/GPTomics/bioSkills/tree/main/imaging-mass-cytometry/spatial-analysis into .github/skills/bio-imaging-mass-cytometry-spatial-analysis/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "bio-imaging-mass-cytometry-spatial-analysis", 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 GPTomics/bioSkills --skill bio-imaging-mass-cytometry-spatial-analysis -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install GPTomics/bioSkills bio-imaging-mass-cytometry-spatial-analysis --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/GPTomics/bioSkills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/imaging-mass-cytometry/spatial-analysis .opencode/skills/bio-imaging-mass-cytometry-spatial-analysis && 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 "bio-imaging-mass-cytometry-spatial-analysis" agent skill from https://github.com/GPTomics/bioSkills/tree/main/imaging-mass-cytometry/spatial-analysis into .opencode/skills/bio-imaging-mass-cytometry-spatial-analysis/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "bio-imaging-mass-cytometry-spatial-analysis", 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.
bio-imaging-mass-cytometry-spatial-analysisAnalyze spatial cell-cell interactions, neighborhoods, and niches in IMC/MIBI data with squidpy and imcRtools, covering neighborhood-enrichment permutation nulls, the abundance-vs-density confound…
Bio Imaging Mass Cytometry Spatial Analysis is an agent skill from GPTomics/bioSkills. Analyze spatial cell-cell interactions, neighborhoods, and niches in IMC/MIBI data with squidpy and imcRtools, covering neighborhood-enrichment permutation nulls, the abundance-vs-density confound, inhomogeneous Ripley's K, cellular-neighborhood discovery, graph-construction (contact vs proximity), and edge effects. Use when testing whether cell types co-locate, choosing a spatial null, building a neighbor graph, discovering tissue niches, or deciding whether a spatial pattern is real or a density/segmentation…
Its SKILL.md is about 3.5k tokens, which your agent loads only when the skill is triggered. The skill folder holds 3 other files (for example `examples/spatial_analysis.py` and `usage-guide.md`).
It sits in Data & Analytics, covering Geospatial analysis. The repository describes itself as: a set of SKILLS.md for doing bioinformatics with agents like claude code. The licence is MIT.
Read from SKILL.md and the folder at commit d91ed3d. 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.
Ships script files (Python), which the agent can run.
Shell commands in SKILL.md call:
pipFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use pip, which can reach the network depending on how they are called.
From 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.
Bio Imaging Mass Cytometry Spatial Analysis loads about 3.5k tokens when it runs. Until then it costs about 142 tokens; SKILL.md has 1,492 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 GPTomics/bioSkills at commit d91ed3d, republished under its MIT licence (© GPTomics). 1,492 words, ~3,490 tokens.
.claude/skills/bio-imaging-mass-cytometry-spatial-analysis/SKILL.md (or your agent's skills folder). This skill also uses 2 other files; get the full folder from GitHub.Reference examples tested with: squidpy 1.3+, scanpy 1.10+, anndata 0.10+, numpy 1.26+, imcRtools 1.8+ (R), spatstat 3.0+ (R)
Before using code patterns, verify installed versions match. If versions differ:
pip show <package> then help(module.function) to check signaturespackageVersion('<pkg>') then ?function_name to verify parametersIf code throws ImportError, AttributeError, or TypeError, introspect the installed package and adapt the example to match the actual API rather than retrying.
Notes specific to this skill: squidpy's nhood_enrichment z-score is unbounded and scales with graph degree, so it is NOT comparable across images of different cell counts. squidpy does not implement Ripley's K (its ripley and co_occurrence are loose analogs); the inhomogeneous K that conditions on tissue density lives in R spatstat::Kinhom/Kcross.inhom. Build the graph with gr.spatial_neighbors(coord_type='generic') before any test.
"Analyze spatial cell interactions in my IMC data" -> Build a neighbor graph, then test cell-type co-location against an explicitly chosen null, or discover recurrent niches.
squidpy.gr.spatial_neighbors, squidpy.gr.nhood_enrichment, squidpy.gr.co_occurrenceimcRtools::buildSpatialGraph, spatstat::Kcross.inhomA "spatial interaction" or "niche" is not an observation; it is a test against a null model, and which null is chosen (label-shuffle vs CSR vs density-conditioned vs patient-level) decides whether the result is real biology, a density gradient, a segmentation artifact, or upstream clustering. The label-permutation null (histoCAT, squidpy nhood_enrichment) holds cell positions fixed and shuffles identities: it DOES control global abundance (a rare type cannot show spurious enrichment just from being rare) but it does NOT control local density or tissue architecture -- so two cell types that merely share an anatomical compartment (both enriched in a follicle or at an invasive margin) score as strongly "interacting" with no direct affinity. This density confound is the dominant false-positive engine, and a finding significant under CSR but null under inhomogeneous Ripley's K is a density artifact, not an interaction. Two further facts compound it: the nhood_enrichment z-score is unbounded and graph-degree-dependent, so a z of 30 in a 50k-cell image and a z of 8 in a 5k-cell image are not on the same scale (never threshold a fixed z across heterogeneous images); and the replicate is the patient, not the cell or the image, so a per-cell test over tens of thousands of cells reports p~0 for trivial effects (pseudoreplication). The skill forces two questions onto every analysis: against which null, and at which unit.
| Method | Measures | Null / inference | Confound it does NOT control |
|---|---|---|---|
histoCAT / squidpy nhood_enrichment | A neighbors B more/less than chance | within-image label shuffle; z-score | local density, architecture, edges |
squidpy interaction_matrix | raw cluster-cluster edge counts | none (descriptive) | everything -- just counts |
squidpy co_occurrence | P(B | A at distance d) / P(B) | none (descriptive curve) | needs its own CSR null |
| Ripley's K/L, cross-K, K_inhom | clustering vs dispersion over radii | CSR; K_inhom conditions on intensity | tissue inhomogeneity (unless K_inhom); ROI shape |
| Cellular Neighborhoods (CN) | recurrent local compositions (niches) | none -- clustering, not a test | window size = scale; doubly-derived |
| Spatial-LDA / UTAG | microenvironment topics / tissue domains | generative / unsupervised | topic/domain count arbitrary |
| Moran's I / Geary's C | spatial autocorrelation of a continuous mark | permutation / analytic | graph definition; global stat masks local |
| Question | Method | Why |
|---|---|---|
| Do two named types co-locate more than chance? (fast screen, one image) | nhood_enrichment / histoCAT | abundance-aware permutation z |
| Same, but worried about density/architecture | inhomogeneous cross-K (Kcross.inhom) | conditions on the tissue's own intensity surface |
| At what scale is a type clustered/dispersed? | Ripley's K/L over radii (edge-corrected) | second-order structure across distance |
| What recurrent multicellular niches exist? (discovery) | Cellular Neighborhoods (sweep window k) | recurrent compositions; no built-in test |
| Is a continuous marker/score spatially structured? | Moran's I (global) / Geary's C (local) | autocorrelation |
| Does an interaction/niche differ between conditions? | hand off to differential-analysis | per-image summary -> patient unit -> mixed model + FDR |
Goal: Construct the graph whose definition matches the biological claim.
Approach: Delaunay approximates physical adjacency (contact/juxtacrine) but invents long edges across lumen/necrosis, so prune by a max distance; fixed radius gives true proximity (paracrine) at a stated micron scale; kNN silently mixes contact and proximity because fixed k spans microns in dense regions and hundreds of microns in sparse ones. Build the graph per image.
import squidpy as sq
import numpy as np
# contact graph: Delaunay, then prune edges longer than a biological max distance (um)
sq.gr.spatial_neighbors(adata, coord_type='generic', delaunay=True)
dist = adata.obsp['spatial_distances']
keep = dist.copy(); keep.data[keep.data > 30] = 0; keep.eliminate_zeros() # cap at ~30 um
adata.obsp['spatial_connectivities'] = (keep > 0).astype(float)
# OR proximity graph: fixed radius at a justified micron scale (paracrine range)
# sq.gr.spatial_neighbors(adata, coord_type='generic', radius=30.0)Goal: Test co-location per image with the abundance-aware permutation null, knowing its blind spot.
Approach: Run nhood_enrichment per image (so the shuffle is within-image), keep the z as a per-image summary, and never threshold a fixed z across images of different size. Cross-check density-driven hits against inhomogeneous K.
per_image_z = {}
for img_id, idx in adata.obs.groupby('image_id').groups.items():
sub = adata[idx].copy()
sq.gr.spatial_neighbors(sub, coord_type='generic', delaunay=True)
sq.gr.nhood_enrichment(sub, cluster_key='cell_type', seed=0)
per_image_z[img_id] = sub.uns['cell_type_nhood_enrichment']['zscore']
# aggregate these per-image summaries to the PATIENT unit in differential-analysis, not hereGoal: Find recurrent local cell-type compositions, treating them as exploratory.
Approach: Per cell, summarize the composition of its window of neighbors, then cluster the windows. The window size IS the spatial scale and is almost always unjustified, so sweep it and report that the biological conclusion survives k in {10, 20, 30}. A CN has no built-in significance test; significance enters only as a cross-condition comparison (differential-analysis).
from sklearn.cluster import KMeans
import pandas as pd
def cellular_neighborhoods(adata, k_window=20, n_cn=10):
sq.gr.spatial_neighbors(adata, coord_type='generic', n_neighs=k_window) # window = k neighbors
conn = adata.obsp['spatial_connectivities']
onehot = pd.get_dummies(adata.obs['cell_type']).values
comp = (conn @ onehot) # neighbor composition per cell
comp = comp / comp.sum(axis=1, keepdims=True).clip(min=1)
return KMeans(n_clusters=n_cn, random_state=0).fit_predict(comp)
adata.obs['CN'] = cellular_neighborhoods(adata, k_window=20) # sweep k_window to check stabilityTrigger: reporting a z-score as a "significant interaction." Mechanism: the label-shuffle null absorbs abundance but not local density, so co-compartmentalized types score as interacting. Symptom: every type pair sharing a region looks attracted. Fix: name the null; cross-check with inhomogeneous cross-K; or shuffle within a compartment, not the whole image.
Trigger: calling z>2 "significant" across images of different cell counts. Mechanism: the z is unbounded and scales with graph degree. Symptom: large images dominate; small images never reach threshold. Fix: rank within image or convert to an effect size; aggregate per-image summaries to the patient unit.
Trigger: kNN graph results called "contact," or Delaunay across tissue gaps. Mechanism: fixed k mixes contact and proximity by density; Delaunay invents long edges across voids. Symptom: phantom interactions across lumen/necrosis. Fix: prune Delaunay by a max distance; use fixed radius for paracrine claims; state the micron scale.
Trigger: homogeneous-Poisson K on structured tissue. Mechanism: CSR assumes constant intensity, so everything tests as clustered. Symptom: universal "clustering". Fix: inhomogeneous K (Kinhom/Kcross.inhom) that divides by the estimated intensity surface.
Trigger: treating a CN as established biology. Mechanism: it is doubly-derived (cluster cells -> cluster windows) with an arbitrary window and k, and no significance test. Symptom: different labs report different niches on the same tissue. Fix: sweep window k; report stability (NMI/ARI); validate niche-defining markers against raw images for spillover.
| Threshold | Source | Rationale |
|---|---|---|
| CN window = 10 nearest neighbors, 9 CNs retained | Schurch 2020 Cell 182:1341 | the canonical CN convention -- sweep it, do not adopt blindly |
| CODEX i-niches: Delaunay 1st-tier, k-means = 100 | Goltsev 2018 Cell 174:968 | window/scale is a choice, not a default |
| n_perm >= 10,000 for small corrected p | Schapiro 2017 Nat Methods 14:873 | n_perm=1000 floors p at ~1/1001, too coarse after FDR |
| BH-FDR across ~C(C+1)/2 type pairs x radii | multiplicity | ~200 pairs at p<0.05 guarantees false positives |
| Prune Delaunay at a biological max distance (e.g. ~30 um) | graph hygiene | removes edges across acellular voids |
| Error / symptom | Cause | Solution |
|---|---|---|
| "Significant interaction" that is two types in one compartment | density confound under label-shuffle | inhomogeneous cross-K; shuffle within compartment |
| p~0 across 50k cells | cell-level pseudoreplication | per-image summary -> patient unit (differential-analysis) |
| Niche changes with the window/k | window IS the scale | sweep k_window and n_cn; report stability |
| Boundary cells dominate a small ROI | ignored edge effects | edge-corrected K; erode/buffer the ROI interior |
| Many "significant" pairs | no multiple-testing correction | BH-FDR across all pairs and radii |
© GPTomics, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 2 other files in imaging-mass-cytometry/spatial-analysis of GPTomics/bioSkills.
Open the folder on GitHubat commit d91ed3d
We found 1 copy of this SKILL.md (exact, near-identical or edited) in other folders, from 1 other GitHub owner. This page covers the copy in GPTomics/bioSkills, which our catalogue first saw on October 7, 2026.
Bio Imaging Mass Cytometry Spatial Analysis 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 |
|---|---|---|---|---|---|---|
| Bio Imaging Mass Cytometry Spatial Analysis this skillGPTomics/bioSkills | 1.2k | 1 repos | ~3.5k | Automated safety check: Pass | MIT | |
| Antv L7antvis/L7 | 4.1k | — | ~1.4k | Automated safety check: Pass | MIT | |
| Portaljs Add Geodatopian/portaljs | 2.4k | 1 repos | ~1.7k | Automated safety check: Pass | MIT | |
| Thematic Mapzzhonglei/GeoCode-Release | 189 | — | ~3.1k | Automated safety check: Pass | MIT | |
| Rs Paper Pipelinethinson/RS-PaperClaw | 230 | — | ~319 | Automated safety check: Pass | MIT | |
| Remote Sensing Research Radarlimi124/remote-sensing-research-radar | 143 | — | ~1.3k | Automated safety check: Pass | None |
antvis/L7
Comprehensive guide for AntV L7 geospatial visualization library.
datopian/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.
zzhonglei/GeoCode-Release
Create well-designed maps that follow standard cartographic conventions.
thinson/RS-PaperClaw
A skill your agent uses when operating or maintaining the RS-PaperClaw pipeline that fetches remote-sensing arXiv papers, creates per-paper issues, builds daily digests, reconciles issue sets, and…
limi124/remote-sensing-research-radar
Track, retrieve, screen, and synthesize research frontiers for geospatial AI, remote sensing big data, and transferable computer vision methods.
FrancyJGLisboa/agent-skills-platform
Create a current, source-linked weather briefing for a named city using the Open-Meteo geocoding and forecast APIs.
GPTomics/bioSkills
Read, write, and convert multiple sequence alignment files using Biopython Bio.AlignIO.
GPTomics/bioSkills
Installs the bioSkills collection of 425 bioinformatics skills in one step, or only chosen categories, so sequencing, RNA-seq, single-cell and variant tasks get specialized help.
GPTomics/bioSkills
Write biological sequences to files (FASTA, FASTQ, GenBank, EMBL) using Biopython Bio.SeqIO.
GPTomics/bioSkills
Soft- or hard-clips PCR primer footprints from aligned amplicon BAMs so primer bases stop masquerading as confirmed reference sequence.
GPTomics/bioSkills
Filters BAM alignments by FLAG bits, mapping quality and regions with samtools view or pysam, with recipes for common keep and drop cases.
GPTomics/bioSkills
Create and use BAI/CSI indices for BAM/CRAM files using samtools and pysam.
Categories
Analyze spatial cell-cell interactions, neighborhoods, and niches in IMC/MIBI data with squidpy and imcRtools, covering neighborhood-enrichment permutation nulls, the abundance-vs-density confound…. Bio Imaging Mass Cytometry Spatial Analysis is an agent skill from GPTomics/bioSkills. Analyze spatial cell-cell interactions, neighborhoods, and niches in IMC/MIBI data with squidpy and imcRtools, covering neighborhood-enrichment permutation nulls, the abundance-vs-density confound, inhomogeneous Ripley's K, cellular-neighborhood discovery, graph-construction (contact vs proximity), and edge effects.
Bio Imaging Mass Cytometry Spatial Analysis fits situations like: testing whether cell types co-locate; choosing a spatial null; building a neighbor graph; discovering tissue niches.
Run `npx skills add GPTomics/bioSkills --skill bio-imaging-mass-cytometry-spatial-analysis -a claude-code`. Or copy the skill folder (imaging-mass-cytometry/spatial-analysis in GPTomics/bioSkills) into .claude/skills/bio-imaging-mass-cytometry-spatial-analysis in your project. Claude Code loads it when a task matches its description.
Run `npx skills add GPTomics/bioSkills --skill bio-imaging-mass-cytometry-spatial-analysis -a codex`. Or copy the skill folder (imaging-mass-cytometry/spatial-analysis in GPTomics/bioSkills) into .agents/skills/bio-imaging-mass-cytometry-spatial-analysis 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 GPTomics/bioSkills --skill bio-imaging-mass-cytometry-spatial-analysis -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/bio-imaging-mass-cytometry-spatial-analysis, .gemini/skills/bio-imaging-mass-cytometry-spatial-analysis, .github/skills/bio-imaging-mass-cytometry-spatial-analysis and .opencode/skills/bio-imaging-mass-cytometry-spatial-analysis in your project.
Going by SKILL.md and its folder, Bio Imaging Mass Cytometry Spatial Analysis needs Python for the scripts in its folder and the command-line tools its instructions call (pip). Our summary lists: Python 3.
SKILL.md contains no URLs. Its commands use pip, which can reach the network depending on how they are called. 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.
Bio Imaging Mass Cytometry Spatial Analysis is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 3.5k tokens (SKILL.md is roughly 14k 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 Bio Imaging Mass Cytometry Spatial Analysis: Antv L7 (antvis/L7, 4.1k stars), Portaljs Add Geo (datopian/portaljs, 2.4k stars), Thematic Map (zzhonglei/GeoCode-Release, 189 stars) and Rs Paper Pipeline (thinson/RS-PaperClaw, 230 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
GPTomics (a GitHub organization) maintains it in GPTomics/bioSkills, which has 1,218 GitHub stars. The repository holds 559 skills in this directory. The repository was last updated on August 15, 2026.
Source: GPTomics/bioSkills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.