ngs-analysis-router — Codex skill: NGS routing and install
This skill identifies the sequencing input and sends the request to a suitable public NGS analysis skill. It fits BCL, FASTQ, BAM/CRAM, count matrices, and VCF.
npx skills add openai/plugins --skill ngs-analysis-router -a codexWhat ngs-analysis-router does
The skill inspects available files and classifies run folders, FASTQs, BAM/CRAM, VCFs, and count matrices. It then routes the request to a leaf skill for variant calling, RNA-seq, single-cell work, epigenomics, amplicons, or metagenomics. When the route is unclear, it asks only for the fields needed to choose it, such as assay, organism, reference, read layout, and desired output.
Its supporting files include an intake schema, a pipeline registry, ngs_preflight.py, and ngs_reference_manager.py. Before installation or execution, it prepares an environment check; reference-heavy workflows can also get a resource plan. Generated install commands stay review-only until the user explicitly approves execution.
For human data, cloud upload permission must be settled before suggesting a cloud route. The intake also covers local, HPC, or cloud execution, container availability, package installation, and license boundaries.
What it helps with
- route sequencing files to the right analysis skill
- collect missing assay and reference details
- preflight a local or HPC runtime
- plan references and databases for a workflow
- separate cloud-permitted and local data paths
Example prompts for the agent
- Route the files
sample_R1.fastq.gzandsample_R2.fastq.gzto the right NGS skill and ask only essential setup questions. - Inspect
RunInfo.xml,SampleSheet.csv, andData/Intensities/BaseCalls, then prepare the routing plan. - Preflight the environment for
counts.h5adand show the next action before installation.
How to install ngs-analysis-router
1Skills CLI (Vercel)
npx skills add openai/plugins --skill ngs-analysis-router -a codex2Manually: put the files in place
.agents/skills/ngs-analysis-router/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add openai/plugins --skill ngs-analysis-router -a claude-code2Manually: put the files in place
~/.claude/skills/ngs-analysis-router/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/ngs-analysis-router/
Manually: put the files in place
.cursor/skills/ngs-analysis-router/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install openai/plugins ngs-analysis-router2Manually: put the files in place
.github/skills/ngs-analysis-router/SKILL.mdPlatform CLI
gemini skills install https://github.com/openai/plugins --path plugins/ngs-analysis/skills/ngs-analysis-routerManually: put the files in place
.devin/skills/ngs-analysis-router/SKILL.mdThe legacy .windsurf/skills/ path still works
Claude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: Codex skills: how to install, where they live, how to call them
Questions about ngs-analysis-router
How do I install ngs-analysis-router in Codex?
Run npx skills add openai/plugins --skill ngs-analysis-router, then run npx skills add openai/plugins --skill ngs-analysis-router -a codex. The installed skill is available at .agents/skills/ngs-analysis-router/SKILL.md.
What does ngs-analysis-router do?
It identifies the NGS input, selects a suitable public analysis skill, and asks for the smallest set of details needed to proceed. It also supports environment and resource preflight before execution.
What must be checked for human sequencing data?
Permission for cloud upload must be confirmed before suggesting BaseSpace, Terra, DNAnexus, or another cloud path. The skill also checks containers and whether package installation is allowed.
Source text
SKILL.md · MIT
--- name: ngs-analysis-router description: Route BCL, FASTQ, BAM/CRAM, count-matrix, or VCF sequencing requests to the right public NGS analysis skill and ask only the missing assay-specific setup questions. --- # Life Sciences NGS Analysis Router Use this skill as the top-level entrypoint for ambiguous or broad sequencing-analysis requests. ## Start Here Inspect the available inputs before asking the user questions. Look for: - Illumina run-folder files: `RunInfo.xml`, `RunParameters.xml`, `SampleSheet.csv`, `Data/Intensities/BaseCalls` - FASTQs: `*.fastq`, `*.fq`, `*.fastq.gz`, `*.fq.gz` - BAM/CRAM/VCF: `*.bam`, `*.cram`, `*.vcf`, `*.vcf.gz` - count matrices: `matrix.mtx`, `features.tsv`, `barcodes.tsv`, `*.h5`, `*.h5ad`, `*.rds` - metadata: sample sheets, design files, target BEDs, reference FASTA/GTF, primer files Read `references/intake-schema.json` and `references/pipeline-registry.json` when forming the route. ## Intake Rules Ask the smallest set of missing questions needed to choose a defensible pipeline. Do not ask the full questionnaire if file inspection already answers a field. Always resolve: - input type - assay type - desired output - organism/reference - paired-end vs single-end when FASTQs are involved - any assay-specific design file or metadata required for the requested result - runtime constraints: local/HPC/cloud, container availability, and whether installs are allowed For human data, ask whether cloud upload is allowed before suggesting BaseSpace, Terra, DNAnexus, or any cloud path. ## Routing Route to one leaf skill: - BCL run folder or demultiplexing: `ngs-bcl-to-fastq` - QC/trimming only: `ngs-fastq-qc` - WGS/WES/panel variants: `ngs-dna-variant-calling`, then a subtype skill when the analysis model is clear - germline WGS/WES/panel variants: `ngs-dna-germline-variants` - tumor-normal or tumor-only somatic variants: `ngs-dna-somatic-variants` - UMI, duplex, or low-frequency targeted panels: `ngs-dna-umi-panel-variants` - bulk RNA-seq kickoff: `ngs-bulk-rnaseq` - bulk RNA-seq FASTQ-to-count QC: `ngs-bulk-rnaseq-counts-qc` - bulk RNA-seq differential expression from counts: `ngs-bulk-rnaseq-differential-expression` - single-cell or single-nucleus FASTQ-to-matrix kickoff: `ngs-scrna-seq` - single-cell or single-nucleus post-count QC/annotation/UMAP: `scrna-seq-qc` - epigenomics kickoff: `ngs-epigenomics-peaks` - ATAC-seq QC/peaks/accessibility: `ngs-atacseq-peaks-qc` - ChIP-seq, CUT&RUN, or CUT&Tag QC/peaks: `ngs-chip-cutrun-peaks-qc` - 16S/18S/ITS/COI amplicons: `ngs-amplicon-microbiome` - shotgun metagenomics: `ngs-shotgun-metagenomics` - runtime/package setup only: `ngs-runtime-env` Prefer public, runtime-installable packages and nf-core workflows. Surface license/EULA/account boundaries before using proprietary or cloud tools. ## Preflight Before proposing installation or execution, run a preflight plan from the repo root: ```bash python plugins/ngs-analysis/scripts/ngs_preflight.py --pipeline <pipeline_key> --emit-install-plan ``` When the user needs an approval-ready install handoff, write persistent install artifacts: ```bash python plugins/ngs-analysis/scripts/ngs_preflight.py --pipeline <pipeline_key> --manager micromamba --install-plan-outdir runtime_readiness/<pipeline_key>_install ``` Treat `install_plan.json` as the canonical review artifact. `install_commands.sh` is generated from the same plan and stays review-only unless the user explicitly approves execution with `NGS_RUN_INSTALL_COMMANDS=1`. For reference- or database-heavy pipelines, also create a resource plan before saying the workflow is runnable: ```bash python plugins/ngs-analysis/scripts/ngs_reference_manager.py plan --pipeline <pipeline_key> --genome-build <build> --outdir resource_readiness/<pipeline_key> ``` Use `--include-optional` for shotgun, amplicon, or motif-enabled epigenomics runs when optional databases materially affect the requested output. Use `--network-checks` only when the user allows network checks. Use `--install-missing --yes` only when the user explicitly asks to install. ## Output Contract Return: 1. the routed analysis type and confidence 2. missing essential parameters, if any 3. recommended public pipeline or package family 4. local tool preflight summary 5. preflight-first command or next concrete action 6. caveats around licenses, cloud upload, database size, and reference data
© OpenAI · MIT · openai/plugins