Agent Skill · cast

mature-galaxy-workflow-for-iwc

Apply the IWC publication checklist to an existing Galaxy workflow and emit a generalized, reviewable submission set.

← 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:mature-galaxy-workflow-for-iwc

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:

$mature-galaxy-workflow-for-iwc

Skill Bundle

/ packaged cast
attached files
5
upfront
3
on demand
2
cast rev
n/a
validated
0

Produces: 7 artifacts.

Consumes: 8 artifacts.

Artifact Contract

/ skill handoff

Produces

galaxy-workflow

Matured concrete gxformat2 workflow with supported IWC metadata, naming, annotation, and purpose-preserving genericity corrections applied.

yamlgalaxy-workflow.gxwf.yml
Raw artifact contract
{
  "id": "galaxy-workflow",
  "kind": "yaml",
  "default_filename": "galaxy-workflow.gxwf.yml",
  "description": "Matured concrete gxformat2 workflow with supported IWC metadata, naming, annotation, and purpose-preserving genericity corrections applied."
}

galaxy-workflow-test

Updated or unchanged supplied workflow test; absent when no test was provided because this Mold must not invent expected results.

yamlgalaxy-workflow.gxwf-tests.yml
Raw artifact contract
{
  "id": "galaxy-workflow-test",
  "kind": "yaml",
  "default_filename": "galaxy-workflow.gxwf-tests.yml",
  "optional": true,
  "description": "Updated or unchanged supplied workflow test; absent when no test was provided because this Mold must not invent expected results."
}

iwc-workflow-readme

Proposed IWC workflow README describing evidenced purpose, valid inputs, expected outputs, and relevant comparisons or resources.

markdownREADME.md
Raw artifact contract
{
  "id": "iwc-workflow-readme",
  "kind": "markdown",
  "default_filename": "README.md",
  "description": "Proposed IWC workflow README describing evidenced purpose, valid inputs, expected outputs, and relevant comparisons or resources."
}

iwc-workflow-changelog

Proposed IWC changelog preserving prior history and recording only the release and maturation changes supported by available evidence.

markdownCHANGELOG.md
Raw artifact contract
{
  "id": "iwc-workflow-changelog",
  "kind": "markdown",
  "default_filename": "CHANGELOG.md",
  "description": "Proposed IWC changelog preserving prior history and recording only the release and maturation changes supported by available evidence."
}

iwc-dockstore-metadata

Proposed Dockstore metadata whose workflow and test paths and evidenced creators agree with the emitted submission files.

yaml.dockstore.yml
Raw artifact contract
{
  "id": "iwc-dockstore-metadata",
  "kind": "yaml",
  "default_filename": ".dockstore.yml",
  "description": "Proposed Dockstore metadata whose workflow and test paths and evidenced creators agree with the emitted submission files."
}

iwc-maturation-report

Per-checklist status report with evidence, before-and-after changes, unresolved decisions, source pin, and explicit downstream validation disclaimer.

markdowniwc-maturation-report.md
Raw artifact contract
{
  "id": "iwc-maturation-report",
  "kind": "markdown",
  "default_filename": "iwc-maturation-report.md",
  "description": "Per-checklist status report with evidence, before-and-after changes, unresolved decisions, source pin, and explicit downstream validation disclaimer."
}

open-requirements-ledger

Carried or initialized obligations ledger with unresolved IWC maturation decisions appended and all prior entries preserved.

yamlopen-requirements.ledger.yml
Raw artifact contract
{
  "id": "open-requirements-ledger",
  "kind": "yaml",
  "default_filename": "open-requirements.ledger.yml",
  "description": "Carried or initialized obligations ledger with unresolved IWC maturation decisions appended and all prior entries preserved."
}

Consumes

starting-galaxy-workflow

The normalized concrete gxformat2 workflow to mature, normally emitted by [[summarize-galaxy-workflow]]; this is the only required input.

Raw artifact contract
{
  "id": "starting-galaxy-workflow",
  "description": "The normalized concrete gxformat2 workflow to mature, normally emitted by [[summarize-galaxy-workflow]]; this is the only required input.",
  "producers": [
    "summarize-galaxy-workflow"
  ]
}

summary-galaxy-workflow

Optional structured summary from [[summarize-galaxy-workflow]]; derive the needed facts from the workflow when this artifact is absent.

Raw artifact contract
{
  "id": "summary-galaxy-workflow",
  "description": "Optional structured summary from [[summarize-galaxy-workflow]]; derive the needed facts from the workflow when this artifact is absent.",
  "optional": true,
  "inherited_schema": "[[summary-galaxy-workflow]]",
  "producers": [
    "summarize-galaxy-workflow"
  ]
}

galaxy-workflow-test

Optional existing workflow test; preserve its assertions and update only keys that must follow supported workflow-label changes.

Raw artifact contract
{
  "id": "galaxy-workflow-test",
  "description": "Optional existing workflow test; preserve its assertions and update only keys that must follow supported workflow-label changes.",
  "optional": true,
  "producers": [
    "implement-galaxy-workflow-test",
    "mature-galaxy-workflow-for-iwc"
  ]
}

open-requirements-ledger

Optional carried obligations ledger [[open-requirements-ledger]]; initialize an empty ledger when it is absent and append unresolved maturation decisions.

Raw artifact contract
{
  "id": "open-requirements-ledger",
  "description": "Optional carried obligations ledger [[open-requirements-ledger]]; initialize an empty ledger when it is absent and append unresolved maturation decisions.",
  "optional": true,
  "producers": [
    "advance-galaxy-draft-step",
    "apply-galaxy-workflow-changeset",
    "compare-against-iwc-exemplar",
    "cwl-summary-to-galaxy-data-flow",
    "cwl-summary-to-galaxy-interface",
    "cwl-summary-to-galaxy-template",
    "freeform-summary-to-galaxy-data-flow",
    "freeform-summary-to-galaxy-interface",
    "freeform-summary-to-galaxy-template",
    "implement-galaxy-tool-step",
    "interview-to-galaxy-workflow-changeset",
    "mature-galaxy-workflow-for-iwc",
    "nextflow-summary-to-galaxy-data-flow",
    "nextflow-summary-to-galaxy-interface",
    "nextflow-summary-to-galaxy-reference-data",
    "nextflow-summary-to-galaxy-template",
    "repair-galaxy-draft-topology"
  ]
}

iwc-publication-context

Optional user or harness context for intended use, repository slug, creators, ORCIDs, citations, license, release, and durable test-data URLs.

Raw artifact contract
{
  "id": "iwc-publication-context",
  "description": "Optional user or harness context for intended use, repository slug, creators, ORCIDs, citations, license, release, and durable test-data URLs.",
  "optional": true
}

iwc-workflow-readme

Optional existing workflow README to update while preserving accurate material that remains relevant after maturation.

Raw artifact contract
{
  "id": "iwc-workflow-readme",
  "description": "Optional existing workflow README to update while preserving accurate material that remains relevant after maturation.",
  "optional": true,
  "producers": [
    "mature-galaxy-workflow-for-iwc"
  ]
}

iwc-workflow-changelog

Optional existing workflow changelog to extend without rewriting or discarding prior release history.

Raw artifact contract
{
  "id": "iwc-workflow-changelog",
  "description": "Optional existing workflow changelog to extend without rewriting or discarding prior release history.",
  "optional": true,
  "producers": [
    "mature-galaxy-workflow-for-iwc"
  ]
}

iwc-dockstore-metadata

Optional existing Dockstore metadata to align with the workflow, test, and evidence-backed creator metadata.

Raw artifact contract
{
  "id": "iwc-dockstore-metadata",
  "description": "Optional existing Dockstore metadata to align with the workflow, test, and evidence-backed creator metadata.",
  "optional": true,
  "producers": [
    "mature-galaxy-workflow-for-iwc"
  ]
}

Attached Files

/ runtime references

Load upfront

prompt

workflow-pr-review-command

packaged

Use the pinned upstream IWC reviewer checklist and its explicit output-label and naming checks as the primary review sequence before applying supported corrections.

