Help us improve
Share bugs, ideas, or general feedback.
From nf-core
Manages nf-core Nextflow pipelines: create new pipelines, lint with strict syntax checks, build/validate/lint schemas, sync templates, run tests, and release. Ensures compliance with nf-core lifecycle and Q2 2026 deadlines.
npx claudepluginhub jonasscheid/claude-nfcore-pluginHow this skill is triggered — by the user, by Claude, or both
Slash command
/nf-core:pipelinesThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Full pipeline lifecycle: create, lint, schema, sync, and release.
Provides nf-core conventions for Nextflow pipelines: strict syntax rules (Q2 2026 deadline), output glob patterns, parameter/channel naming, process labels.
Builds scalable containerized bioinformatics pipelines with Nextflow dataflow model: processes connected by channels, runnable on local, HPC (SLURM/SGE), cloud (AWS/GCP/Azure), or Kubernetes via config profiles. Powers nf-core pipelines.
Develops and runs genomics pipelines on DNAnexus using dxpy Python SDK and dx CLI: build apps/applets, manage FASTQ/BAM/VCF data, and execute workflows.
Share bugs, ideas, or general feedback.
Full pipeline lifecycle: create, lint, schema, sync, and release.
Read ${CLAUDE_PLUGIN_ROOT}/shared/conventions.md for nf-core conventions and package manager setup.
Update this table as Nextflow and nf-core evolve. Last updated: Feb 2026.
| Feature | Enforce? | Allow in Linting | In Template | Required | Notes |
|---|---|---|---|---|---|
| Strict syntax | ENFORCE | — | Q2 2026 | Q2 2026 | CRITICAL deadline. Run nextflow lint . |
| Version topics in modules | ENFORCE | Q4 2025 | Mid-2026 | Mid-2026 | Already allowed by linting |
| Workflow output | Don't enforce | — | Mid-2026 | Q4 2026 | Coming soon |
| Static types & records | Don't enforce | Mid-2026 | Q4 2026 | Q2 2027 | Gradual rollout |
| New process syntax | Don't enforce | Mid-2026 | Q4 2026 | Q2 2027 | Gradual rollout |
Replace <cmd> with the configured package manager prefix (see Setup in conventions.md).
| Action | Command |
|---|---|
| Create pipeline | <cmd> nf-core pipelines create |
| Strict syntax lint | <cmd> nextflow lint . |
| Community lint | <cmd> nf-core pipelines lint |
| Lint with auto-fix | <cmd> nf-core pipelines lint --fix |
| Build schema | <cmd> nf-core pipelines schema build |
| Lint schema | <cmd> nf-core pipelines schema lint |
| Validate params | <cmd> nf-core pipelines schema validate <pipeline> params.json |
| Check sync status | <cmd> nf-core pipelines sync --show |
| Run sync | <cmd> nf-core pipelines sync |
| Run tests | <cmd> nf-test test |
rnaseq not RNAseqmethylseq not methyl-seq# Interactive (recommended)
<cmd> nf-core pipelines create
# Non-interactive
<cmd> nf-core pipelines create --name mypipeline --description "Description" --author "Name"
# From template YAML
<cmd> nf-core pipelines create --template-yaml template.yml
# Custom organization
<cmd> nf-core pipelines create --org myorg
| Feature | Description | Default |
|---|---|---|
github | GitHub integration, CI | Yes |
ci | Continuous integration | Yes |
igenomes | iGenomes reference config | Yes |
multiqc | MultiQC report | Yes |
fastqc | FastQC quality control | Yes |
nf_schema | Parameter validation | Yes |
codespaces | GitHub Codespaces | No |
slackreport | Slack notifications | No |
nf-core-mypipeline/
├── .github/ # GitHub Actions, templates
├── assets/ # Email templates, logos
├── bin/ # Custom scripts
├── conf/ # base.config, modules.config, test.config
├── docs/ # usage.md, output.md
├── lib/ # Groovy libraries
├── modules/ # local/ and nf-core/
├── subworkflows/ # local/ and nf-core/
├── workflows/ # Main workflow
├── main.nf # Entry point
├── nextflow.config # Main config
├── nextflow_schema.json # Parameter schema
└── CHANGELOG.md
master/main: Stable releases onlydev: Active developmentTEMPLATE: Vanilla template for syncAlways run strict syntax lint first. All nf-core pipelines must pass by Q2 2026.
<cmd> nextflow lint .
<cmd> nextflow lint main.nf workflows/ modules/
What it checks:
Channel. uppercase, implicit closure params, shell: blocks<cmd> nf-core pipelines lint
<cmd> nf-core pipelines lint --fix # Auto-fix (requires clean git)
<cmd> nf-core pipelines lint --dir /path # Specific directory
<cmd> nf-core pipelines lint -k files_exist # Specific tests only
nextflow lint . — fix all errors, then warningsnf-core pipelines lint — fix FAILED, then WARNEDnf-core pipelines lint --fix — apply auto-fixes| Category | Description |
|---|---|
files_exist | Required files (LICENSE, CITATIONS.md, etc.) |
files_unchanged | Template files not to modify |
nextflow_config | Config validation (manifest, params, profiles) |
schema_lint | nextflow_schema.json structure |
pipeline_todos | TODO comments to address |
version_consistency | Version numbers match across files |
lint:
pipeline_todos: false # Disable test
files_exist:
- CODE_OF_CONDUCT.md # Skip specific file
files_unchanged:
- .github/CONTRIBUTING.md
Missing files (files_exist): Create LICENSE, CODE_OF_CONDUCT.md, CITATIONS.md.
Schema issues (schema_lint): Run <cmd> nf-core pipelines schema build.
Config issues (nextflow_config): Ensure complete manifest with name, version, nextflowVersion, etc.
TODOs (pipeline_todos): Remove or implement TODO comments.
<cmd> nf-core pipelines schema build # Generate from nextflow.config
<cmd> nf-core pipelines schema build --web-only # Web interface only
nextflow.config params { } block<cmd> nf-core pipelines schema build| Type | Example | Use Case |
|---|---|---|
string | "value" | Text, paths, enums |
integer | 10 | Whole numbers |
number | 0.05 | Decimals |
boolean | true/false | Flags |
--input, --outdir--genome, --fasta--skip_* flags--max_cpus, --max_memory, --max_timeDefine samplesheet columns in assets/schema_input.json:
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "array",
"items": {
"type": "object",
"required": ["sample", "fastq_1"],
"properties": {
"sample": { "type": "string", "pattern": "^\\S+$" },
"fastq_1": { "type": "string", "format": "file-path", "exists": true },
"fastq_2": { "type": "string", "format": "file-path", "exists": true }
}
}
}
Reference from nextflow_schema.json:
"input": {
"type": "string",
"format": "file-path",
"schema": "assets/schema_input.json"
}
echo "sample,fastq_1,fastq_2,strandedness" > samplesheet.csv
for f in *_R1.fastq.gz; do
sample=$(basename "$f" _R1.fastq.gz)
echo "${sample},$(pwd)/${f},$(pwd)/${sample}_R2.fastq.gz,auto"
done >> samplesheet.csv
master ────────────────────► (releases only)
dev ────●─────●─────●──────► (active development)
│ ▲
│ │ merge sync PR
TEMPLATE ●────●─────────────► (template updates)
<cmd> nf-core pipelines sync # Run sync (creates PR)
<cmd> nf-core pipelines sync --no-pull-request # No PR
<cmd> nf-core pipelines sync --make-template-branch # Recreate TEMPLATE
git branch -D TEMPLATE
git fetch origin TEMPLATE:TEMPLATE
# Or recreate:
<cmd> nf-core pipelines sync --make-template-branch
manifest.version in nextflow.config (semver: MAJOR.MINOR.PATCH)docs/usage.md, docs/output.md, README.md up to datenextflow_schema.json matches all params (<cmd> nf-core pipelines schema build)nextflow lint . zero errors, nf-core pipelines lint all pass<cmd> nf-test test all pass, CI green:latest), Docker and Singularity workCITATIONS.md lists all tools with DOIs| Change Type | Bump | Example |
|---|---|---|
| Breaking changes | MAJOR | 1.0.0 → 2.0.0 |
| New features | MINOR | 1.0.0 → 1.1.0 |
| Bug fixes | PATCH | 1.0.0 → 1.0.1 |
# 1. Ensure dev is up to date
git checkout dev && git pull origin dev
# 2. Run full validation
<cmd> nextflow lint .
<cmd> nf-core pipelines lint
<cmd> nf-test test
# 3. Update version in nextflow.config and CHANGELOG.md
# 4. Commit and push
git commit -m "Prepare release X.Y.Z"
git push origin dev
# 5. Create release PR (dev → master)
gh pr create --base master --head dev --title "Release X.Y.Z"
# 6. After merge, tag release
git checkout master && git pull
git tag -a X.Y.Z -m "Release X.Y.Z"
git push origin X.Y.Z