Agent skill

Bio Spatial Transcriptomics Spatial Communication

by majiayu000 in majiayu000/claude-skill-registry

Analyze cell-cell communication in spatial transcriptomics data using ligand-receptor analysis with Squidpy.

MITAuto-check passedResearch & Science

Install Bio Spatial Transcriptomics Spatial Communication

skills CLI
$ npx skills add majiayu000/claude-skill-registry --skill bio-spatial-transcriptomics-spatial-communication -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install majiayu000/claude-skill-registry bio-spatial-transcriptomics-spatial-communication --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/majiayu000/claude-skill-registry.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/ai-ml/spatial-communication-gptomics-bioskills-2 .claude/skills/bio-spatial-transcriptomics-spatial-communication && rm -rf skills-src

Use ~/.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/

Facts

Skill name
bio-spatial-transcriptomics-spatial-communication
GitHub stars
666
Used in
2 other repos
Token cost
~1.9k tokens
SKILL.md length
76 words
Files
2
Skills in repo
1,273
Repo updated
First seen
Licence
MIT

At a glance

Analyze cell-cell communication in spatial transcriptomics data using ligand-receptor analysis with Squidpy.

  • Analyzing cell-cell communication in spatial context
  • SKILL.md covers Required Imports, Ligand-Receptor Analysis with…, Access Ligand-Receptor Results and Filter Significant Interactions, plus 10 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md
  • Tasks that involve Bioinformatics

What it does

Bio Spatial Transcriptomics Spatial Communication is an agent skill from majiayu000/claude-skill-registry. Analyze cell-cell communication in spatial transcriptomics data using ligand-receptor analysis with Squidpy. Infer intercellular signaling, identify communication pathways, and visualize interaction networks. Use when analyzing cell-cell communication in spatial context.

Its SKILL.md is about 1.9k tokens, which your agent loads only when the skill is triggered. The skill folder holds 1 other file (for example `metadata.json`).

It sits in Research & Science, covering Bioinformatics. The repository describes itself as: Searchable Claude Code skills catalog with source-linked guides and generated registry artifacts. The licence is MIT.

When your agent uses it

  • Analyzing cell-cell communication in spatial context
  • Tasks that involve Bioinformatics

Example prompts

  • “/bio-spatial-transcriptomics-spatial-communication”

Requirements

  • Python 3

What it can do on your machine

Read from SKILL.md and the folder at commit 2d14a69. It shows what the files ask for, not the result of running them.

  • Tool permissions

    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.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md (its code samples are python).

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Bio Spatial Transcriptomics Spatial Communication loads about 1.9k tokens when it runs. Until then it costs about 80 tokens; SKILL.md has 76 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~80
When it runs · the whole SKILL.md, loaded when a task matches
~1.9k

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.

Safety

Auto-check passed

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.

SKILL.md

The full file from majiayu000/claude-skill-registry at commit 2d14a69, republished under its MIT licence (© majiayu000). 76 words, ~1,925 tokens.

Download SKILL.mdSave it as .claude/skills/bio-spatial-transcriptomics-spatial-communication/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
bio-spatial-transcriptomics-spatial-communication
description
Analyze cell-cell communication in spatial transcriptomics data using ligand-receptor analysis with Squidpy. Infer intercellular signaling, identify communication pathways, and visualize interaction networks. Use when analyzing cell-cell communication in spatial context.
tool_type
python
primary_tool
squidpy

Spatial Cell-Cell Communication

Analyze ligand-receptor interactions and cell-cell communication in spatial data.

Required Imports

python
import squidpy as sq
import scanpy as sc
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt

Ligand-Receptor Analysis with Squidpy

python
# Requires clustered data with cell type annotations
adata = sc.read_h5ad('clustered_spatial.h5ad')

# Build spatial neighbors if not already done
sq.gr.spatial_neighbors(adata, coord_type='generic', n_neighs=6)

# Run ligand-receptor analysis
sq.gr.ligrec(
    adata,
    cluster_key='cell_type',  # Column with cell type annotations
    n_perms=100,  # Permutations for significance testing
    threshold=0.01,  # P-value threshold
    copy=False,
)

# Results stored in adata.uns['cell_type_ligrec']

Access Ligand-Receptor Results

python
# Get results dictionary
ligrec_results = adata.uns['cell_type_ligrec']

# Access different result components
means = ligrec_results['means']  # Mean expression
pvalues = ligrec_results['pvalues']  # P-values from permutation test
metadata = ligrec_results['metadata']  # Ligand-receptor pair annotations

print(f'Tested {len(means.columns)} ligand-receptor pairs')
print(f'Cell type combinations: {len(means.index)}')

Filter Significant Interactions

python
# Get significant interactions
pval_threshold = 0.05

# Flatten results to DataFrame
interactions = []
for source_target in pvalues.index:
    for lr_pair in pvalues.columns:
        pval = pvalues.loc[source_target, lr_pair]
        mean_expr = means.loc[source_target, lr_pair]
        if pval < pval_threshold and not np.isnan(mean_expr):
            source, target = source_target
            ligand, receptor = lr_pair
            interactions.append({
                'source': source,
                'target': target,
                'ligand': ligand,
                'receptor': receptor,
                'mean': mean_expr,
                'pvalue': pval,
            })

interactions_df = pd.DataFrame(interactions)
print(f'Significant interactions: {len(interactions_df)}')
print(interactions_df.head(10))

Visualize Ligand-Receptor Results

python
# Dot plot of top interactions
sq.pl.ligrec(
    adata,
    cluster_key='cell_type',
    source_groups=['Macrophage', 'T_cell'],  # Filter source cell types
    target_groups=['Epithelial', 'Fibroblast'],  # Filter target cell types
    pvalue_threshold=0.05,
    remove_empty_interactions=True,
)

Specific Ligand-Receptor Pairs

python
# Analyze specific pairs of interest
pairs_of_interest = [
    ('CD40LG', 'CD40'),
    ('TGFB1', 'TGFBR1'),
    ('CCL2', 'CCR2'),
]

sq.pl.ligrec(
    adata,
    cluster_key='cell_type',
    means_range=(0.5, 5),  # Filter by expression level
    pvalue_threshold=0.01,
)

Custom Ligand-Receptor Database

python
# Use custom ligand-receptor pairs
custom_pairs = pd.DataFrame({
    'ligand': ['GENE1', 'GENE2', 'GENE3'],
    'receptor': ['GENE4', 'GENE5', 'GENE6'],
})

sq.gr.ligrec(
    adata,
    cluster_key='cell_type',
    interactions=custom_pairs,
    n_perms=100,
)

Interaction Heatmap

python
# Create heatmap of interaction counts per cell type pair
def count_interactions_per_pair(pvalues, threshold=0.05):
    counts = {}
    for source_target in pvalues.index:
        sig_count = (pvalues.loc[source_target] < threshold).sum()
        counts[source_target] = sig_count
    return counts

counts = count_interactions_per_pair(pvalues)

# Convert to matrix
cell_types = adata.obs['cell_type'].unique()
count_matrix = pd.DataFrame(0, index=cell_types, columns=cell_types)
for (source, target), count in counts.items():
    count_matrix.loc[source, target] = count

plt.figure(figsize=(8, 8))
plt.imshow(count_matrix.values, cmap='Reds')
plt.xticks(range(len(cell_types)), cell_types, rotation=45, ha='right')
plt.yticks(range(len(cell_types)), cell_types)
plt.colorbar(label='Number of significant interactions')
plt.title('Cell-cell communication strength')
plt.tight_layout()
plt.savefig('interaction_heatmap.png', dpi=150)

Network Visualization

python
import networkx as nx

# Build interaction network
G = nx.DiGraph()

# Add nodes (cell types)
for ct in adata.obs['cell_type'].unique():
    G.add_node(ct)

# Add edges (interactions)
for _, row in interactions_df.iterrows():
    if G.has_edge(row['source'], row['target']):
        G[row['source']][row['target']]['weight'] += 1
    else:
        G.add_edge(row['source'], row['target'], weight=1)

# Draw network
pos = nx.spring_layout(G, k=2, seed=42)
weights = [G[u][v]['weight'] for u, v in G.edges()]

plt.figure(figsize=(10, 10))
nx.draw_networkx_nodes(G, pos, node_size=1000, node_color='lightblue')
nx.draw_networkx_labels(G, pos, font_size=10)
nx.draw_networkx_edges(G, pos, width=[w/max(weights)*5 for w in weights],
                        edge_color='gray', arrows=True, arrowsize=20)
plt.title('Cell-cell communication network')
plt.axis('off')
plt.savefig('communication_network.png', dpi=150)

Spatial Visualization of Communication

python
# Visualize ligand and receptor expression spatially
ligand = 'CCL2'
receptor = 'CCR2'

fig, axes = plt.subplots(1, 3, figsize=(15, 5))

# Ligand expression
sc.pl.spatial(adata, color=ligand, ax=axes[0], show=False, title=f'{ligand} (ligand)')

# Receptor expression
sc.pl.spatial(adata, color=receptor, ax=axes[1], show=False, title=f'{receptor} (receptor)')

# Cell types
sc.pl.spatial(adata, color='cell_type', ax=axes[2], show=False, title='Cell types')

plt.tight_layout()
plt.savefig('ligand_receptor_spatial.png', dpi=150)

Compare Communication Between Conditions

python
# Run separately for each condition
for condition in adata.obs['condition'].unique():
    adata_cond = adata[adata.obs['condition'] == condition].copy()
    sq.gr.spatial_neighbors(adata_cond, coord_type='generic', n_neighs=6)
    sq.gr.ligrec(adata_cond, cluster_key='cell_type', n_perms=100)
    adata_cond.uns[f'ligrec_{condition}'] = adata_cond.uns['cell_type_ligrec']

# Compare interaction counts
for condition in ['control', 'treated']:
    results = adata.uns[f'ligrec_{condition}']
    n_sig = (results['pvalues'] < 0.05).sum().sum()
    print(f'{condition}: {n_sig} significant interactions')

Pathway Enrichment of Communication Partners

python
# Get genes involved in significant interactions
ligands = interactions_df['ligand'].unique()
receptors = interactions_df['receptor'].unique()
comm_genes = list(set(ligands) | set(receptors))

print(f'Genes involved in communication: {len(comm_genes)}')

# Use for pathway enrichment with pathway-analysis skills
# genes_for_enrichment = comm_genes

Export Results

python
# Save significant interactions
interactions_df.to_csv('significant_interactions.csv', index=False)

# Save as edge list for network tools
edges = interactions_df[['source', 'target', 'ligand', 'receptor', 'mean', 'pvalue']]
edges.to_csv('communication_edges.csv', index=False)
  • spatial-neighbors - Build spatial graphs (prerequisite)
  • spatial-domains - Identify cell types for communication analysis
  • pathway-analysis - Enrich communication genes for pathways
  • single-cell/markers-annotation - Annotate cell types

© majiayu000, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 1 other file in skills/ai-ml/spatial-communication-gptomics-bioskills-2 of majiayu000/claude-skill-registry.

  • SKILL.md
  • metadata.json

Open the folder on GitHubat commit 2d14a69

Used in 2 other repositories

We found 2 copies of this SKILL.md (exact, near-identical or edited) in other folders, from 2 other GitHub owners. This page covers the copy in majiayu000/claude-skill-registry, which our catalogue first saw on October 7, 2026.

Compare with similar skills

Bio Spatial Transcriptomics Spatial Communication 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.

Bio Spatial Transcriptomics Spatial Communication compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Bio Spatial Transcriptomics Spatial Communication this skillmajiayu000/claude-skill-registry6662 repos~1.9kAutomated safety check: PassMIT
Dbsnp Databasegoogle-deepmind/science-skills3.2k3 repos~3.4kAutomated safety check: NotesApache-2.0
Metabolic Study Planneraiming-lab/AutoResearchClaw15k—~1.9kAutomated safety check: PassMIT
13C Metabolic Flux AnalysisK-Dense-AI/scientific-agent-skills48k1 repos~3.2kAutomated safety check: PassMIT
Alphagenome Single Variant Analysisgoogle-deepmind/science-skills3.2k2 repos~3kAutomated safety check: NotesApache-2.0
MFA Pipeline Orchestratoraiming-lab/AutoResearchClaw15k—~923Automated safety check: PassMIT

Similar skills

  • Dbsnp Database

    google-deepmind/science-skills

    A skill your agent uses when you want to look up, map, and search for short genetic variants (SNPs, indels) in NCBI's dbSNP database.

    3.2k GitHub starsUsed in 3 repos~3.4k tokens
    Research & ScienceAuto-check: notes
  • Metabolic Study Planner

    aiming-lab/AutoResearchClaw

    Turns a broad metabolic modelling topic into a concrete, paper-shaped plan with organism, model, perturbations, metrics and figures before any FBA code is written.

    15k GitHub stars~1.9k tokensUpdated 1 mo ago
    Research & ScienceAuto-check passed
  • 13C Metabolic Flux Analysis

    K-Dense-AI/scientific-agent-skills

    Estimates reaction fluxes inside cells from steady-state carbon-13 labeling data with a bundled mfapy-based solver, and reports which fluxes the data pin down.

    48k GitHub starsUsed in 1 repo~3.2k tokens
    Research & ScienceAuto-check passed
  • Alphagenome Single Variant Analysis

    google-deepmind/science-skills

    Analyzes genetic variant effects on gene expression (RNA-seq), chromatin accessibility (DNASE), histone marks (ChIP), and transcription factors using the AlphaGenome API.

    3.2k GitHub starsUsed in 2 repos~3k tokens
    Research & ScienceAuto-check: notes
  • MFA Pipeline Orchestrator

    aiming-lab/AutoResearchClaw

    Runs a metabolic flux analysis from model loading to phenotype prediction and figures by handing work to four sub-agents in sequence.

    15k GitHub stars~923 tokensUpdated 1 mo ago
    Research & ScienceAuto-check passed
  • Singlecell Qc

    xuzhougeng/wisp-science

    A skill your agent uses when designing, reviewing, or implementing single-cell RNA-seq QC in Python or R with a human-in-the-loop, data-driven approach.

    1k GitHub stars~1.6k tokensUpdated yesterday
    Research & ScienceAuto-check passed

More from majiayu000/claude-skill-registry

All 1,273 skills in this repo
  • Deep Research

    majiayu000/claude-skill-registry

    Multi-source deep research using firecrawl and exa MCPs. An agent skill from majiayu000/claude-skill-registry.

    666 GitHub starsUsed in 6 repos~1.1k tokens
    Auto-check passed
  • Exa Search

    majiayu000/claude-skill-registry

    Neural search via Exa MCP for web, code, and company research.

    666 GitHub starsUsed in 5 repos~856 tokens
    Auto-check passed
  • Fal AI Media

    majiayu000/claude-skill-registry

    Unified media generation via fal.ai MCP — image, video, and audio.

    666 GitHub starsUsed in 5 repos~1.7k tokens
    Auto-check passed
  • Pyzotero

    majiayu000/claude-skill-registry

    Interact with Zotero reference management libraries using the pyzotero Python client.

    666 GitHub starsUsed in 5 repos~1.6k tokens
    Auto-check: notes
  • Bgpt Paper Search

    majiayu000/claude-skill-registry

    Search scientific papers and retrieve structured experimental data extracted from full-text studies via the BGPT MCP server.

    666 GitHub starsUsed in 4 repos~619 tokens
    Auto-check: notes
  • Bio Alignment Pairwise

    majiayu000/claude-skill-registry

    Perform pairwise sequence alignment using Biopython Bio.Align.PairwiseAligner.

    666 GitHub starsUsed in 4 repos~1.7k tokens
    Auto-check passed

