Agent Skill · cast nextflow-test-to-galaxy-test-plan
Translate Nextflow test evidence into a Galaxy workflow test plan.
← All cast skills · Source mold →
Install with Claude Code
/plugin marketplace add galaxyproject/foundry
/plugin install foundry-skills@galaxy-workflow-foundry
Then invoke as:
/foundry-skills:nextflow-test-to-galaxy-test-plan
Install with Codex
codex plugin marketplace add galaxyproject/foundry
codex plugin add foundry-skills@galaxy-workflow-foundry
Then select with /skills or invoke explicitly as:
$nextflow-test-to-galaxy-test-plan
Skill Bundle
/ packaged cast
- attached files
- 9
- upfront
- 2
- on demand
- 7
- cast rev
- n/a
- validated
- 0
Produces: 1 artifact.
Consumes: 1 artifact.
Artifact Contract
/ skill handoff Produces
galaxy-test-plan
Reviewable Galaxy workflow test plan (see [[galaxy-workflow-test-plan]]): profile, fixture, snapshot, ignored-file, expected-output, rationale provenance translated from nf-test evidence.
yamlgalaxy-test-plan.yml[[galaxy-workflow-test-plan]]
Raw artifact contract
{
"id": "galaxy-test-plan",
"kind": "yaml",
"default_filename": "galaxy-test-plan.yml",
"schema": "[[galaxy-workflow-test-plan]]",
"description": "Reviewable Galaxy workflow test plan (see [[galaxy-workflow-test-plan]]): profile, fixture, snapshot, ignored-file, expected-output, rationale provenance translated from nf-test evidence."
}
Consumes
summary-nextflow
Structured Nextflow summary from [[summarize-nextflow]]; carries test_fixtures, nf_tests, snapshot evidence.
Raw artifact contract
{
"id": "summary-nextflow",
"description": "Structured Nextflow summary from [[summarize-nextflow]]; carries test_fixtures, nf_tests, snapshot evidence.",
"inherited_schema": "[[summary-nextflow]]",
"producers": [
"summarize-nextflow"
]
}
Attached Files
/ runtime references Load upfront
Output contract: the emitted plan conforms to [[galaxy-workflow-test-plan]]. Cast bundles the JSON Schema; validate with `foundry validate-galaxy-workflow-test-plan`.
upfront runtime verbatim hypothesis deterministic 18.0 KB
- bundle
references/schemas/galaxy-workflow-test-plan.schema.json - source
package://@galaxy-foundry/foundry#galaxyWorkflowTestPlanSchema
Preview json
{
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "https://galaxyproject.org/foundry/schemas/galaxy-workflow-test-plan.schema.json",
"$comment": "Canonical source: packages/foundry/src/schemas/galaxy-workflow-test-plan/galaxy-workflow-test-plan.schema.json in galaxyproject/foundry. Mold frontmatter cites this schema via [[galaxy-workflow-test-plan]] wiki-links; the cast pipeline imports the `galaxyWorkflowTestPlanSchema` runtime export and serializes it into cast bundles. The on-disk artifact is YAML; validate it with `foundry validate-galaxy-workflow-test-plan`.",
"title": "Galaxy Workflow Test Plan",
"description": "Intermediate, reviewable Galaxy workflow test-plan handoff produced by a *-test-to-galaxy-test-plan Mold (nextflow, cwl, freeform, or galaxy) and consumed by implement-galaxy-workflow-test. It preserves test intent, fixture provenance, assertion intent, tolerances, label assumptions, unresolved mappings, and intentional omissions before any concrete tests-format `*-tests.yml` is authored. It is NOT the final test artifact: assertion vocabulary is referenced by family name from the tests-format schema, not duplicated here.",
"type": "object",
"additionalProperties": false,
"required": [
"plan_version",
"source",
"workflow",
"test_cases",
"unresolved",
"omissions",
"warnings"
],
"properties": {
"plan_version": {
"type": "string",
"enum": [
"1"
],
"description": "Test-plan schema major version."
},
"source": {
"$ref": "#/$defs/SourceRecord"
},
"workflow": {
"$ref": "#/$defs/WorkflowRef"
},
"test_cases": {
"type": "array",
"description": "One entry per planned Galaxy workflow test (each becomes one tests-format test entry downstream).",
"items": {
"$ref": "#/$defs/TestCase"
}
},
"unresolved": {
"type": "array",
"description": "Mappings the plan could not resolve and that implement-galaxy-workflow-test (or a reviewer) must settle before authoring the final test file.",
"items": {
"$ref": "#/$defs/UnresolvedItem"
}
},
"omissions": {
"type": "array",
"description": "Outputs or behaviors deliberately left unasserted, with rationale, so the gap is a recorded decision rather than an oversight.",
"items": {
"$ref": "#/$d
...
schema
summary-nextflow
packaged Read summarized nf-test profiles, snapshot fixtures, selected test data, params, and expected outputs.
upfront runtime verbatim corpus-observed deterministic 58.7 KB
- bundle
references/schemas/summary-nextflow.schema.json - source
package://@galaxy-foundry/summarize-nextflow#summaryNextflowSchema
Preview json
{
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "https://galaxyproject.org/foundry/schemas/summary-nextflow.schema.json",
"$comment": "Canonical source: packages/summarize-nextflow/src/schema/summary-nextflow.schema.json in galaxyproject/foundry. Mold frontmatter cites this schema via [[summary-nextflow]] wiki-links; the cast pipeline imports the `summaryNextflowSchema` runtime export and serializes it into cast bundles.",
"title": "Nextflow Pipeline Summary",
"description": "Structured per-source summary emitted by the summarize-nextflow Mold.\n\nPer-source schema by design — paper, Nextflow, and CWL each have their own summary shape; downstream Molds (data flow, templates, tool wrappers) consume any source's summary and handle the polymorphism.\n\nField names mirror gxy-sketches' SketchSource / ToolSpec / TestDataRef / ExpectedOutputRef where parity exists; see content/research/gxy-sketches-alignment.md.",
"$ref": "#/$defs/Summary",
"$defs": {
"Summary": {
"title": "Summary",
"description": "Top-level shape. Every Nextflow summary is exactly this object.",
"type": "object",
"additionalProperties": false,
"required": [
"source",
"params",
"sample_sheets",
"profiles",
"tools",
"processes",
"subworkflows",
"workflow",
"reference_assets",
"reference_rebuilds",
"test_fixtures",
"nf_tests"
],
"properties": {
"source": {
"$ref": "#/$defs/SourceRecord"
},
"params": {
"type": "array",
"items": {
"$ref": "#/$defs/Param"
}
},
"sample_sheets": {
"type": "array",
"items": {
"$ref": "#/$defs/SampleSheet"
},
"description": "Structured sample-sheet inputs. Each entry binds one `params[]` parameter to a row schema (column names, types, path-vs-meta classification, required flags, enums, patterns). Promoted from prose inside `params[].description` so downstream target translations (Galaxy `sample_sheet*` collections, CWL records-of-arrays) can choose collection variants without re-parsing the source pipeline. Empty array when no sample-sheet idiom is detected. Discovery sources: nf-schema `schema:` references, `samplesheetToList()` calls, and `splitCsv(header: true
...
Load on demand
Interpret nf-test profiles, snapshot assertions, and Nextflow fixture conventions before translating them.
Trigger: When converting nf_tests, snapshot fixtures, test profiles, or source test-data references into a Galaxy workflow test plan.
on-demand runtime verbatim hypothesis deterministic 5.1 KB
- bundle
references/notes/component-nextflow-testing.md - source
content/research/component-nextflow-testing.md
Preview md
---
type: research
subtype: component
tags:
- research/component
- source/nextflow
component: "Nextflow Testing and Test Fixtures"
status: draft
created: 2026-05-01
revised: 2026-05-05
revision: 2
ai_generated: true
summary: "nf-test patterns mapped to Galaxy planemo asserts and CWL test equivalents — backs nextflow-test-to-target-tests Mold and summarize-nextflow §7."
companions:
- "component-nextflow-testing.yml"
sources:
- "https://www.nf-test.com/"
- "https://www.nf-test.com/docs/assertions/"
- "https://www.nf-test.com/docs/assertions/snapshots/"
- "https://www.nf-test.com/docs/configuration/"
- "https://nf-co.re/docs/contributing/nf-test/assertions"
- "https://nf-co.re/docs/developing/testing/overview"
- "https://github.com/nf-core/test-datasets"
- "https://www.nextflow.io/docs/latest/config.html#config-profiles"
- "https://nf-co.re/docs/contributing/pipelines#test-data"
related_molds:
- "[[summarize-nextflow]]"
- "[[nextflow-test-to-target-tests]]"
- "[[implement-galaxy-workflow-test]]"
related_notes:
- "[[planemo-asserts-idioms]]"
- "[[tests-format]]"
- "[[iwc-test-data-conventions]]"
- "[[component-nf-core-tools]]"
---
# Nextflow Testing and Test Fixtures
Operational grounding for two Molds:
- [[summarize-nextflow]] §7 — extract `nf_tests[]` and `test_fixtures` from a real nf-core or DSL2 pipeline.
- [[nextflow-test-to-target-tests]] — translate nf-test fixtures + assertions into Galaxy / CWL equivalents.
The summarize side is mostly *enumeration*: walk `tests/*.nf.test`, extract structured fields per the Mold §7 spec. The translation side is *mapping*: each nf-test assertion pattern has a (sometimes lossy) Galaxy or CWL equivalent.
Companion structured form: `component-nextflow-testing.yml`. Per-pattern entries with `n
...
Interpret nf-test profiles, snapshot assertions, and Nextflow fixture conventions before translating them.
Trigger: When converting nf_tests, snapshot fixtures, test profiles, or source test-data references into a Galaxy workflow test plan.
on-demand runtime verbatim hypothesis deterministic 11.6 KB
- bundle
references/notes/component-nextflow-testing.yml - source
content/research/component-nextflow-testing.yml
Preview yml
# nf-test patterns → Galaxy / CWL test equivalents.
# Companion to component-nextflow-testing.md.
#
# Rows ordered by frequency in real nf-core pipelines (snapshot block first).
mappings:
# ---- Snapshot block (nf-core canonical idiom) ----
- id: snapshot.match
nf_test_pattern: "assert snapshot(...).match()"
description: "Top-level snapshot assertion comparing serialized form of N captured values to a stored .nf.test.snap file."
galaxy_equivalent: "Per-output assertion block in <workflow>-tests.yml; no single-line analog. Decompose into per-capture assertions (rows below)."
cwl_equivalent: "cwltest expected_outputs entries per output; no single-line analog. Decompose."
target_link: "[[tests-format]]"
notes: "The whole-snapshot idiom is lossy on translation; explode into N per-capture assertions and accept the surface-area increase."
- id: snapshot.succeeded_task_count
nf_test_pattern: "workflow.trace.succeeded().size()"
description: "Count of successfully completed tasks. nf-core canonical first capture; brittle across pipeline versions but stable per release."
galaxy_equivalent: "Implicit in workflow execution success. Galaxy workflow tests pass iff the workflow completes; per-step success surfaces via has_text on log outputs."
cwl_equivalent: "Implicit in cwltest's `should_succeed` / `should_fail` boolean. No per-task count."
target_link: "[[planemo-asserts-idioms]] §1 (Plain text reports / logs)"
notes: "Drop on translation; targets verify success implicitly."
- id: snapshot.versions_yml
nf_test_pattern: "ch_versions or path('versions.yml')"
description: "The `versions` topic channel collected per process and dumped to versions.yml at workflow end. nf-core canonical second capture."
galaxy_equiv
...
Distinguish accepted IWC-style test shortcuts from assertion smells while translating tests.
Trigger: When deciding whether to use existence-only, size-only, image-dimension, or tolerant output checks.
on-demand runtime verbatim corpus-observed deterministic 23.9 KB
- bundle
references/notes/iwc-shortcuts-anti-patterns.md - source
content/research/iwc-shortcuts-anti-patterns.md
Preview md
---
type: research
subtype: component
tags:
- research/component
- target/galaxy
status: draft
created: 2026-04-30
revised: 2026-05-03
revision: 2
ai_generated: true
related_notes:
- "[[galaxy-workflow-testability-design]]"
- "[[iwc-test-data-conventions]]"
- "[[planemo-asserts-idioms]]"
- "[[implement-galaxy-workflow-test]]"
- "[[tests-format]]"
- "[[iwc-conditionals-survey]]"
- "[[iwc-map-over-lifecycle-survey]]"
- "[[iwc-tabular-operations-survey]]"
- "[[iwc-transformations-survey]]"
summary: "What IWC test suites cut corners on (accepted) vs what's a code smell — existence-only probes, sim_size deltas, image dim checks, label coupling."
---
# IWC test-suite shortcuts and anti-patterns
## Purpose
When an agent translates or authors a Galaxy workflow for IWC submission, the test suite it writes will be reviewed against IWC's *de facto* style — not against an idealized assertion ladder. That style routinely tolerates assertions that look weak in isolation. This note distinguishes the corner-cutting that is **normal and accepted** in the corpus from the patterns that an agent should treat as **smells** worth flagging.
This note owns accepted-vs-smell calls. For positive workflow-structure guidance behind label stability, checkpoint promotion, and collection identifier design, use [[galaxy-workflow-testability-design]].
Grounding: 115 `*-tests.yml` files under `workflow-fixtures/iwc-src/workflows/` (mirror of `galaxyproject/iwc`), prior synthesis in `galaxy-brain/vault/projects/workflow_state/skills/COMPONENT_GALAXY_WORKFLOW_TESTING.md`. Path citations below are relative to `iwc-src/workflows/` unless absolute.
## TL;DR rules of thumb
1. **Default to tolerant assertions.** `compare: sim_size` + `delta:`, `has_image_*` + `delta:`, `has_text` s
...
Emit Galaxy/IWC-style job input fixtures, remote locations, hashes, and collection input shapes.
Trigger: When writing job inputs or deciding whether fixtures belong in test-data, Zenodo, ENA/SRA, or CVMFS.
on-demand runtime verbatim corpus-observed deterministic 21.1 KB
- bundle
references/notes/iwc-test-data-conventions.md - source
content/research/iwc-test-data-conventions.md
Preview md
---
type: research
subtype: component
tags:
- research/component
- target/galaxy
status: draft
created: 2026-04-30
revised: 2026-05-03
revision: 3
ai_generated: true
related_notes:
- "[[galaxy-workflow-testability-design]]"
- "[[iwc-shortcuts-anti-patterns]]"
- "[[planemo-asserts-idioms]]"
- "[[implement-galaxy-workflow-test]]"
- "[[tests-format]]"
- "[[iwc-tabular-operations-survey]]"
summary: "How IWC workflows organize and reference test data — Zenodo-first, SHA-1 integrity, collection shapes, CVMFS gotchas."
---
# IWC test data conventions
Reference for an agent implementing or editing a `<workflow>-tests.yml` in IWC style. All evidence cited from `/Users/jxc755/projects/repositories/workflow-fixtures/iwc-src/workflows/` (raw IWC clone) and `workflows/README.md`. Authoritative spec: [planemo.readthedocs.io/en/latest/test_format.html](https://planemo.readthedocs.io/en/latest/test_format.html). The companion analysis at `/Users/jxc755/projects/repositories/galaxy-brain/vault/projects/workflow_state/skills/COMPONENT_GALAXY_WORKFLOW_TESTING.md` is the synthesized source for several normative claims here.
This note owns **test YAML fixture shapes**. For workflow-structure choices that make those fixtures possible before the test file exists, use [[galaxy-workflow-testability-design]].
## 1. Where does test data live? Remote vs in-repo
Two storage patterns. They mix freely inside one job.
**Remote `location:` (default for any non-trivial input).** Strongly preferred for anything bigger than a toy fixture. Order of preference, observed in the corpus:
- **Zenodo** — overwhelming default, persistent DOI-backed URL.
- `read-preprocessing/short-read-qc-trimming/short-read-quality-control-and-trimming-tests.yml:13,17` — `https://zenodo.org/records/11484
...
Translate nf-test snapshot captures, helper-pruned file lists, and snapshot checksums into Galaxy workflow-test assertion intent.
Trigger: When converting nf-test snapshot fixtures, .snap sidecars, ignore files, ignore globs, or pipeline-level stable path/name captures.
on-demand runtime verbatim corpus-observed deterministic 14.4 KB
- bundle
references/notes/nextflow-snapshot-to-galaxy-assertions.md - source
content/research/nextflow-snapshot-to-galaxy-assertions.md
Preview md
---
type: research
subtype: component
title: "Nextflow nf-test snapshots to Galaxy/Planemo assertions"
tags:
- research/component
- source/nextflow
- target/galaxy
status: draft
created: 2026-05-05
revised: 2026-05-05
revision: 2
ai_generated: true
related_notes:
- "[[tests-format]]"
- "[[summary-nextflow]]"
- "[[planemo-asserts-idioms]]"
- "[[iwc-test-data-conventions]]"
- "[[iwc-shortcuts-anti-patterns]]"
- "[[component-nextflow-testing]]"
related_molds:
- "[[nextflow-test-to-galaxy-test-plan]]"
- "[[implement-galaxy-workflow-test]]"
sources:
- "https://github.com/galaxyproject/foundry/issues/65"
- "https://github.com/galaxyproject/foundry/issues/142"
summary: "Translates nf-test snapshot assertions into Galaxy workflow test-format assertions, broken out by module-level vs pipeline-level test shape."
---
# Nextflow nf-test snapshots to Galaxy/Planemo assertions
Translation guide for the nf-test → Galaxy direction. Companion to [[tests-format]] (assertion vocabulary), [[planemo-asserts-idioms]] (output-type → assertion-family decision table), and [[summary-nextflow]] (source-side schema). This note maps the *snapshot* shape specifically; per-output assertion picking (size delta, image dimensions, etc.) defers to [[planemo-asserts-idioms]].
The corpus split is load-bearing: in the pinned `workflow-fixtures/pipelines/` fixture set, module-level, subworkflow-level, and pipeline-level `*.nf.test` files snapshot different things. Do not depend on exact counts from one fixture checkout; use the split as a shape distinction and re-sample the current fixture set when making inventory claims.
## 0. The framework primitive
nf-test's only assertion mechanism for content is `assert snapshot(<expr>).match()`. The framework serializes `<expr>` to JSON
...
Describe Galaxy workflow-test assertion intent and tolerances for translated expected outputs.
Trigger: When turning Nextflow expected outputs or snapshots into Galaxy test-plan assertions.
on-demand runtime verbatim corpus-observed deterministic 18.2 KB
- bundle
references/notes/planemo-asserts-idioms.md - source
content/research/planemo-asserts-idioms.md
Preview md
---
type: research
subtype: component
tags:
- research/component
- target/galaxy
status: draft
created: 2026-04-30
revised: 2026-05-11
revision: 6
ai_generated: true
related_notes:
- "[[galaxy-workflow-testability-design]]"
- "[[iwc-test-data-conventions]]"
- "[[iwc-shortcuts-anti-patterns]]"
- "[[implement-galaxy-workflow-test]]"
- "[[tests-format]]"
- "[[planemo-workflow-test-architecture]]"
- "[[validate-tests]]"
- "[[iwc-tabular-operations-survey]]"
- "[[galaxy-discover-datasets]]"
summary: "Decision and idiom guide for picking planemo workflow-test assertions: which family per output type, how to size tolerances, when to validate."
---
# Planemo asserts: idiom and decision guide
Companion to [[iwc-test-data-conventions]] (input shapes), [[galaxy-workflow-testability-design]] (workflow structure before test YAML exists), and [[iwc-shortcuts-anti-patterns]] (what's accepted vs smell). This note is forward-looking: when authoring a new `<workflow>-tests.yml`, which assertion family fits which output, and what the recommended tolerances and operators are.
The **vocabulary itself is not restated here** — every assertion's parameter list, types, defaults, required fields, and Python docstring is rendered from the test-format JSON Schema at [[tests-format]]. Assertion names below deep-link into that page (e.g. [[tests-format#has_text_model|has_text]] jumps straight to that `$def`).
## 1. Choose by output type
The single most useful decision table. Pick the row that matches the file format the workflow emits; default to the recommended assertion family.
| Output type | Default assertion family | Why | Fallback |
|---|---|---|---|
| **Plain text reports / logs** (FastQC summary, MultiQC text section) | [[tests-format#has_text_model|has_text]] (su
...
schema
tests-format
packaged Use the Galaxy workflow tests schema as the assertion vocabulary when translating Nextflow test evidence into a Galaxy test plan.
Trigger: When mapping expected outputs, tolerances, snapshots, or fixture assertions into Galaxy workflow-test assertion intent.
on-demand runtime verbatim corpus-observed deterministic 201.1 KB
- bundle
references/schemas/tests-format.schema.json - source
package://@galaxy-foundry/foundry#testsFormatSchema
Preview json
{
"$defs": {
"Collection": {
"additionalProperties": false,
"properties": {
"class": {
"const": "Collection",
"title": "Class",
"type": "string"
},
"collection_type": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Collection Type"
},
"elements": {
"anyOf": [
{
"items": {
"oneOf": [
{
"oneOf": [
{
"$ref": "#/$defs/LocationFile"
},
{
"$ref": "#/$defs/PathFile"
},
{
"$ref": "#/$defs/ContentsFile"
},
{
"$ref": "#/$defs/CompositeDataFile"
}
]
},
{
"$ref": "#/$defs/Collection"
}
]
},
"type": "array"
},
{
"type": "null"
}
],
"default": null,
"title": "Elements"
},
"identifier": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Identifier"
},
"name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Name"
},
"rows": {
"anyOf": [
{
"additionalProperties": {
"items": {},
"type": "array"
},
"type": "object"
},
{
"type": "null"
}
],
"default": null,
"title": "Rows"
}
},
"required": [
"class"
],
"title": "Collection",
"type": "object"
},
"CollectionAttributes": {
"additionalProperties": false,
...
SKILL.md
# nextflow-test-to-galaxy-test-plan
Follow the procedure below and use the artifact/reference sections as the runtime contract.
## When To Use
- Translate Nextflow test evidence into a Galaxy workflow test plan.
## Inputs
- Read artifact `summary-nextflow`. Schema: summary-nextflow. Produced by `summarize-nextflow`. Structured Nextflow summary from summarize-nextflow; carries test_fixtures, nf_tests, snapshot evidence.
## Outputs
- Write artifact `galaxy-test-plan` as `galaxy-test-plan.yml`. Format: `yaml`. Schema: galaxy-workflow-test-plan. Reviewable Galaxy workflow test plan (see galaxy-workflow-test-plan): profile, fixture, snapshot, ignored-file, expected-output, rationale provenance translated from nf-test evidence.
## Required Tools
- None declared. Procedure should not assume external CLIs are present.
## Load Upfront
- `references/schemas/galaxy-workflow-test-plan.schema.json`: Schema file copied verbatim into the bundle. Output contract: the emitted plan conforms to galaxy-workflow-test-plan. Cast bundles the JSON Schema; validate with `foundry validate-galaxy-workflow-test-plan`.
- `references/schemas/summary-nextflow.schema.json`: Schema file copied verbatim into the bundle. Read summarized nf-test profiles, snapshot fixtures, selected test data, params, and expected outputs.
## Load On Demand
- `references/notes/component-nextflow-testing.md`: Research note copied verbatim into the bundle. Interpret nf-test profiles, snapshot assertions, and Nextflow fixture conventions before translating them. Use when: converting nf_tests, snapshot fixtures, test profiles, or source test-data references into a Galaxy workflow test plan.
- `references/notes/component-nextflow-testing.yml`: Companion file copied verbatim into the bundle. Sibling of `references/notes/component-nextflow-testing.md`; read it where that note directs.
- `references/notes/iwc-shortcuts-anti-patterns.md`: Research note copied verbatim into the bundle. Distinguish accepted IWC-style test shortcuts from assertion smells while translating tests. Use when: deciding whether to use existence-only, size-only, image-dimension, or tolerant output checks.
- `references/notes/iwc-test-data-conventions.md`: Research note copied verbatim into the bundle. Emit Galaxy/IWC-style job input fixtures, remote locations, hashes, and collection input shapes. Use when: writing job inputs or deciding whether fixtures belong in test-data, Zenodo, ENA/SRA, or CVMFS.
- `references/notes/nextflow-snapshot-to-galaxy-assertions.md`: Research note copied verbatim into the bundle. Translate nf-test snapshot captures, helper-pruned file lists, and snapshot checksums into Galaxy workflow-test assertion intent. Use when: converting nf-test snapshot fixtures, .snap sidecars, ignore files, ignore globs, or pipeline-level stable path/name captures.
- `references/notes/planemo-asserts-idioms.md`: Research note copied verbatim into the bundle. Describe Galaxy workflow-test assertion intent and tolerances for translated expected outputs. Use when: turning Nextflow expected outputs or snapshots into Galaxy test-plan assertions.
- `references/schemas/tests-format.schema.json`: Schema file copied verbatim into the bundle. Use the Galaxy workflow tests schema as the assertion vocabulary when translating Nextflow test evidence into a Galaxy test plan. Use when: mapping expected outputs, tolerances, snapshots, or fixture assertions into Galaxy workflow-test assertion intent.
## Validation
- Validate `galaxy-test-plan.yml` before returning it: run `foundry validate-galaxy-workflow-test-plan galaxy-test-plan.yml` from `@galaxy-foundry/foundry`. If the command is not on PATH, run `npx --package @galaxy-foundry/foundry foundry validate-galaxy-workflow-test-plan galaxy-test-plan.yml`. This checks artifact `galaxy-test-plan` against the galaxy-workflow-test-plan schema.
## Procedure
Translate Nextflow test evidence into a Galaxy workflow test plan. The output is a reviewable YAML handoff conforming to galaxy-workflow-test-plan, not a concrete `tests-format` file: preserve profile, fixture, snapshot, ignored-file, expected-output, and rationale provenance so implement-galaxy-workflow-test can author the final Galaxy test artifact with the right labels and assertions. Because this plan is translated from real nf-test evidence, set `source.derived_from: test-evidence` and prefer `evidence: test-evidence` on the assertions it carries.
## Runtime Notes
- Do not read Foundry source files at runtime; use only files packaged in this skill bundle and user-supplied artifacts.
- Preserve declared artifact filenames unless the user or harness supplies explicit paths.
- Carry unresolved assumptions into the output artifact instead of silently inventing missing source evidence.