JSON Schema vendored verbatim from nf-core/modules at SHA d852990. Validates every subworkflow meta.yml under subworkflows/nf-core/<name>/.
Operational role. Companion to nf-core-module-meta for the subworkflow tier. summarize-nextflow §6 distinguishes kind: pipeline vs kind: utility subworkflows; this schema’s components field — the declared transitive module/subworkflow dependencies — is the structured signal that backs the call-graph extraction.
Source-of-truth chain:
subworkflows/yaml-schema.jsoninnf-core/modules, cited by every subworkflowmeta.ymlvia# yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/subworkflows/yaml-schema.json.- Vendored verbatim into
content/schemas/nf-core-subworkflow-meta.schema.json, pinned atupstream’s SHA. - Re-sync: identical recipe to nf-core-module-meta.
Top-level shape
Required: name, description, keywords (≥3), authors, output, components. Optional: input, maintainers.
Differences from the module schema:
components(required, array of strings) — declares modules and subworkflows the subworkflow depends on. Resolves transitively at install time pernf-core/toolsmodules.json. The cast skill walks this to fillSubworkflow.calls[].- No
tools[]block (tools are declared at the leaf module level). - No
containersblock. inputandoutputshapes use the samechannelElement/channelArraygrammar as the module schema, so thesummarize-nextflowchannel IO extractor handles both with the same code path.
Upstream license
Same MIT redistribution as nf-core-module-meta. See LICENSES/nf-core-modules.LICENSE.