Questions about Bio Spatial Transcriptomics Spatial Communication

What does Bio Spatial Transcriptomics Spatial Communication do?

Analyze cell-cell communication in spatial transcriptomics data using ligand-receptor analysis with Squidpy. Bio Spatial Transcriptomics Spatial Communication is an agent skill from majiayu000/claude-skill-registry. Analyze cell-cell communication in spatial transcriptomics data using ligand-receptor analysis with Squidpy.

When should I use Bio Spatial Transcriptomics Spatial Communication?

Bio Spatial Transcriptomics Spatial Communication fits situations like: analyzing cell-cell communication in spatial context; tasks that involve Bioinformatics.

How do I install Bio Spatial Transcriptomics Spatial Communication in Claude Code?

Run `npx skills add majiayu000/claude-skill-registry --skill bio-spatial-transcriptomics-spatial-communication -a claude-code`. Or copy the skill folder (skills/ai-ml/spatial-communication-gptomics-bioskills-2 in majiayu000/claude-skill-registry) into .claude/skills/bio-spatial-transcriptomics-spatial-communication in your project. Claude Code loads it when a task matches its description.

How do I install Bio Spatial Transcriptomics Spatial Communication in Codex?

Run `npx skills add majiayu000/claude-skill-registry --skill bio-spatial-transcriptomics-spatial-communication -a codex`. Or copy the skill folder (skills/ai-ml/spatial-communication-gptomics-bioskills-2 in majiayu000/claude-skill-registry) into .agents/skills/bio-spatial-transcriptomics-spatial-communication in your project. Codex loads it when a task matches its description.

Can I use Bio Spatial Transcriptomics Spatial Communication in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add majiayu000/claude-skill-registry --skill bio-spatial-transcriptomics-spatial-communication -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-spatial-transcriptomics-spatial-communication, .gemini/skills/bio-spatial-transcriptomics-spatial-communication, .github/skills/bio-spatial-transcriptomics-spatial-communication and .opencode/skills/bio-spatial-transcriptomics-spatial-communication in your project.

What does Bio Spatial Transcriptomics Spatial Communication need to run?

SKILL.md names no scripts, command-line tools or credentials: Bio Spatial Transcriptomics Spatial Communication is instructions for the agent only. Our summary lists: Python 3.

Does Bio Spatial Transcriptomics Spatial Communication access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Bio Spatial Transcriptomics Spatial Communication safe to install?

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.

What licence does Bio Spatial Transcriptomics Spatial Communication use?

Bio Spatial Transcriptomics Spatial Communication is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Bio Spatial Transcriptomics Spatial Communication use?

About 1.9k tokens (SKILL.md is roughly 7.7k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Bio Spatial Transcriptomics Spatial Communication?

Skills that share tags, products or a category with Bio Spatial Transcriptomics Spatial Communication: Dbsnp Database (google-deepmind/science-skills, 3.2k stars), Metabolic Study Planner (aiming-lab/AutoResearchClaw, 15k stars), 13C Metabolic Flux Analysis (K-Dense-AI/scientific-agent-skills, 48k stars) and Alphagenome Single Variant Analysis (google-deepmind/science-skills, 3.2k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Bio Spatial Transcriptomics Spatial Communication?

majiayu000 (a GitHub user) maintains it in majiayu000/claude-skill-registry, which has 666 GitHub stars. The repository holds 1,273 skills in this directory. The repository was last updated on October 7, 2026.

Source: majiayu000/claude-skill-registry on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.