Sc Metacell
TianGzlab/OmicsClaw
Load when aggregating single cells into metacells (sample-aware coarse-grained pseudo-cells) on a normalised scRNA AnnData via SEACells or KMeans on a low-D embedding.
Embed and annotate single-cell expression data with scGPT, a foundation model for single-cell biology.
$ npx skills add JimLiu/science-skills --skill scgpt -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install JimLiu/science-skills scgpt --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/JimLiu/science-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/scgpt .claude/skills/scgpt && 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 "scgpt" agent skill from https://github.com/JimLiu/science-skills/tree/main/skills/scgpt into .claude/skills/scgpt/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "scgpt", 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/JimLiu/science-skills/tree/main/skills/scgptType 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 JimLiu/science-skills --skill scgpt -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install JimLiu/science-skills scgpt --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/JimLiu/science-skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/scgpt .agents/skills/scgpt && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "scgpt" agent skill from https://github.com/JimLiu/science-skills/tree/main/skills/scgpt into .agents/skills/scgpt/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "scgpt", 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 JimLiu/science-skills --skill scgpt -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install JimLiu/science-skills scgpt --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/JimLiu/science-skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/scgpt .cursor/skills/scgpt && 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 "scgpt" agent skill from https://github.com/JimLiu/science-skills/tree/main/skills/scgpt into .cursor/skills/scgpt/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "scgpt", 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/JimLiu/science-skills.git --path skills/scgpt--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 JimLiu/science-skills --skill scgpt -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install JimLiu/science-skills scgpt --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/JimLiu/science-skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/scgpt .gemini/skills/scgpt && 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 "scgpt" agent skill from https://github.com/JimLiu/science-skills/tree/main/skills/scgpt into .gemini/skills/scgpt/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "scgpt", 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 JimLiu/science-skills scgptInstalls 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 JimLiu/science-skills --skill scgpt -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/JimLiu/science-skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/scgpt .github/skills/scgpt && 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 "scgpt" agent skill from https://github.com/JimLiu/science-skills/tree/main/skills/scgpt into .github/skills/scgpt/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "scgpt", 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 JimLiu/science-skills --skill scgpt -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install JimLiu/science-skills scgpt --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/JimLiu/science-skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/scgpt .opencode/skills/scgpt && 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 "scgpt" agent skill from https://github.com/JimLiu/science-skills/tree/main/skills/scgpt into .opencode/skills/scgpt/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "scgpt", 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.
scgptEmbed and annotate single-cell expression data with scGPT, a foundation model for single-cell biology.
Scgpt is an agent skill from JimLiu/science-skills. Embed and annotate single-cell expression data with scGPT, a foundation model for single-cell biology. Use this skill when: (1) Producing cell embeddings from an AnnData for clustering/integration, (2) Zero-shot or fine-tuned cell-type annotation, (3) Gene-level representation for perturbation/GRN tasks. For probabilistic single-cell models (scVI etc.), use the scvi-tools library.
Its SKILL.md is about 1.3k 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 Research & Science, covering Bioinformatics and Embeddings. It works with AnnData and scvi-tools. The licence is Apache-2.0.
Read from SKILL.md and the folder at commit fb309c3. 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.
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.
No URLs in SKILL.md.
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.
Scgpt loads about 1.3k tokens when it runs. Until then it costs about 97 tokens; SKILL.md has 337 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 JimLiu/science-skills at commit fb309c3, republished under its Apache-2.0 licence (© JimLiu). 337 words, ~1,330 tokens.
.claude/skills/scgpt/SKILL.md (or your agent's skills folder).| Requirement | Minimum | Recommended |
|---|---|---|
| Python | 3.10+ | 3.11 |
| CUDA | 12.1+ | 12.4+ |
| GPU VRAM | 16 GB | 24 GB+ |
scGPT checkpoints are raw directories (args.json, best_model.pt,
vocab.json) — not Hugging Face hub repos. Point at the directory, not an HF
repo id.
from scgpt.tokenizer.gene_tokenizer import GeneVocab
gv = GeneVocab.from_file("/path/to/scgpt-human/vocab.json")
print(len(gv)) # 60697 for the released human checkpointimport anndata as ad
from scgpt.tasks import embed_data
adata = ad.read_h5ad("dataset.h5ad") # var must contain a gene-name column
emb = embed_data(
adata,
model_dir="/path/to/scgpt-human",
gene_col="feature_name",
use_fast_transformer=False, # see Gotchas
)
# emb is an AnnData with .obsm["X_scGPT"]embed_data returns an AnnData whose .obsm["X_scGPT"] is the per-cell
embedding (n_cells × emb_dim, 512 by default). Downstream: feed to
scanpy.pp.neighbors / scanpy.tl.umap.
Needs ≥24 GB VRAM and the released human checkpoint (~200 MB:
args.json, best_model.pt, vocab.json). Read
compute_details({provider, mode:'read'}) for an environment with scgpt
and a pre-cached checkpoint directory, then:
c = host.compute.create(provider)
job = c.submit_job(
intent="scGPT embed 50k cells — 1×GPU, ~5 min",
inputs=[
{"src": "dataset.h5ad", "dst_filename": "dataset.h5ad"},
{"src": "embed.py", "dst_filename": "embed.py"},
],
command="python3 embed.py",
environment=..., # env name from compute_details
outputs=["embedded.h5ad"],
timeout_seconds=1800,
)
print(job.job_id) # cell ends here — kernel never blocks on computeThen call the wait_for_notification brain-tool. When the
compute_done notification arrives, act on its payload:
save_artifacts(payload["featured_files"]) # paths under hpc/<job_id>/For the full result dict (output_files, remote_workdir, …), re-enter the
kernel and bind the compute handle separately — .close() lives on the
handle, not on the job object:
h = host.compute.create(provider)
res = h.attach_job(job_id).result()
h.close()See the remote-compute-ssh / remote-compute-modal skill for the
orchestration details.
In embed.py, pass model_dir= the checkpoint path from compute_details.
If flash-attn is unavailable in that environment, set
use_fast_transformer=False.
use_fast_transformer default is True but resolves to a FlashAttention
path that may not import in every env. Pass use_fast_transformer=False
unless you've confirmed flash_attn loads cleanly.torchtext.vocab.Vocab; in
environments without torchtext a pure-Python shim provides Vocab —
functionally identical for GeneVocab, but if you hit
AttributeError: 'Vocab' object has no attribute …, you're on a stale shim.gene_col to the column in adata.var that holds symbols.| Symptom | Fix |
|---|---|
flash_attn is not installed warning at import | Harmless; pass use_fast_transformer=False |
'Vocab' object has no attribute 'vocab' | Env has an old torchtext shim — update the env |
| Nearly all genes dropped | Wrong gene_col; check adata.var.columns |
| "scgpt not in manifest" / env-detection misses scGPT | The baked env manifest lists the distribution as scGPT (and flash_attn), pip's canonical casing — normalize manifest keys before lookup: name.lower().replace('-', '_') |
Next: cluster/annotate the embedding with the scanpy library
(sc.pp.neighbors → sc.tl.leiden / sc.tl.umap), or compare to an
scvi-tools latent space on the same data.
© JimLiu, Apache-2.0. 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/scgpt of JimLiu/science-skills.
Open the folder on GitHubat commit fb309c3
We found 4 copies of this SKILL.md (exact, near-identical or edited) in other folders, from 4 other GitHub owners. This page covers the copy in JimLiu/science-skills, which our catalogue first saw on October 7, 2026.
Scgpt 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 |
|---|---|---|---|---|---|---|
| Scgpt this skillJimLiu/science-skills | 227 | 4 repos | ~1.3k | Automated safety check: Pass | Apache-2.0 | |
| Sc MetacellTianGzlab/OmicsClaw | 161 | — | ~1.3k | Automated safety check: Pass | Apache-2.0 | |
| ScanpyK-Dense-AI/scientific-agent-skills | 48k | 1 repos | ~5.1k | Automated safety check: Pass | BSD-3-Clause | |
| Cellxgene CensusK-Dense-AI/scientific-agent-skills | 48k | 1 repos | ~3.4k | Automated safety check: Notes | MIT | |
| AnndataK-Dense-AI/scientific-agent-skills | 48k | 1 repos | ~3.9k | Automated safety check: Notes | BSD-3-Clause | |
| Anndata Data Structurejaechang-hits/SciAgent-Skills | 371 | 2 repos | ~5.8k | Automated safety check: Pass | BSD-3-Clause |
TianGzlab/OmicsClaw
Load when aggregating single cells into metacells (sample-aware coarse-grained pseudo-cells) on a normalised scRNA AnnData via SEACells or KMeans on a low-D embedding.
K-Dense-AI/scientific-agent-skills
Performs Scanpy single-cell RNA-seq QC, normalization, HVG selection, PCA/UMAP/t-SNE, clustering, exploratory marker ranking, pseudobulk preparation, visualization, and Seurat or…
K-Dense-AI/scientific-agent-skills
Queries the CZ CELLxGENE Census programmatically for versioned public single-cell and spatial transcriptomics data.
K-Dense-AI/scientific-agent-skills
Handles annotated matrices in single-cell analysis, .h5ad and Zarr files, and integration with the scverse ecosystem.
jaechang-hits/SciAgent-Skills
Annotated matrices for single-cell genomics. An agent skill from jaechang-hits/SciAgent-Skills.
aipoch/medical-research-skills
Standard single-cell RNA-seq analysis pipeline. An agent skill from aipoch/medical-research-skills.
JimLiu/science-skills
Biohub ESMFold2 / ESMFold2-Fast all-atom co-folding (Candido et al.
JimLiu/science-skills
Set up a compute environment on a remote provider so Claude Science jobs can run there.
JimLiu/science-skills
Predict genome-wide functional tracks (RNA-seq, CAGE, DNase, ChIP) from DNA sequence with Borzoi.
JimLiu/science-skills
Score, embed, and generate DNA sequences with Evo 2, a long-context genomic foundation model.
JimLiu/science-skills
Embed proteins with Meta AI's ESM-2 (fair-esm package). An agent skill from JimLiu/science-skills.
JimLiu/science-skills
Structure prediction using OpenFold3, an open-weights PyTorch reproduction of AlphaFold3 from the AlQuraishi Lab.
Works with
Categories
Embed and annotate single-cell expression data with scGPT, a foundation model for single-cell biology. Scgpt is an agent skill from JimLiu/science-skills. Embed and annotate single-cell expression data with scGPT, a foundation model for single-cell biology.
Scgpt fits situations like: producing cell embeddings from an AnnData for clustering/integration; fine-tuned cell-type annotation; gene-level representation for perturbation/GRN tasks.
Run `npx skills add JimLiu/science-skills --skill scgpt -a claude-code`. Or copy the skill folder (skills/scgpt in JimLiu/science-skills) into .claude/skills/scgpt in your project. Claude Code loads it when a task matches its description.
Run `npx skills add JimLiu/science-skills --skill scgpt -a codex`. Or copy the skill folder (skills/scgpt in JimLiu/science-skills) into .agents/skills/scgpt 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 JimLiu/science-skills --skill scgpt -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/scgpt, .gemini/skills/scgpt, .github/skills/scgpt and .opencode/skills/scgpt in your project.
SKILL.md names no scripts, command-line tools or credentials: Scgpt is instructions for the agent only. Our summary lists: Python 3.
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.
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.
Scgpt is published under the Apache-2.0 licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.3k tokens (SKILL.md is roughly 5.3k 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 Scgpt: Sc Metacell (TianGzlab/OmicsClaw, 161 stars), Scanpy (K-Dense-AI/scientific-agent-skills, 48k stars), Cellxgene Census (K-Dense-AI/scientific-agent-skills, 48k stars) and Anndata (K-Dense-AI/scientific-agent-skills, 48k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
JimLiu (a GitHub user) maintains it in JimLiu/science-skills, which has 227 GitHub stars. The repository holds 27 skills in this directory. The repository was last updated on July 1, 2026.
Source: JimLiu/science-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.