This is the GLUE skill for the microbiome category. QIIME2's value is not a different algorithm - it wraps DADA2, naive-Bayes/VSEARCH classifiers, MAFFT/FastTree, and the same diversity metrics the R workflow uses. Its value is that a .qza artifact is data PLUS its entire executable history: every action, parameter, version, and citation is recorded as provenance, and the semantic-type system refuses to hand the wrong data to an action before it runs. That provenance is the deliverable. The cost is that there is no cat-ing the data - one works through the framework or exports and loses the history.
This skill owns the machinery: the artifact/type/provenance model, import (Casava/manifest/EMP/BIOM), export, the Metadata object, provenance replay, and the q2cli vs Artifact API interfaces. It DEFERS every scientific choice to the five sibling skills - denoising parameters to amplicon-processing, classifier/database choice to taxonomy-assignment, sampling depth and diversity metrics to diversity-analysis, differential-abundance tool choice to differential-abundance, and PICRUSt2 to functional-prediction. Shotgun metagenomics uses a different distribution (moshpit) and lives in the metagenomics category.
The release model is a moving target: QIIME2 is calendar-versioned (YYYY.RELEASE), ships as separate distributions (amplicon/moshpit/pathogenome/tiny), the framework was rebranded rachis in 2026.1, and the amplicon distribution is being renamed qiime2 in 2026.4. Verify the current release and distribution names against the live install page before pinning anything.
Install QIIME2 as its own conda environment from the current distribution YAML. The exact filename/URL changes every release - pull it from the live install page (library.qiime2.org / amplicon-docs.qiime2.org), do not hard-code an old URL.
# 2026.1-era amplicon distribution (verify the current filename on the install page)
conda env create \
--name qiime2-amplicon-2026.1 \
--file https://data.qiime2.org/distro/amplicon/qiime2-amplicon-2026.1-py310-linux-conda.yml
conda activate qiime2-amplicon-2026.1
qiime info # confirm the release, distribution, and installed plugins
Conceptual prerequisites:
- Reads must be demultiplexed FASTQ (or EMP-multiplexed with a barcode column, then demultiplexed in QIIME2).
- Modern Illumina is Phred33 - the offset is baked into the import format name.
- A taxonomy classifier .qza must match the QIIME2 release (it is pinned to its scikit-learn version); download the release-namespaced one.
- A metadata TSV with a recognized ID column drives nearly every action; validate it with Keemei before running.
- Reference databases (SILVA/GTDB/UNITE) and pre-trained classifiers are large downloads.
Tell your AI agent what you want to do: - "Import my paired-end 16S reads into QIIME2 with a manifest" - "Check what semantic type this .qza is" - "Replay the provenance of this artifact to recover the commands" - "Export my feature table to phyloseq without losing the provenance until the last step" - "Fix this QIIME2 semantic-type / Phred / classifier-version error"
"I have demultiplexed paired-end FASTQ at arbitrary paths. Write a V2 manifest with absolute paths, import them as a SampleData[PairedEndSequencesWithQuality] artifact with the right Phred offset, and summarize the demux to confirm the qualities decoded."
"What is inside this .qza - its UUID, semantic type, and format? And is the archive valid?"
"Here is a single .qza a collaborator sent. Replay its provenance to regenerate the commands and pull the citations BibTeX."
"I want to share my results with collaborators who do not have QIIME2 installed - how do they view the visualizations and the provenance?"
"Orchestrate the amplicon pipeline through QIIME2 - import, denoise, classify, build a tree, run core diversity, and run ANCOM-BC - but defer the parameter choices to the right skills."
"Export my feature table, taxonomy, and tree into a phyloseq object for custom R analysis, and tell me where the provenance chain ends."
"My metadata has an integer subject-ID column. Make sure QIIME2 treats it as categorical, not a continuous covariate, and validate the sheet."
"My classifier.qza is from a 2024 release and I am on 2026.1 - it throws a scikit-learn version error. What is the fix?"
qiime info) and verify distribution/plugin names against the current docs.qiime demux summarize) so the truncation decision (owned by amplicon-processing) can be made.qiime tools peek/validate to confirm semantic types before wiring actions together.#q2:types for ID/batch columns and recommend Keemei validation..qza files, not just the .qzv visualizations - a .qzv is terminal and cannot be fed into another action.qiime2R::qza_to_phyloseq so the chain survives as far as possible.qiime tools peek and fix the upstream action - do not re-import to coerce the type.data.qiime2.org/<release>/common/... URLs are release-namespaced.from qiime2 import Artifact, Metadata) is better for notebooks and embedding QIIME2 in a larger Python pipeline; provenance is identical to q2cli.