sciagent-skill-creator
Scaffold a new SciAgent-Skills entry. Picks pipeline/toolkit/database/guide template, creates skills/{category}/{name}/SKILL.md…
Aggregates QC from 150+ bioinformatics tools into one interactive HTML report. Scans FastQC, samtools, STAR, HISAT2, Trim Galore, featureCounts, Kallisto, Salmon, Picard, GATK logs; merges per-sample stats with plots. For NGS pipeline-wide QC. Use FastQC directly for
Claude Code
$ npx -y skills add jaechang-hits/SciAgent-Skills --skill multiqc-qc-reports --agent claude-code
Codex
$ npx skills add jaechang-hits/SciAgent-Skills --skill multiqc-qc-reports -a codex -y
Cursor
$ npx skills add jaechang-hits/SciAgent-Skills --skill multiqc-qc-reports -a cursor -y
Gemini CLI
$ npx skills add jaechang-hits/SciAgent-Skills --skill multiqc-qc-reports -a gemini-cli -y
GitHub Copilot
$ npx skills add jaechang-hits/SciAgent-Skills --skill multiqc-qc-reports -a github-copilot -y
OpenCode
$ npx skills add jaechang-hits/SciAgent-Skills --skill multiqc-qc-reports -a opencode -y
Windsurf
$ npx skills add jaechang-hits/SciAgent-Skills --skill multiqc-qc-reports -a windsurf -y
name: "multiqc-qc-reports" description: "Aggregates QC from 150+ bioinformatics tools into one interactive HTML report. Scans FastQC, samtools, STAR, HISAT2, Trim Galore, featureCounts, Kallisto, Salmon, Picard, GATK logs; merges per-sample stats with plots. For NGS pipeline-wide QC. Use FastQC directly for single-sample; MultiQC for multi-sample reporting." license: "GPL-3.0"
MultiQC automatically searches directories for QC log files from 150+ bioinformatics tools and aggregates statistics across all samples into a single interactive HTML report. It parses outputs from FastQC, samtools flagstat, STAR, HISAT2, Trim Galore, Salmon, Kallisto, featureCounts, Picard, GATK, and many more — eliminating the need to manually review per-sample QC files. Reports include interactive bar plots, scatter plots, heatmaps, and tables with configurable warnings and pass/fail thresholds.
> **Check before installing**: The tool may already be available in the current environment (e.g., inside a `pixi` / `conda` env). Run `command -v multiqc` first and skip the install commands below if it returns a path. When running inside a pixi project, invoke the tool via `pixi run multiqc` rather than bare `multiqc`.
pip install multiqc # Verify multiqc --version # MultiQC v1.25.0 # With conda (recommended for bioinformatics) conda install -c bioconda multiqc
Settle these with the user before writing any analysis code.
decisions:
- id: D1
param: searchScope
kind: required
source: data
ask: "Which directories should be scanned, and are there old or partial runs in them that must be excluded?"
default: "the pipeline output root, with no exclusions"
- id: D2
param: sampleNameCleaning
kind: required
source: data
ask: "Do the discovered sample names collapse correctly, or do suffixes from different tools split one sample into several rows?"
default: "built-in extension stripping; verify the resulting sample list"
- id: D3
param: moduleFilter
kind: optional
source: user
ask: "Report on every tool found, or only some?"
default: "all modules detected"
- id: D4
param: exportData
kind: optional_conditional
source: upstream
ask: "Should the parsed metrics be written as flat tables for a later programmatic QC gate?"
default: "HTML report only"MultiQC aggregates rather than analyses, so most of its parameters are presentation. The two that are not are D1 and D2: a stale directory in scope silently adds samples that were never part of this run, and wrong name cleaning reports one sample as several. Both produce a clean-looking report.
MultiQC aggregates existing output — first run your QC tools.
# FastQC on all FASTQ files
mkdir -p qc/fastqc
fastqc data/*.fastq.gz -o qc/fastqc/ -t 8
# samtools flagstat on all BAM files
for bam in results/*.bam; do
samtools flagstat $bam > qc/$(basename $bam .bam).flagstat
done
echo "QC files generated: $(ls qc/ | wc -l)"MultiQC recursively scans for recognized QC files.
# Basic run: scan current directory recursively multiqc . # Specify output directory and report name multiqc . -o reports/ -n project_qc_report # Scan specific subdirectories only multiqc qc/fastqc/ results/star/ logs/trimming/ -o reports/ # Output: reports/project_qc_report.html echo "Report: reports/project_qc_report.html"
Use `multiqc_config.yaml` to set custom thresholds, sample naming, and module order.
# multiqc_config.yaml — place in working directory
title: "RNA-seq QC Report — Project X"
subtitle: "Analysis date: 2026-02"
intro_text: "Quality control summary for all 48 samples."
# Sample name cleaning: remove path prefixes and suffixes
fn_clean_exts:
- ".fastq.gz"
- "_R1"
- ".sorted"
# Thresholds for pass/warn/fail coloring
general_stats_addcols:
FastQC:
pct_duplication:
max: 40
warn: 30
# Module run order
module_order:
- fastqc
- trimgalore
- star
- featurecounts
- samtools# Run with config file multiqc . --config multiqc_config.yaml -o reports/
Control which tools and samples are included.
# Run only specific modules multiqc . --module fastqc --module samtools # Exclude specific modules multiqc . --exclude fastqc # Include only files matching a pattern multiqc . --filename "*.flagstat" --filename "*_fastqc.zip" # Ignore specific directories or files multiqc . --ignore "tmp/" --ignore "*.bam" # Add sample name regex substitution multiqc . --replace-names "sample_" ""
Extract machine-readable statistics from the MultiQC report.
# Export data tables (CSV, JSON, YAML, TSV) multiqc . -o reports/ --data-format json # Generates: reports/multiqc_data/multiqc_data.json # Export flat CSV tables per tool multiqc . -o reports/ --export
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.