Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

799 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Galaxy Workflow Foundry

Knowledge base + casting pipeline for building Galaxy workflows with gxwf.

An LLM can read a paper or a Nextflow pipeline and propose a Galaxy workflow — and fail the same boring, detectable ways every time: hallucinated tool IDs, dropped +galaxyN revisions, fabricated parameter names, gxformat2 the parser rejects on line one. Hand-authored "convert a workflow" skills paper over these with prose caveats that don't compose and rot on the next regression. The Foundry's bet: a knowledge base becomes useful when its structure makes it executable, and a skill becomes trustworthy when its source stays inspectable.

Site: https://galaxyproject.github.io/foundry/

Goal

Convert workflows authored in other systems — papers describing computational analyses, Nextflow pipelines, CWL workflows — into validated Galaxy workflows in the gxformat2 format. The Foundry decomposes that conversion into atomic, schema-validated steps that an LLM agent can execute reliably, grounded in gxwf's static validation of gxformat2 and tool steps.

Why

Hand-authored, monolithic conversion skills are brittle, hard to test, and don't compose. The Foundry takes a different shape:

  • Principled. The Foundry keeps upstream systems authoritative, records provenance for derived artifacts, uses deterministic tooling for deterministic checks, and keeps source knowledge portable across agent runtimes. See content/meta/guiding-principles.md.
  • Decomposed. Each conversion step is its own Mold — a typed reference manifest that casts into a self-contained skill artifact. The full conversion is an ordered Pipeline of Molds.
  • Schema-driven. gxwf validates every authored step inline. The validation loop catches failure modes deterministically — UUID validity, tool-ID and +galaxyN revision suffixes, input_connections parameter-name mismatches, conditional-selector branches in tool_state — rather than relying on enumerated prose caveats.
  • Corpus-grounded. Patterns and Molds are derived from observed structure in the IWC workflow corpus, not invented top-down. Every reference is traceable back to one or more curated, working gxformat2 exemplars; the same exemplars double as evaluation material for cast skills.
  • Agent-friendly. Cast skills are condensed, isolated, and frozen against the Foundry version they were cast from. No runtime dependency on the Foundry, no chasing wiki-links from inside a skill. Casting is the integration boundary.

What's here

  • Pipelines (content/pipelines/) — ordered Mold sequences composing into an end-to-end conversion (paper-to-galaxy, nextflow-to-galaxy, cwl-to-galaxy, interview-to-galaxy, update-interview-to-galaxy, paper-to-cwl, nextflow-to-cwl). Build artifact and primary navigation surface.
  • Molds (content/molds/) — abstract templates describing a workflow-construction action. Each Mold is a typed reference manifest: it declares the patterns, CLI manual pages, schemas, prompts, and examples it depends on, and casts into one or more skill artifacts.
  • Patterns (content/patterns/) — Galaxy workflow construction reference (collection manipulation, tabular manipulation, conditional handling, custom-tool authoring). Wiki-linked from action Molds; pulled into cast skills via casting's pattern-kind dispatch.
  • CLI manual pages (content/cli/<tool>/) — one note per command or subcommand, covering gxwf, planemo, cwltool, cwl-utils, foundry, and galaxy-tool-cache. Cast to JSON sidecars by action Molds that reference exact commands.
  • Schemas (content/schemas/) — <name>.md schema notes only; the JSON Schema itself lives in its TypeScript package at packages/<name>-schema/src/<name>.schema.json (Foundry-authored) or is synced there from an upstream npm package (vendored). The note's frontmatter declares package + package_export. site/src/lib/schema-registry.ts imports each schema directly from the package; Mold frontmatter cites schemas via [[wiki-link]] and cast imports the named runtime export at build time, serializing it verbatim into cast bundles.
  • Casts (casts/claude/skills/<name>/) — generated Agent Skills shared by Claude Code and Codex. The historical target path remains while thin runtime manifests package the same tree for both products.

Install generated skills

The committed casts/claude/ plugin root is dual-runtime: .claude-plugin/plugin.json and .codex-plugin/plugin.json both expose the same skills/ directory.

Claude Code:

/plugin marketplace add galaxyproject/foundry
/plugin install foundry-skills@galaxy-workflow-foundry
/foundry-skills:discover-shed-tool

Codex CLI:

codex plugin marketplace add galaxyproject/foundry
codex plugin add foundry-skills@galaxy-workflow-foundry

Then run /skills or type $ to select a skill such as $discover-shed-tool. Codex can also select a skill implicitly from its description. Restart Codex after installing or refreshing the plugin if the skills do not appear.

Authoring

Two flows feed the Foundry:

  • Claude slash commands (.claude/commands/) — current contributor workflows for agent-driven scaffold-prompt-validate.
  • Hand edits + npm run validate — small fixes.

Casting produces skill artifacts: npm run cast -- <slug> --target=claude.

Frontmatter is contract-enforced by the shared zod schema in @galaxy-foundry/note-schema (used by both the validator and the site); every note carries a registered tag from meta_tags.yml. Validate before commit.

Tooling

npm run validate          # schema + cross-file checks
npm run test              # vitest suite
npm run typecheck         # tsc --noEmit
npm run dashboard         # generate content/Dashboard.md
npm run index             # generate content/Index.md
npm run readme            # refresh this file's corpus counts
npm run cast              # cast a Mold (see above)
npm run site:dev          # Astro dev server

--check variants on the generators detect drift; CI runs them before deploy.

Design docs

Long-form design narrative under content/meta/, as notes of kind meta — so the collection, not this list, is the authority on which records exist. Read in order:

Foundation

  1. guiding-principles.md — why the Foundry prioritizes upstream authority, provenance, deterministic tooling, portability, actionable knowledge, and corpus grounding.
  2. architecture.md — directory layout, types, validation pipeline, site rendering.
  3. molds.md — the axes a Mold buckets on and the boundary against reference content.
  4. mold-spec.md — the Mold authoring contract: source layout, which files may sit beside index.md, and who enforces it.
  5. casting.md — how typed Mold references become target-specific cast artifacts with provenance.
  6. cast-walkthrough.md — one real committed cast annotated end to end.
  7. eval-philosophy.md — why eval.md is an abstract oracle and scenarios.md holds the concrete cases.
  8. corpus.md — IWC grounding; URL-not-mirror principle.
  9. harness-pipelines.md — pipeline narrative behind content/pipelines/.

Infrastructure

  1. comparisons.md — positioning vs wikis/skill bundles plus a dated KB-to-skill landscape snapshot.
  2. pattern-authorship.md — authorship rules for operation-named, corpus-grounded pattern pages.
  3. schema-packages.md — where a Mold IO schema lives and how cast resolves one through a schema note.

content/meta/glossary.md shares the directory and is deliberately not a note.

Status

Working system. Every pipeline casts end-to-end into Claude skills, on top of foundry-build cast + assemble-pipeline and the live Astro site.

Forward work is quality and reach rather than existence. Review is underway rather than finished, and eval coverage is partial — eval.md and scenarios.md are recommended rather than required, and the table below is what that costs today. Claude is the only cast target; a second one begins with a casts/<target>/_target.yml, which is what makes a target real.

count
Pipelines 7
Molds 47 — 27 reviewed, 20 draft
… with eval.md 33
… with scenarios.md 28
Pattern pages 54
Source-pattern pages 7
CLI tools 6
CLI command pages 26
Schema notes 14
Research notes 63

Counted from the corpus by foundry-build generate-readme, not by hand — make check-generated fails the build when they drift. Everything outside the markers is hand-written.

About

The Galaxy Workflow Knowledge Base

Resources

Stars

2 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages