nextflow-io/agent-skills/create-workflow
- community
Checking that the SKILL.md file is still in the repository.
INVOKE THIS SKILL IMMEDIATELY when user asks to: write/create/build a Nextflow pipeline or workflow, create any bioinformatics pipeline (RNA-seq, DNA-seq, variant calling, ChIP-seq, etc.), or compose/chain Nextflow modules (process or workflow modules) from the Nextflow Registry. This skill handles all Nextflow workflow creation tasks.
Install
npx vskill@latest install nextflow-io/agent-skills/create-workflowSKILL.md
Nextflow Workflow Writer
Create complete Nextflow workflows by composing validated modules from the Nextflow Registry.
Modules are published under namespaces (e.g. nf-core/fastqc), and these skills compose modules from any of them.
Requires Nextflow 26.04 or later (for the nextflow module commands used during validation). Including workflow modules requires Nextflow 26.10 or later.
Registry modules come in two kinds (shown as Kind: by nextflow module view):
- Process modules — one tool, e.g.
nf-core/star/align - Workflow modules — a reusable subworkflow chaining several modules, e.g.
nf-core/fastq_align_star(STAR alignment + samtools sort/index/stats)
NEVER write a wrapper workflow just to run/test a single module.
❌ WRONG - Writing a workflow to run one module:
✅ CORRECT - Use the run-module skill:
The `run-module` skill:
- Uses
nextflow module search/viewto discover and get proper inputs/parameters - Runs modules directly via
nextflow module run <namespace>/<module> - No wrapper workflow needed
⚠️ When a module run fails due to missing args:
- DO NOT write a wrapper workflow as a "fix"
- Instead: run
nextflow module view <module>to get correct parameters - Fix the command-line arguments and re-run directly
Only write a workflow in Step 4 when composing multiple validated modules together.
4-Step Workflow Creation Process
ALWAYS follow this structured process when creating a new workflow:
Step 1: Identify Modules and Propose Plan
- Use
nextflow module search <term>to find Registry modules for each processing step - Look for workflow modules that already cover a chain of steps.
nextflow module searchrarely ranks them high enough to appear, so query the registry API with thekind=Workflowfilter:
```bash curl -s "https://registry.nextflow.io/api/v1/modules?query=align%20reads%20STAR&kind=Workflow&limit=10" \
``` When a workflow module matches a chain of steps in the plan, use it instead of hand-wiring the same process modules.
- Use
nextflow module view <name>to understand inputs/outputs of each module (for a workflow module: itstake:inputs in call order and itsemit:outputs) - Present a plan to the user with:
- List of identified modules, marking each as process or workflow module
- Processing sequence (which module runs first, second, etc.)
- Data flow between modules (outputs → inputs)
STOP and wait for user approval before proceeding.
Step 2: User Agreement
- Wait for user to review and approve the proposed plan
- Address any questions or modifications requested
- Only proceed when user explicitly agrees
Step 3: Validate Modules ONE BY ONE (MANDATORY)
NEVER skip this step. After user agreement:
- Determine appropriate test data for validation
- For EACH module in the plan, sequentially:
- Install and run with test data: Invoke
Skill(skill="run-module") - Verify outputs - confirm expected data is produced
- Only proceed to next module after current one succeeds
- Untyped workflow modules (most nf-core ones) fail
nextflow module runwith "cannot be executed directly because it is not typed". This is expected, not a failure to fix: do NOT write a wrapper workflow for it, and do not stop to ask the user. Record it in the validation log as "validated in Step 4" and move on. It gets validated by the end-to-end run in Step 4.
- Log ALL module run commands and their outputs to a debug file with the
.modules-validation-prefix - If a command fails, stop and show the user the command used and the output generated before trying something else
Note: Therun-moduleskill usesnextflow modulecommands for discovery, configuration, and execution — modules are installed on-the-fly.
DO NOT proceed to Step 4 until ALL modules have been individually validated.
Step 4: Compose Final Workflow
Only after ALL modules run successfully:
- Configure
nextflow.configwith Wave + Conda:
``groovy wave.enabled = true wave.strategy = 'conda,container' docker.enabled = true ``
- Write the workflow script compositing all validated steps using Nextflow managed modules (no
./prefix — Nextflow automatically downloads and installs them from the Nextflow Registry):
```groovy include { MODULE_A } from 'nf-core/module_a' include { MODULE_B } from 'nf-core/module_b'
workflow { MODULE_A(input_ch) MODULE_B(MODULE_A.out.results) } ```
Workflow modules use the same include syntax (include { FASTQ_ALIGN_STAR } from 'nf-core/fastq_align_star') and are called with positional arguments in their take: order, as listed by nextflow module view. For untyped workflow modules, the input descriptions from nextflow module view are approximate. Read the installed modules/<namespace>/<name>/main.nf to see which process each input feeds, and build the channel shape that process expects (e.g. [meta, index] tuples). On first run, Nextflow installs each one under modules/<namespace>/<name>/ together with its dependencies in a nested modules/ directory. Commit the modules/ directory with the pipeline.
- Run the complete workflow using the same test data to validate end-to-end. This is the validation step for any untyped workflow module skipped in Step 3.
Critical Guidelines
Command Execution
- Use
-resumeflag to leverage cached results when appropriate - Use absolute paths, never relative paths
File Handling
- When specifying multiple files, separate with comma and wrap in double quotes:
--input "file1.fq,file2.fq" - ALWAYS expand wildcards/globs to comma-separated file lists before running
- Reference task IDs from stdout to locate output files in work directories
Module Include Syntax
include { MOD } from 'nf-core/module'— Nextflow managed module (default). Nextflow automatically downloads and installs it from the Nextflow Registry. Always prefer this form. (nf-corehere is the namespace; substitute the actual namespace of the module you are using.)include { MOD } from './modules/nf-core/module/main.nf'— Local file path, resolved against the working directory. Only use when referencing locally modified modules.
Module Selection
- Prefer an existing workflow module over hand-wiring the process modules it already chains together
- Find workflow modules via the registry API
kind=Workflowfilter (see Step 1);nextflow module searchrarely surfaces them - Do not write wrapper workflows to test single modules - use
Skill(skill="run-module")instead - Use
nextflow module searchto find modules, thennextflow module viewfor details
Debugging Protocol
- Check the task work directory using the task ID from stdout
- Examine
.command.log,.command.err, and.command.outfiles - Verify input files exist and are accessible
- Check resource requirements (memory, CPUs) match available resources
Skill Delegation (IMPORTANT)
Delegate module-specific tasks to specialized skills using the `Skill` tool:
| Task | Invoke Skill | |
|---|---|---|
| Install/run/test a module | Skill(skill="run-module") |
When to Delegate
- Step 3 (Validate Modules): Use
run-moduleskill for each module validation
Example: Step 3 Validation
For each module in your plan:
These skills contain detailed instructions for their specific tasks and ensure consistent execution patterns.
Quick Reference
Security
- Security scanPassed, 90 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/create-workflow/SKILL.md
Popularity
- 7-day trend score
- 0
Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/nextflow-io/agent-skills/create-workflow)