Skip to main content

create-workflow

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 nf-core modules. This skill handles all Nextflow workflow creation tasks.

معلومات المصدر

المستودع
nextflow-io/claude-plugin
آخر نشاط في المصدر
٢٨ أبريل ٢٠٢٦ في ١٤:٤٢
لغة SKILL.md المكتشفة
الإنجليزية
النجوم
٤
التفرعات
٠

خيارات التثبيت

يُحدَّد Prompt الذي يراجع المصدر أولًا بشكل افتراضي. يمكنك التبديل إلى أمر مباشر أو تنزيل نسخة محلية.

مراجعة ملفات المصدر

اقرأ SKILL.md وأي ملفات مرافقة يعرضها SkillsMP قبل أن تقرر التثبيت.

عرض SKILL.md

SKILL.md
تعليمات المصدر · معاينة للقراءة فقط
name
create-workflow
description
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 nf-core modules. This skill handles all Nextflow workflow creation tasks.
allowed-tools
Bash, Read, Edit, Write, Glob, Grep, Skill
# Nextflow Workflow Writer Create complete Nextflow workflows by composing validated nf-core modules. **Requires Nextflow 26.04.0 or later** (for the `nextflow module` commands used during validation). **NEVER write a wrapper workflow just to run/test a single nf-core module.** ❌ **WRONG** - Writing a workflow to run one module: ```groovy // DO NOT DO THIS - not even when a module run fails! include { FASTQC } from 'nf-core/fastqc' workflow { FASTQC(Channel.fromPath('data/*.fq.gz')) } ``` ✅ **CORRECT** - Use the `run-module` skill: ``` Skill(skill="run-module") ``` **The `run-module` skill:** - Uses `nextflow module search/info` to discover and get proper inputs/parameters - Runs modules directly via `nextflow module run nf-core/<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 info <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 1. Use `nextflow module search <term>` to find nf-core modules for each processing step 2. Use `nextflow module info <name>` to understand inputs/outputs of each module 3. **Present a plan to the user** with: - List of identified modules - 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: 1. Determine appropriate **test data** for validation 2. 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 3. Log ALL module run commands and their outputs to a debug file with the `.modules-validation-` prefix 4. If a command fails, stop and show the user the command used and the output generated before trying something else > **Note**: The `run-module` skill uses `nextflow module` commands 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: 1. Configure `nextflow.config` with Wave + Conda: ```groovy wave.enabled = true wave.strategy = 'conda,container' docker.enabled = true ``` 2. Write the workflow script compositing all validated steps using **Nextflow managed modules** (no `./` prefix — Nextflow automatically downloads and installs them from the 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) } ``` 3. **Run the complete workflow using the same test data** to validate end-to-end ## Critical Guidelines ### Command Execution - Use `-resume` flag 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 registry. Always prefer this form. - `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 nf-core single-tool modules over sub-workflows - Do not write wrapper workflows to test single modules - use `Skill(skill="run-module")` instead - Use `nextflow module search` to find modules, then `nextflow module info` for details ### Debugging Protocol 1. Check the task work directory using the task ID from stdout 2. Examine `.command.log`, `.command.err`, and `.command.out` files 3. Verify input files exist and are accessible 4. 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-module` skill for each module validation ### Example: Step 3 Validation For each module in your plan: ``` 1. Invoke: Skill(skill="run-module") → install, run with test data, and verify outputs 2. Only proceed to next module after success ``` These skills contain detailed instructions for their specific tasks and ensure consistent execution patterns. ## Quick Reference ``` Step 1: Identify modules → Propose plan to user Step 2: Wait for user agreement Step 3: Validate ALL modules ONE BY ONE with test data Step 4: Compose final workflow (only after Step 3 succeeds) ```
عرض على GitHub