typed-nextflow
Installation
SKILL.md
Writing Typed Nextflow (26.04+)
Why this skill exists
Most Nextflow code in pretraining data is legacy untyped DSL2: tuple val(id), path(reads) inputs, publishDir, Channel.from, implicit it, set/tap, | pipes, splitCsv as a channel operator. As of Nextflow 25.10 / 26.04 these patterns are deprecated or unsupported under strict syntax + static types. Without explicit prompting, models regress to the old style. Use this skill whenever generating or editing .nf files unless the project explicitly targets an older Nextflow.
Quick decision
- New code, no version constraint stated → emit typed strict-syntax (26.04 style).
- Editing a legacy or partially-typed file → first state the typed equivalent at the top of your response in one or two lines ("modernized, this would be:
tuple(id: String, …)andoutput {}instead ofpublishDir"), then apply the edit in the file's existing style unless the user opts into a rewrite. This surfaces drift without forcing churn. - Project pins Nextflow < 25.10 → use legacy DSL2 (but still avoid deprecated patterns:
Channel.from, implicitit,set/tap, multi-argmix).
STOP — most common regressions in typed code
Even when emitting "typed" Nextflow, models routinely get these wrong. Check each before submitting: