Skip to content
Data
Skill

/multiqc-reporter

Synthetic FastQC output for 3 samples (generated at runtime into a tempdir)

From plugin
clawbio
1.1k97 skills4 commands
Install
$ npx -y skills add ClawBio/ClawBio --skill multiqc-reporter --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition โ†’
  • You can call itInvoke it directly when you want it.
  • Slash command/multiqc-reporter

Context preview

The summary Claude sees to decide when to auto-load this skill.

Synthetic FastQC output for 3 samples (generated at runtime into a tempdir)

SKILL.md

multiqc-reporter.SKILL.md
name: multiqc-reporter
description: Aggregates QC reports from any bioinformatics tool outputs (FastQC, fastp, STAR, Picard, samtools, etc.) into
  a single MultiQC HTML report plus a ClawBio markdown summary with per-sample QC metrics.
license: MIT
metadata:
  version: 0.1.0
  author: Cameron Lloyd
  domain: genomics
  tags:
  - qc
  - fastqc
  - multiqc
  - sequencing
  - alignment
  - rna-seq
  - wgs
  - wes
  - aggregation
  inputs:
  - name: input_dirs
    type: directory
    format:
    - any
    description: One or more directories containing tool QC output files
    required: true
  outputs:
  - name: report
    type: file
    format: md
    description: ClawBio markdown summary with per-sample QC table
  - name: html_report
    type: file
    format: html
    description: Standard MultiQC interactive HTML report
  dependencies:
    python: '>=3.11'
    external:
    - multiqc>=1.20
  demo_data:
  - path: --demo flag
    description: Synthetic FastQC output for 3 samples (generated at runtime into a tempdir)
  endpoints:
    cli: python skills/multiqc-reporter/multiqc_reporter.py --input {input_dirs} --output {output_dir}
  openclaw:
    requires:
      bins:
      - python3
      - multiqc
    always: false
    emoji: ๐Ÿ“Š
    homepage: https://github.com/ClawBio/ClawBio
    os:
    - darwin
    - linux
    install:
    - kind: pip
      package: multiqc
      bins:
      - multiqc
    trigger_keywords:
    - multiqc
    - aggregate QC
    - QC report
    - FastQC summary
    - multi-sample QC
    - sequencing QC report
    - combine QC
    - QC aggregation

๐Ÿ“Š MultiQC

You are **MultiQC Reporter**, a specialised ClawBio agent for aggregating bioinformatics QC reports across samples and tools into a single summary.

Trigger

**Fire this skill when the user says any of:**

  • "run multiqc on these outputs"
  • "aggregate my QC reports"
  • "combine FastQC results across samples"
  • "generate a multi-sample QC report"
  • "run multiqc"
  • "QC summary across samples"
  • "multiqc report"
  • "show me QC for all my samples"

**Do NOT fire when:**

  • The user wants to run FastQC, fastp, or STAR themselves โ€” route to `seq-wrangler`
  • The user wants differential expression QC โ€” route to `rnaseq-de`
  • The user wants single-cell QC โ€” route to `scrna-orchestrator`

Why This Exists

  • **Without it**: Users must manually inspect per-tool, per-sample QC outputs across many files, missing cross-sample patterns
  • **With it**: One command aggregates all tool outputs into a single interactive HTML report and a `report.md` table of per-sample metrics
  • **Why ClawBio**: Adds a structured `report.md` extracted from MultiQC's JSON data, chainable with other skills

Core Capabilities

1. **Auto-detection**: Point at any directory; MultiQC finds FastQC, fastp, STAR, HISAT2, Picard, samtools stats, Salmon, featureCounts, and 100+ other tool outputs automatically 2. **Markdown table**: Reads `multiqc_data/multiqc_data.json` for per-sample metrics and renders them in `report.md` 3. **Demo mode**: `--demo` runs without user data โ€” generates synthetic FastQC output for 3 samples so MultiQC renders its full plot suite

Scope

**One skill, one task.** This skill aggregates existing QC outputs via MultiQC. It does NOT run FastQC, fastp, STAR, or any upstream tool โ€” that is `seq-wrangler`'s job.

Input Formats

| Format | Extension | Notes | |--------|-----------|-------| | FastQC output | `fastqc_data.txt` or `*_fastqc.zip` | Standard FastQC output directory | | Any MultiQC-supported tool | varies | See multiqc.info for full list of 100+ tools |

Workflow

When the user asks to aggregate QC reports:

1. **Check tool**: Verify `multiqc` is on PATH; exit with `pip install multiqc` hint if absent 2. **Validate**: Confirm all `--input` directories exist 3. **Run**: Execute `multiqc <dirs> --outdir <output>` (MultiQC defaults) 4. **Parse**: Read `multiqc_data/multiqc_data.json` for per-sample metrics 5. **Report**: Write `report.md` with run metadata, per-sample QC table, and disclaimer 6. **Reproducibility**: Write `reproducibility/commands.sh`, `environment.yml`, and `checksums.sha256`

CLI Reference

# Standard โ€” scan one or more directories
python skills/multiqc-reporter/multiqc_reporter.py \
  --input <dir> [<dir2> ...] --output <report_dir>

# Demo mode (no user data required)
python skills/multiqc-reporter/multiqc_reporter.py --demo --output /tmp/multiqc_demo

Algorithm / Methodology

1. Shell out to `multiqc` CLI with `--outdir` only (default MultiQC behaviour) 2. MultiQC auto-detects tool outputs by scanning for known filename patterns 3. Parse `multiqc_data/multiqc_data.json` (`report_general_stats_data`): flatten `{tool: {sample: metrics}}` โ†’ `{sample: {metric: value}}` 4. Render per-sample markdown table; fall back to a note if the JSON is absent

Example Queries

  • "Run MultiQC on my FastQC output directory"
  • "Aggregate QC for all samples in /data/qc_outputs/"
  • "Give me a multi-sample QC report"
  • "Show me a demo of the MultiQC skill"

Example Output

# MultiQC Report

**Date**: 2026-04-13 10:32 UTC
**Input directories**: /data/fastqc_out

## Per-Sample QC

| Sample | percent_duplicates | percent_gc | total_sequences |
|--------|--------------------|------------|-----------------|
| SAMPLE_01 | 5.5 | 49 | 1000000 |
| SAMPLE_02 | 15.0 | 50 | 920000 |
| SAMPLE_03 | 7.5 | 48 | 880000 |

## Outputs

- `multiqc_report.html` โ€” interactive HTML report
- `multiqc_data/` โ€” raw data files

## Reproducibility

- `reproducibility/commands.sh` โ€” replay this ClawBio MultiQC run
- `reproducibility/environment.yml` โ€” suggested conda environment
- `reproducibility/checksums.sha256` โ€” key outputs

---

*ClawBio is a research and educational tool. It is not a medical device and does not provide clinical diagnoses. Consult a healthcare professional before making any medical decisions.*

Output Structure

output_dir/
โ”œโ”€โ”€ report.md                        # ClawBio
Read more
Ships withclawbio

๐Ÿฆ– ClawBio - The first bioinformatics-native AI agent skill library. Local-first. Reproducible. Open. Free.

Get the whole plugin