subagent-driven-development
OBobra/superpowers298k2,631 new stars in the last 7 days
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.
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
Do not use for integration/Harmony, annotation, or spatial QC unless only expression-matrix QC is needed.
01-calculate_metrics; stop and report.Full gate definitions: references/human-in-the-loop.md
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:
Then ask which samples to pilot and which metrics matter for this tissue.
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.
| 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
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
| 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
Use the template in references/human-in-the-loop.md:
| 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, …).
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 |
<project-root>/scripts/calculate_metrics_extended.Rspatial_data/.../run_merging_samples_and_QC.pyOBobra/superpowers298k2,631 new stars in the last 7 days
MAmattpocock/skills288k10,178 new stars in the last 7 days
MAmattpocock/skills288k10,178 new stars in the last 7 days
MAmattpocock/skills288k10,178 new stars in the last 7 days
AFaffaan-m/ECC278k4,046 new stars in the last 7 days
AFaffaan-m/ECC278k4,046 new stars in the last 7 days