singlecell-qc
Use when designing, reviewing, or implementing single-cell RNA-seq QC in Python or R with a human-in-the-loop, data-driven approach.
Install / Use
npx skills add xuzhougeng/wisp-science --skill singlecell-qcInstalls into whichever agent you are using.
SKILL.md
Installable skill definition
Quality Score
Category
AutomationSupported Platforms
Our assessment of singlecell-qc
singlecell-qc scores 92/100 on our quality scale, 763rd of 2,945 Automation skills we index (top 26%).
Its SKILL.md is 6.2 KB long, well organised into 15 sections with 4 code examples: a thorough specification that gives an agent plenty to work with.
With 1,167 GitHub stars, it is one of the more widely adopted skills in the catalogue.
Maintenance, license and trust
- The repository was last updated 8 days ago, so singlecell-qc is actively maintained.
- It is released under AGPL-3.0, a copyleft license: you can use it, but modified versions you distribute must carry the same license.
- Its trust signals score 100/100, with no cautions. These come from repository metadata, not a code audit — read the skill file before letting an agent act on it.
singlecell-qc compared with similar skills
All 4 of these similar skills score higher than singlecell-qc; compare them before choosing.
| Skill | Score | Stars | Updated | Format |
|---|---|---|---|---|
| singlecell-qc (this skill)by xuzhougeng | 92 | 1.2k | 8d ago | SKILL.md |
| Agent-Reachby Panniantong | 100 | 88.6k | 17d ago | CLAUDE.md |
| headroomby headroomlabs-ai | 100 | 74.3k | today | CLAUDE.md |
| rufloby ruvnet | 100 | 73.7k | today | CLAUDE.md |
| Scraplingby D4Vinci | 100 | 85.2k | 2d ago | MCP Server |
Frequently asked questions
- How do I install singlecell-qc?
- Run
npx skills add xuzhougeng/wisp-science --skill singlecell-qc. The install tabs above show the steps for each supported agent. - Which AI agents does singlecell-qc work with?
- It is written for Universal, as a SKILL.md file. Other agents that read the same format can often use it too.
- Is singlecell-qc safe to use?
- It is AGPL-3.0-licensed and scores 100/100 on trust signals. Skills are instructions an agent will follow, so read the file before installing it and do not approve commands you do not understand.
- Is singlecell-qc still maintained?
- The repository was last updated 8 days ago, so singlecell-qc is actively maintained.
Skill content
View source on GitHubname: singlecell-qc description: Use when designing, reviewing, or implementing single-cell RNA-seq QC in Python or R with a human-in-the-loop, data-driven approach. Trigger for scRNA QC metrics, per-sample diagnosis, threshold discussion, mitochondrial/ambient/doublet assessment, MAD vs fixed cutoffs, or refactoring automated merge-first QC. The analyst confirms key decisions at each step—agents must inspect data, propose options, and wait for approval before filtering, doublet removal, or merging. Not a turnkey pipeline skill.
Single-Cell QC
Overview
Use this skill for data-driven, human-centered single-cell QC. The analyst inspects distributions and confirms decisions; code computes metrics and executes only what was agreed.
inspect data → compute metrics → human reviews → confirm thresholds → small action → re-inspect
Not a one-click pipeline. Do not chain calculate → filter → doublet → merge unless the user explicitly requests full execution after reviewing pilot results.
Follow analysis-workflow for module and script layout. Match the user's language.
Read first: references/human-in-the-loop.md
When To Use
- "帮我看看这个样本 QC"
- "算一下 QC 指标,阈值我来定"
- "逐样本诊断,先别过滤"
- "这个 merge-first QC 太粗,怎么改成人工确认"
- "参考 GZL metrics 脚本,但要分步做"
Do not use for integration/Harmony, annotation, or spatial QC unless only expression-matrix QC is needed.
Operating Rules (Human-First)
- Inspect before acting — matrix type, species, sample metadata, existing checkpoints.
- Pilot samples first — default 1–3 samples; expand only after user OK.
- Metrics before filters — run
01-calculate_metrics; stop and report. - Propose thresholds, never silently apply — show expected cell loss per sample.
- Ask at gates — which metrics next? which thresholds? proceed to filter? merge?
- No silent heavy steps — no full-cohort filter, Scrublet, decontX, or merge without explicit approval.
- Reversible checkpoints — pre-filter metadata/counts stay intact; filtering writes new files.
- Scripts = one stage — owner-editable; thresholds visible at top of filter scripts.
Full gate definitions: references/human-in-the-loop.md
First Pass (Always)
find <project_root> -maxdepth 4 -type f \( -name '*.py' -o -name '*.R' -o -name '*.h5ad' -o -name '*.md' \) | head -60
rg -n "filter_cells|calculate_qc|metadata|mito|n_genes" <project_root>/scripts 2>/dev/null | head -30
Report to the user:
- input matrix type (raw / filtered / EmptyDrops / h5ad);
- species; sample count;
- whether per-sample or merge-first QC exists;
- recommended next single step (not full pipeline).
Then ask which samples to pilot and which metrics matter for this tissue.
Staged Workflow (Default)
Each stage ends with human confirmation.
| Stage | Script / action | Agent stops until user confirms |
|-------|-----------------|--------------------------------|
| A | Input inspection | sample list, matrix, species |
| B | 01-calculate_metrics (pilot) | metric scope (core / hbb / doublet / …) |
| C | 02-qc_diagnosis figures | figures match expectations |
| D | Threshold proposal (table + loss estimate) | per-sample cutoffs |
| E | 03-filter_cells | filter summary acceptable |
| F | optional doublet / ambient | method and aggressiveness |
| G | 04-merge_qc_passed | all samples signed off |
Stages D–G are skipped until the user says proceed.
Metric tiers (choose with user)
| Tier | Metrics | Ask when |
|------|---------|----------|
| Core | n_genes, n_UMIs, mito_frac, pct_counts_rb | always unless h5ad already has them |
| Recommended | hbb_score, doublet_score, cell cycle | tissue-dependent |
| Extended | chrY_frac, ambient_frac, nuclear_frac | metadata / STARsolo available |
Details: references/metrics-catalog.md
Project Layout
Optional scaffold — create only stages the user needs:
scripts/01-qc/
01-calculate_metrics.py|R # metrics only
02-qc_diagnosis.py|R # figures from metadata
03-filter_cells.py|R # runs only after threshold sign-off
result/01-qc/ ...
figure/01-qc/ ...
references/project-layout.md
Bundled Tools (Not a Pipeline)
| Tool | Role |
|------|------|
| scripts/calculate_metrics.py | core metrics → metadata.tsv |
| scripts/calculate_metrics.R | same, R/Matrix |
| scripts/inspect_qc_metadata.py | read-only cohort summary |
| assets/gene_sets/* | hbb / chrY gene lists |
| assets/qc_thresholds.example.yaml | template for user-edited thresholds |
--run-scrublet on Python script: ask before using.
# Typical pilot — metrics only
python .../calculate_metrics.py \
--matrix-dir <dir> --sample-id PILOT --species human \
--output-dir result/01-qc/01-calculate_metrics/PILOT
After Metrics: Report Template
Use the template in references/human-in-the-loop.md:
- observations (numbers);
- flags (sex mismatch, high hbb, depth outlier);
- questions for the user (numbered);
- optional threshold table with estimated loss — label as not yet applied.
Language Choice
| Context | Reference |
|---------|-----------|
| scanpy / h5ad | references/python-scanpy.md |
| Seurat | references/r-seurat.md |
| threshold methods | references/filtering-strategies.md |
Pick one canonical metadata schema across languages (n_genes, n_UMIs, mito_frac, …).
Anti-Patterns
- Running full cohort filter + merge in one agent turn
- Picking thresholds without showing per-sample distributions
- Treating bundled scripts as end-to-end QC
- Hiding cutoffs inside opaque helpers
- Merge-first global QC without per-sample review (legacy atlas reproduction excepted)
Deliverables (Stage-Dependent)
Only produce what the current confirmed stage needs:
| After stage | Deliverable |
|-------------|-------------|
| B | metadata.tsv, metrics_summary.json |
| C | diagnosis PDFs/PNGs |
| D | threshold proposal table (no filter yet) |
| E | filtered checkpoint + filter_summary |
| Sign-off | QC_summary.tsv + documented per-sample decisions |
External References
- Rich metrics example (R):
<project-root>/scripts/calculate_metrics_extended.R - Legacy contrast (avoid as default):
spatial_data/.../run_merging_samples_and_QC.py
Related Skills
Agent-Reach
88.6kGive your AI agent eyes to see the entire internet. Read & search Twitter, Reddit, YouTube, GitHub, Bilibili, XiaoHongShu — one CLI, zero API fees.
headroom
74.3kCompress tool outputs, logs, files, and RAG chunks before they reach the LLM. 20% fewer tokens for coding agents, 60-95% fewer tokens for JSON, same answers. Library, proxy, MCP server.
ruflo
73.7k🌊 The original agent harness. Deploy intelligent multi-player swarms, coordinate autonomous workflows, and build conversational AI systems. Features adaptive memory, self-learning intelligence, federation, vector RAG integration, and native Claude Code / Codex / Hermes and many more Integrated
Scrapling
85.2k🕷️ An adaptive Web Scraping framework that handles everything from a single request to a full-scale crawl! Don't be shy, join here: https://discord.gg/EMgGbDceNQ and follow here for daily tips and tricks: https://x.com/Scrapling_dev
Languages
Trust signals
From repository metadata: license, adoption, age and documentation. Not a code audit — see the Safety scan above for what the skill file itself contains.
