用途:把 Nextflow 流水线代码迁移到较新的语言要求。每次迁移都是检测驱动:先用工具报告需要修改的内容,再应用保持行为不变的修复,然后重新运行工具直到无问题。
主要能力:支持四类迁移。严格语法:修复严格语法错误,或运行 nextflow lint 查找并修复错误。Topic 通道:把 ch_versions 之类的通道管道替换为 topic 通道。静态类型:为 process/workflow 输入输出添加静态类型、用 records 替换 tuples、使用带类型的 params。工作流输出:用工作流输出替换 publishDir 指令,即顶层 output {} 块和入口工作流中的 publish: 段。
使用方式:该技能以 SKILL.md 作为索引,先根据需求从表中确定所需迁移,再阅读对应参考文件(references/strict-syntax.md、references/topic-channels.md、references/static-typing.md、references/workflow-outputs.md)获取完整的检测→修复→验证流程。若请求不匹配任何一项,应告知当前支持的迁移类型,不要自行发挥。若涉及多项迁移,建议只执行表中第一个匹配项;顺序也是依赖顺序:严格语法→topic 通道→静态类型→工作流输出,不要同时进行多项迁移。
适用场景:需要升级 Nextflow 流水线以适配新语言要求时。
限制:需要 Nextflow 26.04 或更高版本(nextflow lint 命令和严格语法解析器,后者自 26.04 起为默认)。对 nf-core 流水线,开始前需检查模板版本:若存在 .nf-core.yml,查看其模板由哪个版本的 nf-core/tools 生成;若 nf_core_version 未指定或低于 3.0.0,应停止并让用户先升级模板(nf-core pipelines sync)。关键规则:编辑前先检测,不要猜测;保持行为不变,只做最小改动,不重构无关逻辑;完成后运行项目测试(nf-test test,或 nextflow run . -profile test,docker -resume)验证行为未变。