upfront runtime verbatim corpus-observed deterministic 7.5 KB
bundle
references/prompts/workflow-pr-review-command.md
source
content/prompts/iwc/workflow-pr-review-command/upstream.prompt
Preview md
---
description: Review a PR against the IWC reviewer checklist
---

You are reviewing a pull request to the IWC (Intergalactic Workflow Commission) repository.

## Scope and Policy Sources

This review applies to changes under `workflows/`. If the pull request does not change that directory, report that the workflow review is not applicable.

Read both `.github/PULL_REQUEST_TEMPLATE.md` and `.github/copilot-instructions.md` from the pull request's base branch before reviewing. Apply the union of their workflow-review requirements. If either file has changed in the pull request, distinguish the existing base-branch policy from the proposed policy change and flag any conflict for human discussion.

The checklist below intentionally includes every workflow-review requirement from the Copilot instructions, adds the contributor-checklist items a reviewer can confirm, and adds the execution and reporting procedure for this command.

## Your Task

1. Fetch the pull request using the `gh` command to get:
   - Pull request title and description
   - Base and head revisions
   - List of changed files
   - The actual file changes (diff)
   - Relevant CI check names, conclusions, and failure details using `gh pr checks` and, when needed, `gh run view`

2. Read the changed workflow files and enough existing repository examples to understand the applicable IWC conventions. Do not infer compliance from the diff alone when a requirement depends on the complete contents of a file.

3. Review the changes against every applicable item in this checklist:

   ### .dockstore.yml

   - [ ] A `.dockstore.yml` file is present in the workflow folder. It is required to run tests.
   - [ ] Its authors match the creator metadata in the `.ga` workflow file.
   - [ ] Its workflow and test file paths
...
research

open-requirements-ledger

packaged

Initialize, preserve, and append precise unresolved maturation obligations rather than guessing authorship, licensing, or scientific intent.

upfront runtime verbatim hypothesis deterministic 15.5 KB
bundle
references/notes/open-requirements-ledger.md
source
content/research/open-requirements-ledger/index.md
Preview md
---
type: research
title: "Open-requirements ledger"
tags:
  - target/galaxy
status: draft
created: 2026-06-16
revised: 2026-08-29
revision: 3
related_notes:
  - "[[galaxy-workflow-draft-format]]"
related_molds:
  - "[[advance-galaxy-draft-step]]"
  - "[[repair-galaxy-draft-topology]]"
  - "[[implement-galaxy-tool-step]]"
summary: "Carried unresolved-requirements artifact the source→Galaxy pipeline discharges or explicitly surrenders, autonomously."
---

# Open-requirements ledger

The `open-requirements-ledger` is a single artifact threaded through the source→Galaxy pipeline that records **obligations the pipeline has taken on but not yet met** — a declared output with no producer, a parameter whose value the source never pinned, a tool with no corpus exemplar — and **source work it decided not to carry**. Each Mold that surfaces one **appends** it; each Mold whose decision closes one **marks it resolved**; the terminal path **surrenders** whatever remains open, explicitly, into the final artifact.

## Framing: obligations the pipeline discharges, not questions a human answers

This is deliberately *not* an "open questions for the user" list. The pipeline is autonomous — no human-in-the-loop gate is assumed. The ledger's consumers are **Molds and the loop's convergence gate**, with human readout a secondary affordance. An entry is closed by a downstream Mold doing work (wiring a producer, picking a wrapper, settling a value), or — when nothing can close it — surrendered: written into the final draft as a known, labelled gap rather than silently dropped or fabricated around.

The distinction matters because a "questions for a human" framing leaks an operator's personal interaction style into a tool meant to run inside anyone's harness. The ledger must behave identically
...
schema

summary-galaxy-workflow

packaged

Interpret a supplied workflow summary without making that convenience artifact mandatory for direct use of this Mold.

