sciagent-skill-creator
Scaffold a new SciAgent-Skills entry. Picks pipeline/toolkit/database/guide template, creates skills/{category}/{name}/SKILL.md…
Consensus cell type annotation: runs 10+ algorithms (KNN-Harmony/BBKNN/Scanorama/scVI, CellTypist, ONCLASS, Random Forest, SCANVI, SVM, XGBoost) on a labeled reference and transfers labels via majority voting. Outputs per-method labels, consensus, agreement score. Use when
Claude Code
$ npx -y skills add jaechang-hits/SciAgent-Skills --skill popv-cell-annotation --agent claude-code
Codex
$ npx skills add jaechang-hits/SciAgent-Skills --skill popv-cell-annotation -a codex -y
Cursor
$ npx skills add jaechang-hits/SciAgent-Skills --skill popv-cell-annotation -a cursor -y
Gemini CLI
$ npx skills add jaechang-hits/SciAgent-Skills --skill popv-cell-annotation -a gemini-cli -y
GitHub Copilot
$ npx skills add jaechang-hits/SciAgent-Skills --skill popv-cell-annotation -a github-copilot -y
OpenCode
$ npx skills add jaechang-hits/SciAgent-Skills --skill popv-cell-annotation -a opencode -y
Windsurf
$ npx skills add jaechang-hits/SciAgent-Skills --skill popv-cell-annotation -a windsurf -y
name: "popv-cell-annotation" description: "Consensus cell type annotation: runs 10+ algorithms (KNN-Harmony/BBKNN/Scanorama/scVI, CellTypist, ONCLASS, Random Forest, SCANVI, SVM, XGBoost) on a labeled reference and transfers labels via majority voting. Outputs per-method labels, consensus, agreement score. Use when single-method annotation is insufficient or you need ensemble uncertainty for novel states; to choose between manual markers, CellTypist and popV, read cell-type-annotation first." license: "BSD-3-Clause"
popV (Population Voting for single-cell annotation) annotates a query scRNA-seq dataset by running 10+ independent classification algorithms against a labeled reference atlas and aggregating results via majority voting. Each method produces its own label; the final `popv_prediction` is the consensus across all methods, and the `popv_agreement` score quantifies how many methods agree. This ensemble strategy is robust to individual method failures on unusual datasets and provides a principled uncertainty estimate: low agreement highlights novel cell states or annotation gaps.
pip install popv scvi-tools harmonypy bbknn celltypist
Settle these with the user before writing any analysis code.
decisions:
- id: D1
param: annotationStrategy
kind: required
source: user
ask: "Name cell types from canonical markers by hand over the clusters, transfer them from an annotated reference by ensemble consensus, or do both and compare the two?"
default: "ensemble transfer, then confirm against markers"
- id: D2
param: tissueContext
kind: required
source: user
ask: "Which tissue is this, and in what state - healthy adult, fetal or developmental, diseased, or perturbed?"
default: null
- id: D3
param: referenceAtlas
kind: required
source: literature
depends_on: [D2]
ask: "Which annotated reference matches that tissue AND that state?"
default: null
- id: D4
param: referenceLabelColumn
kind: required
source: data
depends_on: [D3]
ask: "Which column of the reference holds the cell type labels, and at what granularity?"
default: null
- id: D5
param: markerValidation
kind: required
source: user
depends_on: [D1]
ask: "Should the consensus labels be checked against canonical marker expression before they are accepted?"
default: "checked - method agreement measures consistency, not correctness"
- id: D6
param: validationMarkerPanel
kind: required
source: literature
depends_on: [D2, D5]
ask: "Which canonical markers should the consensus types be confirmed against?"
default: null
skip_if: "marker validation declined"
- id: D7
param: consensusThreshold
kind: required
source: user
ask: "How many of the annotation methods must agree before a label is trusted?"
default: "80% agreement"
- id: D8
param: methodSubset
kind: required
source: user
ask: "Run the full method panel, or drop the slow model-based ones?"
default: "all methods"
- id: D9
param: variableGeneCount
kind: optional
source: user
ask: "How many variable genes should the embedding and nearest-neighbour methods use?"
default: 4000
- id: D10
param: trainingEpochs
kind: optional_conditional
source: data
depends_on: [D8]
ask: "Do the model-based methods need longer training for a large or complex query?"
default: "50 unsupervised, 20 semi-supervised"
skip_if: "model-based methods excluded"
- id: D11
param: gpuUse
kind: never_ask
source: data
reason: "Falls back to CPU automatically; affects runtime only"
default: trueD1 is asked even though the user has arrived at an ensemble annotator, because the alternative is not visible from here: manual marker naming and reference transfer fail in opposite directions. If the answer is manual only, this skill is not the tool — see `cell-type-annotation`.
D5 matters more here than it looks. The agreement score in D7 measures whether the methods concur, not whether they are right — several methods sharing one unsuitable reference agree with each other confidently. Mar
Turn 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.