원클릭으로
summarize-cwl
Validate and normalize a CWL Workflow tree, then emit a lightweight structured summary for downstream Galaxy translation.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Validate and normalize a CWL Workflow tree, then emit a lightweight structured summary for downstream Galaxy translation.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Carry an existing Galaxy workflow's tests forward as a regression baseline and augment them for a change-set's deltas, emitting a Galaxy test plan.
Triage failing Galaxy run outputs; classify the failure surface and capture evidence before recommending repairs.
Synthesize a Galaxy workflow test plan from a free-form summary and the Galaxy design briefs.
Assemble Galaxy workflow test fixtures and assertions.
Execute a workflow's tests via Planemo; emit structured pass/fail and outputs.
Convert one nf-core module dir into a Galaxy tool wrapper (tool.xml + macros.xml + _provenance.yml + remote-URL <test> blocks).
| name | summarize-cwl |
| description | Validate and normalize a CWL Workflow tree, then emit a lightweight structured summary for downstream Galaxy translation. |
Follow the procedure below and use the artifact/reference sections as the runtime contract.
summary-cwl as summary-cwl.json. Format: json. Schema: summary-cwl. Structured summary of a CWL Workflow + CommandLineTool tree: inputs, outputs, scatter, conditionals, requirements.cwl-normalizer (cwl-utils). uv tool install cwl-utils (or pip install cwl-utils).
Ephemeral run: uvx --from cwl-utils cwl-normalizer.
Check: cwl-normalizer --help.
Docs: https://github.com/common-workflow-language/cwl-utils
Bundled reference: references/cli/cwl-utils.md.cwltool (cwltool). uv tool install cwltool (or pip install cwltool).
Ephemeral run: uvx cwltool.
Check: cwltool --version.
Docs: https://cwltool.readthedocs.io/
Bundled reference: references/cli/cwltool.md.foundry (foundry). npm install -g @galaxy-foundry/foundry.
Ephemeral run: npx --package @galaxy-foundry/foundry foundry.
Check: foundry --help.
Docs: https://github.com/galaxyproject/foundry/blob/main/packages/foundry/README.md
Bundled reference: references/cli/foundry.md.references/cli/cwl-utils.md: CLI tool reference copied verbatim into the bundle. Normalize the CWL workflow (cwl-normalizer) into a single JSON document for extraction.references/cli/cwltool.md: CLI tool reference copied verbatim into the bundle. Validate the CWL entrypoint before normalization.references/cli/foundry.md: CLI tool reference copied verbatim into the bundle. Schema-check summary-cwl.json before returning it from the skill.references/notes/component-cwl-workflow-anatomy.md: Research note copied verbatim into the bundle. Use CWL's native workflow, step, tool, scatter, conditional, and requirement structure without copying the heavier Nextflow inference pipeline.references/schemas/summary-cwl.schema.json: Schema file copied verbatim into the bundle. Validate the emitted CWL summary JSON and provide downstream consumers the output contract.references/notes/cwl-v1.2-schemas.md: Research note copied verbatim into the bundle. Check official CWL v1.2 field names and source-language semantics when summarizing less-common features. Use when: the workflow uses WorkflowStep features, requirements, hints, Operation, ExpressionTool, or CommandLineTool bindings not covered by the short procedure.summary-cwl.json before returning it: run foundry validate-summary-cwl summary-cwl.json from @galaxy-foundry/foundry. If the command is not on PATH, run npx --package @galaxy-foundry/foundry foundry validate-summary-cwl summary-cwl.json. This checks artifact summary-cwl against the summary-cwl schema.Read a CWL Workflow entrypoint, resolve referenced Workflow, CommandLineTool, ExpressionTool, and Operation documents, and emit summary-cwl.json. This skill is source-specific and target-agnostic: it records what the CWL says, validates and normalizes references, and leaves Galaxy interface/data-flow choices to downstream molds.
CWL is already a structured workflow language. Do not imitate summarize-nextflow's heavy inference machinery unless a real CWL fixture proves the need.
The skill expects:
tests: [].A single JSON document conforming to summary-cwl. Sketch shape:
{
"summary_version": "1",
"source": {
"ecosystem": "cwl",
"workflow": "rnaseq-qc",
"url": "https://example.org/workflows/rnaseq-qc.cwl",
"version": "abc123",
"license": null,
"slug": "rnaseq-qc",
"cwl_version": "v1.2",
"entrypoint": "rnaseq-qc.cwl#main"
},
"documents": {
"entrypoint": "rnaseq-qc.cwl",
"normalized_path": "normalized/rnaseq-qc.cwl.json",
"validation": {
"command": "cwltool --validate rnaseq-qc.cwl",
"status": "valid",
"diagnostics": []
}
},
"workflow_inputs": [
{
"id": "reads",
"label": "reads",
"type": "File[]",
"optional": false,
"default": null,
"doc": "Input FASTQ files.",
"format": "edam:format_1930",
"secondary_files": []
}
],
"workflow_outputs": [
{
"id": "report",
"label": "report",
"type": "File",
"output_source": "multiqc/report",
"doc": null,
"format": "edam:format_2330",
"secondary_files": []
}
],
"steps": [
{
"id": "fastqc",
"run": "#fastqc_tool",
"run_class": "CommandLineTool",
"label": "FastQC",
"doc": null,
"in": [{ "id": "reads", "source": ["reads"], "value_from": null }],
"out": ["html", "zip"],
"scatter": ["reads"],
"scatter_method": "dotproduct",
"when": null,
"requirements": [],
"hints": []
}
],
"tools": [
{
"id": "fastqc_tool",
"label": "FastQC",
"base_command": ["fastqc"],
"arguments": [],
"inputs": [],
"outputs": [],
"requirements": [
{
"class": "DockerRequirement",
"docker_pull": "quay.io/biocontainers/fastqc:0.12.1--hdfd78af_0",
"docker_image_id": null,
"packages": [],
"raw": {}
}
],
"hints": []
}
],
"graph": {
"nodes": [{ "id": "fastqc", "kind": "step", "label": "FastQC" }],
"edges": [{ "from": "reads", "to": "fastqc/reads", "via": ["scatter"] }]
},
"tests": [],
"warnings": []
}
cwltool --validate or equivalent library validation. If invalid, emit source provenance, validation diagnostics, warnings[], and do not invent graph structure.cwl-normalizer from cwl-utils when possible. Use the normalized JSON document as the preferred extraction surface because referenced documents have been gathered, older CWL versions have been upgraded to v1.2 when needed, and the output is regular JSON.Workflow inputs/outputs, step wiring, scatter, scatterMethod, when, requirements, and hints directly from the normalized CWL object model.CommandLineTool command surface: baseCommand, arguments, input/output bindings, output globs, DockerRequirement, and SoftwareRequirement.via markers for scatter, linkMerge, pickValue, valueFrom, and secondaryFiles.foundry validate-summary-cwl summary-cwl.json before returning it.valueFrom, when, expression-based globs, and JavaScript-heavy tools should surface warnings when they affect data shape.Directory types; downstream Galaxy molds decide whether to use directory-capable wrappers, explicit files, or collections.Workflow in run: is a step target, not a reason to flatten blindly. Summarize its boundary and warn if downstream Galaxy translation needs expansion.DockerRequirement and SoftwareRequirement, but do not resolve them into Tool Shed tools or new wrappers here.