upfront runtime verbatim cast-validated deterministic 16.6 KB
bundle
references/schemas/summary-galaxy-workflow.schema.json
source
package://@galaxy-foundry/gxwf-foundry#summaryGalaxyWorkflowSchema
Preview json
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "$id": "https://galaxyproject.org/foundry/schemas/summary-galaxy-workflow.schema.json",
  "$comment": "Canonical source: packages/gxwf-foundry/src/schemas/summary-galaxy-workflow/summary-galaxy-workflow.schema.json in galaxyproject/foundry. Mold frontmatter cites this schema via [[summary-galaxy-workflow]] wiki-links; the cast pipeline imports the `summaryGalaxyWorkflowSchema` runtime export and serializes it into cast bundles.",
  "title": "Galaxy Workflow Summary",
  "description": "Structured summary emitted by the summarize-galaxy-workflow Mold. Galaxy gxformat2 is already a typed workflow language, so this schema records validated and normalized workflow structure (inputs, outputs, steps, edges, existing tests) rather than inferred pipeline semantics. When the user supplies a legacy .ga workflow it is converted to gxformat2 first and the conversion is recorded under documents.",
  "type": "object",
  "additionalProperties": false,
  "required": [
    "summary_version",
    "source",
    "documents",
    "workflow_inputs",
    "workflow_outputs",
    "steps",
    "graph",
    "tests",
    "warnings"
  ],
  "properties": {
    "summary_version": {
      "type": "string",
      "enum": [
        "1"
      ],
      "description": "Summary schema major version."
    },
    "source": {
      "$ref": "#/$defs/SourceRecord"
    },
    "documents": {
      "$ref": "#/$defs/DocumentSet"
    },
    "workflow_inputs": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/WorkflowInput"
      }
    },
    "workflow_outputs": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/WorkflowOutput"
      }
    },
    "steps": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/WorkflowStep"
      }
    },
    "graph": {
      "$ref": "#/$defs/WorkflowGraph"
    },
    "tests": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/TestCase"
      }
    },
    "warnings": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/Warning"
      }
    }
  },
  "$defs": {
    "SourceRecord": {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "ecosystem",
        "workflow",
        "url",
        "version",
        "license",
        "slug",
        "format",
        "original_format",
        "release",
        "an
...

Load on demand

research

galaxy-workflow-testability-design

packaged

Keep workflow interface and test addressing aligned when a safe genericity or human-readable-label correction changes the workflow interface.

Trigger: When maturation changes an input, promoted output, collection identifier, or workflow-output label referenced by a supplied test.

on-demand runtime verbatim corpus-observed deterministic 11.4 KB
bundle
references/notes/galaxy-workflow-testability-design.md
source
content/research/galaxy-workflow-testability-design/index.md
Preview md
---
type: research
tags:
  - target/galaxy
status: draft
created: 2026-05-03
revised: 2026-05-06
revision: 2
related_notes:
  - "[[iwc-workflow-testability-survey]]"
  - "[[iwc-test-data-conventions]]"
  - "[[planemo-asserts-idioms]]"
  - "[[iwc-shortcuts-anti-patterns]]"
  - "[[planemo-workflow-test-architecture]]"
  - "[[implement-galaxy-workflow-test]]"
  - "[[gxformat2-schema]]"
  - "[[gxformat2-workflow-inputs]]"
  - "[[galaxy-datatypes-conf]]"
summary: "Design guidance for Galaxy workflow inputs, outputs, and checkpoints that make IWC-style workflow tests possible."
---

# Galaxy workflow testability design

Use this note when authoring or translating a Galaxy workflow **before** the `-tests.yml` file exists. It covers workflow structure choices that make later IWC-style tests meaningful: labels, promoted checkpoints, collection identifiers, and fixture-compatible inputs.

This is not a `content/patterns/` page. It is cross-cutting design guidance for Molds that need testable Galaxy workflows. Assertion syntax lives in [[planemo-asserts-idioms]]. Test YAML fixture shapes live in [[iwc-test-data-conventions]]. Accepted shortcut vs smell calls live in [[iwc-shortcuts-anti-patterns]]. Corpus evidence trail lives in [[iwc-workflow-testability-survey]].

## 1. Treat labels as API

Workflow input and output labels are not cosmetic. Planemo and IWC tests address workflow inputs and outputs by label, and the survey found exact label matches for every asserted output across 114 matched workflow/test pairs. A generated workflow should therefore pick stable, descriptive labels before test authoring starts.

Rules:

- Label every output that may need a test assertion.
- Treat input/output renames as breaking changes requiring sibling `-tests.yml` updates.
- Prefer stable doma
...
research

iwc-test-data-conventions

packaged

Apply current IWC conventions for test labels, durable remote fixtures, creator identifiers, release changes, and companion-file naming.

Trigger: When a supplied test, test-data reference, creator record, or release decision must be checked or updated.

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/index.md
Preview md
---
type: research
tags:
  - target/galaxy
status: draft
created: 2026-04-30
revised: 2026-05-03
revision: 3
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/11484215/files/paired_r1.fastq.gz` (note the modern `/records/` pl
...

SKILL.md


# mature-galaxy-workflow-for-iwc

Follow the procedure below and use the artifact/reference sections as the runtime contract.

## When To Use

- Apply the IWC publication checklist to an existing Galaxy workflow and emit a generalized, reviewable submission set.

## Inputs

- Read artifact `starting-galaxy-workflow`. Produced by `summarize-galaxy-workflow`. The normalized concrete gxformat2 workflow to mature, normally emitted by summarize-galaxy-workflow; this is the only required input.
- Read artifact `summary-galaxy-workflow`. Optional; absence is allowed and must be reported honestly. Schema: summary-galaxy-workflow. Produced by `summarize-galaxy-workflow`. Optional structured summary from summarize-galaxy-workflow; derive the needed facts from the workflow when this artifact is absent.
- Read artifact `galaxy-workflow-test`. Optional; absence is allowed and must be reported honestly. Produced by `implement-galaxy-workflow-test`, `mature-galaxy-workflow-for-iwc`. Optional existing workflow test; preserve its assertions and update only keys that must follow supported workflow-label changes.
- Read artifact `open-requirements-ledger`. Optional; absence is allowed and must be reported honestly. Produced by `advance-galaxy-draft-step`, `apply-galaxy-workflow-changeset`, `compare-against-iwc-exemplar`, `cwl-summary-to-galaxy-data-flow`, `cwl-summary-to-galaxy-interface`, `cwl-summary-to-galaxy-template`, `freeform-summary-to-galaxy-data-flow`, `freeform-summary-to-galaxy-interface`, `freeform-summary-to-galaxy-template`, `implement-galaxy-tool-step`, `interview-to-galaxy-workflow-changeset`, `mature-galaxy-workflow-for-iwc`, `nextflow-summary-to-galaxy-data-flow`, `nextflow-summary-to-galaxy-interface`, `nextflow-summary-to-galaxy-reference-data`, `nextflow-summary-to-galaxy-template`, `repair-galaxy-draft-topology`. Optional carried obligations ledger open-requirements-ledger; initialize an empty ledger when it is absent and append unresolved maturation decisions.
- Read artifact `iwc-publication-context`. Optional; absence is allowed and must be reported honestly. Optional user or harness context for intended use, repository slug, creators, ORCIDs, citations, license, release, and durable test-data URLs.
- Read artifact `iwc-workflow-readme`. Optional; absence is allowed and must be reported honestly. Produced by `mature-galaxy-workflow-for-iwc`. Optional existing workflow README to update while preserving accurate material that remains relevant after maturation.
- Read artifact `iwc-workflow-changelog`. Optional; absence is allowed and must be reported honestly. Produced by `mature-galaxy-workflow-for-iwc`. Optional existing workflow changelog to extend without rewriting or discarding prior release history.
- Read artifact `iwc-dockstore-metadata`. Optional; absence is allowed and must be reported honestly. Produced by `mature-galaxy-workflow-for-iwc`. Optional existing Dockstore metadata to align with the workflow, test, and evidence-backed creator metadata.

## Outputs

- Write artifact `galaxy-workflow` as `galaxy-workflow.gxwf.yml`. Format: `yaml`. Matured concrete gxformat2 workflow with supported IWC metadata, naming, annotation, and purpose-preserving genericity corrections applied.
- Write artifact `galaxy-workflow-test` as `galaxy-workflow.gxwf-tests.yml`. Optional; absence is allowed and must be reported honestly. Format: `yaml`. Updated or unchanged supplied workflow test; absent when no test was provided because this Mold must not invent expected results.
- Write artifact `iwc-workflow-readme` as `README.md`. Format: `markdown`. Proposed IWC workflow README describing evidenced purpose, valid inputs, expected outputs, and relevant comparisons or resources.
- Write artifact `iwc-workflow-changelog` as `CHANGELOG.md`. Format: `markdown`. Proposed IWC changelog preserving prior history and recording only the release and maturation changes supported by available evidence.
- Write artifact `iwc-dockstore-metadata` as `.dockstore.yml`. Format: `yaml`. Proposed Dockstore metadata whose workflow and test paths and evidenced creators agree with the emitted submission files.
- Write artifact `iwc-maturation-report` as `iwc-maturation-report.md`. Format: `markdown`. Per-checklist status report with evidence, before-and-after changes, unresolved decisions, source pin, and explicit downstream validation disclaimer.
- Write artifact `open-requirements-ledger` as `open-requirements.ledger.yml`. Format: `yaml`. Carried or initialized obligations ledger with unresolved IWC maturation decisions appended and all prior entries preserved.

## Required Tools

- None declared. Procedure should not assume external CLIs are present.

## Load Upfront

- `references/prompts/workflow-pr-review-command.md`: prompt reference copied verbatim into the bundle. Use the pinned upstream IWC reviewer checklist and its explicit output-label and naming checks as the primary review sequence before applying supported corrections.
- `references/notes/open-requirements-ledger.md`: Research note copied verbatim into the bundle. Initialize, preserve, and append precise unresolved maturation obligations rather than guessing authorship, licensing, or scientific intent.
- `references/schemas/summary-galaxy-workflow.schema.json`: Schema file copied verbatim into the bundle. Interpret a supplied workflow summary without making that convenience artifact mandatory for direct use of this Mold.

## Load On Demand

- `references/notes/galaxy-workflow-testability-design.md`: Research note copied verbatim into the bundle. Keep workflow interface and test addressing aligned when a safe genericity or human-readable-label correction changes the workflow interface. Use when: maturation changes an input, promoted output, collection identifier, or workflow-output label referenced by a supplied test.
- `references/notes/iwc-test-data-conventions.md`: Research note copied verbatim into the bundle. Apply current IWC conventions for test labels, durable remote fixtures, creator identifiers, release changes, and companion-file naming. Use when: a supplied test, test-data reference, creator record, or release decision must be checked or updated.

## Validation

- None declared.

## Procedure

Take one concrete gxformat2 workflow and prepare an inspectable IWC-oriented revision. This is a single cohesive maturation action: read the upstream policy, fill what the evidence supports, make obvious purpose-preserving generalizations, keep an existing test aligned, prepare the normal companion files, and explain both the edits and the decisions that remain open.

The workflow is the only required input. A summary, test, prior companions, ledger, and contributor context all improve the result but must not be prerequisites.

### Procedure

#### 1. Inventory the supplied evidence

- Read `starting-galaxy-workflow.gxwf.yml` as the source of truth.
- Use `summary-galaxy-workflow.json` when supplied, but reconcile it against the workflow and derive the same facts directly when it is absent.
- Discover each optional input explicitly. Preserve supplied tests and companion documents as edit baselines. Initialize `open-requirements.ledger.yml` with `entries: []` when no ledger is supplied.
- Record which inputs were present in the report. Never describe an absent artifact as inspected.

#### 2. Apply the pinned IWC policy

Read the bundled IWC review prompt and apply every applicable check. Treat its pinned revision as the upstream policy source for this run, record that revision in the report, and never imply that newer policy was evaluated.

For every checklist item, record exactly one status:

- `pass` — evidence shows the item was already satisfied;
- `changed` — this run made a supported correction;
- `needs-user-input` — a consequential choice lacks evidence; or
- `not-applicable` — with a specific reason.

Inspect the workflow metadata and annotation, input/output and promoted-output labels, folder/file naming recommendation, genericity, README, changelog, Dockstore paths and creators, workflow/test label agreement, and test-data placement. Cite the file and field or section used for every conclusion.

#### 3. Make only supported edits

Apply clear mechanical corrections: human-readable names, descriptive annotations grounded in the graph, label synchronization, companion paths, and removal of obviously sample-specific naming. Generalize a hard-coded sample value or path only when its role is unambiguous and an input can replace it without changing scientific behavior.

Preserve unrelated regions byte-for-byte where practical. Do not change tool identity or version, graph topology, scientifically meaningful defaults, test strength, or assertions merely to satisfy style guidance.

Never invent creators, ORCIDs, citations, license choices, release history, scientific purpose, reference-data strategy, or durable URLs. Use `iwc-publication-context` only as supplied evidence. When evidence is missing, leave the relevant value unchanged or visibly unresolved, set the checklist item to `needs-user-input`, and append a focused ledger entry saying what decision or evidence would resolve it.

#### 4. Keep the workflow and test coherent

When a supplied test exists, preserve every job input and assertion except for the smallest change required by a supported interface-label edit. Update test keys in the same run as the corresponding workflow labels. Do not weaken assertions or manufacture expected outputs.

When no test exists, emit no `galaxy-workflow-test` artifact. Record `needs-user-input` for the missing test and point to the existing Galaxy test-planning and implement-galaxy-workflow-test path. An absent optional output is an expected result here, not a successful test claim.

#### 5. Prepare ordinary IWC companions

- Create or update a README from evidenced workflow purpose, valid inputs, and expected outputs. Preserve useful supplied material. State unknown comparisons or tutorial links as unresolved; do not invent them.
- Create or update the changelog, preserving existing history and adding only an evidence-backed entry. If the release cannot be chosen safely, make that a ledger item rather than fabricating a version history.
- Create or update `.dockstore.yml` and align its paths with the emitted filenames. Preserve existing metadata and copy creator information only from workflow metadata or supplied context. Missing authorship is unresolved, not a license to guess.

#### 6. Report and hand off

Write `iwc-maturation-report.md` with the pinned IWC source revisions from the bundled references, supplied-input inventory, per-item status and evidence, concise before/after descriptions, unresolved ledger ids, and the exact emitted files. End with an explicit statement that this skill did not run terminal validation or workflow tests and did not create or update a GitHub pull request.

The downstream path owns validate-galaxy-workflow, run-workflow-test, repair/retest, and publication automation.

### Non-goals

- No Planemo execution or validation claim.
- No new expected test result or weakened assertion.
- No tool, topology, or scientific redesign without explicit evidence.
- No branch, pull request, comment, label, or other GitHub mutation.
- No publication-readiness or canonical-IWC claim.

## Feedback Mode

- Feedback mode is off unless the caller explicitly enables `--feedback` or supplies a feedback-ledger path.
- When enabled, read `_feedback.md` before doing the work and use its registered `foundry-feedback.ledger.yml` protocol.
- Preserve harness-owned run and phase state. Append only concrete observations about a canonical Foundry source asset or a related project that this run showed to be at fault; do not put ordinary workflow requirements in this ledger.
- Before reporting completion, make one explicit pass over the work you just did. Do not ask yourself whether anything was unclear — recall what happened: where you guessed at something the instructions should have settled, needed information this bundle does not carry, hit an instruction that contradicted another or contradicted the artifacts in front of you, used a packaged reference that did not cover your case, or did something the procedure never describes.
- Append an entry for each such event that clears the protocol's bar. If none do, append nothing and report `no feedback` explicitly. Silence and a clean pass are not the same thing, and nothing downstream can tell them apart unless you say which one it was.
- Pass the same ledger path to any subagent used for this work, and merge updates serially so one writer cannot overwrite another.

## 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.