What problem does it solve? Single-cell RNA-seq cluster annotation from marker genes is subjective and error-prone when done by hand or with a single LLM prompt. This Skill runs a version-locked CLI that asks several LLMs to label each cluster, reconciles them by consensus with cross-model discussion, and returns a label per cluster plus a Python-recomputed confidence score and a full prompt-to-label trace. ## Core Features & Use Cases - Multi-LLM consensus annotation: Query a panel of models (OpenAI, Anthropic, Gemini, or OpenRouter slugs) over per-cluster marker genes and reconcile their votes into one label per cluster, with forced determinism (temp=0, seed=0) and captured token/USD cost. - Two modes via YAML profiles: cell-TYPE mode (markers only, reference-free labels) and cell-STATE mode (markers plus injected per-cluster evidence such as gene programs and binned signature scores, with vocabulary guards). - Trustworthy uncertainty: Consensus proportion and entropy are recomputed in Python from per-model votes (the authoritative py_* columns), not taken from the LLM's self-reported numbers; every run writes labels.csv, validation.json, and a trace directory with the exact prompt, model responses, and cost summary. - Use Case: After clustering a PBMC dataset with scanpy and computing marker genes, run mllmct annotate --profile celltype.yaml to get reference-free cell-type labels with per-cluster confidence, then map them back onto your AnnData object and triage low-confidence clusters. ## Quick Start Ask the AI to annotate your scRNA-seq clusters by running the mllmct annotate command with the celltype profile, your markers CSV, species, tissue, and a comma-separated model panel after exporting the required API key.