sciagent-skill-creator
Scaffold a new SciAgent-Skills entry. Picks pipeline/toolkit/database/guide template, creates skills/{category}/{name}/SKILL.md…
Automated scRNA-seq cell type annotation via pre-trained logistic regression. 45+ models: immune, gut, lung, brain, fetal, cancer microenvironments. Input normalized AnnData; outputs per-cell labels, majority-vote cluster labels, confidence scores. Use for fast, reference-backed
Claude Code
$ npx -y skills add jaechang-hits/SciAgent-Skills --skill celltypist-cell-annotation --agent claude-code
Codex
$ npx skills add jaechang-hits/SciAgent-Skills --skill celltypist-cell-annotation -a codex -y
Cursor
$ npx skills add jaechang-hits/SciAgent-Skills --skill celltypist-cell-annotation -a cursor -y
Gemini CLI
$ npx skills add jaechang-hits/SciAgent-Skills --skill celltypist-cell-annotation -a gemini-cli -y
GitHub Copilot
$ npx skills add jaechang-hits/SciAgent-Skills --skill celltypist-cell-annotation -a github-copilot -y
OpenCode
$ npx skills add jaechang-hits/SciAgent-Skills --skill celltypist-cell-annotation -a opencode -y
Windsurf
$ npx skills add jaechang-hits/SciAgent-Skills --skill celltypist-cell-annotation -a windsurf -y
name: "celltypist-cell-annotation" description: "Automated scRNA-seq cell type annotation via pre-trained logistic regression. 45+ models: immune, gut, lung, brain, fetal, cancer microenvironments. Input normalized AnnData; outputs per-cell labels, majority-vote cluster labels, confidence scores. Use for fast, reference-backed annotation without manual marker inspection; read cell-type-annotation first." license: "MIT"
CellTypist is an automated cell type classifier for single-cell RNA-seq data built on logistic regression models trained on curated reference atlases. Given a normalized AnnData object, it predicts cell type labels at the single-cell level and optionally applies majority voting within user-defined clusters to produce consensus, biologically coherent annotations. The tool ships with 45+ ready-to-use models spanning pan-immune, organ-specific, and developmental contexts, and supports training custom models from labeled data.
Settle these with the user before writing any analysis code.
decisions:
- id: D1
param: annotationStrategy
kind: required
source: user
ask: "Markers (A), a CellTypist model (B), an ensemble on your labelled reference (C), or markers and transfer compared (D)?"
default: null
- id: D2
param: tissueContext
kind: required
source: user
ask: "Which tissue, and in what state (healthy, fetal, diseased, cultured, perturbed)?"
default: null
- id: D3
param: model
kind: optional
source: literature
ask: "Which model or reference matches this tissue and state?"
default: "best match for the stated tissue and state"
skip_if: "markers-only annotation"
- id: D4
param: markerValidation
kind: optional
source: user
ask: "Check assigned labels against canonical markers before accepting them?"
default: "checked"
skip_if: "markers-only annotation"
- id: D5
param: markerPanel
kind: optional
source: literature
ask: "Which canonical markers define the expected populations?"
default: "agent-drafted panel for the tissue and state, listed in the plan"
skip_if: "label transfer only"
- id: D6
param: labelGranularity
kind: required
source: user
ask: "Name broad lineages, or subtypes and activation states within them?"
default: null
- id: D7
param: majorityVoting
kind: required
source: user
ask: "Label each cell, or take a consensus per cluster?"
default: "per-cell; voting once clusters are trusted"
- id: D8
param: clusteringKey
kind: derived
source: upstream
depends_on: [D7]
ask: "Which clustering is the consensus taken over?"
default: "upstream clustering"
skip_if: "no majority voting"
- id: D9
param: assignmentThreshold
kind: required
source: user
ask: "Label every cell, or leave uncertain cells unassigned?"
default: "best match for every cell"
- id: D10
param: minClusterProportion
kind: optional
source: user
depends_on: [D7]
ask: "What fraction of a cluster must agree to apply the consensus?"
default: "no minimum"
skip_if: "no majority voting"D1-D6 match `cell-type-annotation` word for word; ask each once. If D1 is markers only, use that skill instead. Check D3 against D2: a mismatched model still labels every cell confidently, and only the D4 marker check catches it.
Minimal pipeline — annotate a preprocessed AnnData with the pan-immune model:
import celltypist
import scanpy as sc
from celltypist import models
# Load a preprocessed AnnData (normalized + log1p, Leiden clusters already in adata.obs)
adata = sc.read_h5ad("preprocessed_pbmc.h5ad")
# Download only the model to be used (otherwise an empty cache pulls every model)
models.download_models(model="Immune_All_Low.pkl")
# Run annotation with majority voting across Leiden clusters
predictions = celltypist.annotate(
adata,
model="Immune_All_Low.pkl",
majority_voting=True,
)
adata = predictions.to_adata()
print(adata.obs[["predicted_labels", "majority_voting", "conf_score"]].head(10))
# predicted_labels majority_voting conf_score
# CD4Turn your AI coding agent into a life sciences expert — 199 bioinformatics skills for Claude Code covering RNA-seq, single-cell analysis, genomics, proteomics, drug discovery, and more. Boosted BixBench from 65% to 92%. Open source.
Scaffold a new SciAgent-Skills entry. Picks pipeline/toolkit/database/guide template, creates skills/{category}/{name}/SKILL.md…
Bayesian modeling with PyMC 5: priors, likelihood, NUTS/ADVI sampling, diagnostics (R-hat, ESS), LOO/WAIC comparison, prediction.…
Time-to-event modeling with scikit-survival: Cox PH (elastic net), Random Survival Forests, Boosting, SVMs for censored data.…
Guided statistical analysis: test choice, assumption checks, effect sizes, power, APA reporting. Pick tests, verify assumptions,…
Python statistical modeling: regression (OLS, WLS, GLM), discrete (Logit, Poisson, NegBin), time series (ARIMA, SARIMAX, VAR),…
DL cell/nucleus segmentation for fluorescence and brightfield microscopy. Pre-trained models (cyto3, nuclei, tissuenet) and a…
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…
Ask which skill or flow fits your situation. A router over the skills in this repo.