Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
delphine-l avatar

Galaxy Training Material

  • 22 installs
  • 17 repo stars
  • Updated May 14, 2026
  • delphine-l/claude_global

Write and update Galaxy Training Network tutorials using GTN markdown syntax, special boxes, tool references, and YAML front matter.

About

Covers the custom GTN markdown syntax and structure for authoring Galaxy Training Network tutorials. A developer uses it when writing or fixing tutorial content in the galaxyproject/training-material repository.

  • GTN-specific boxes, tool refs, and snippet syntax
  • Tutorial file structure and YAML front matter

Galaxy Training Material by the numbers

  • 22 all-time installs (skills.sh)
  • Ranked #990 of 1,879 Documentation skills by installs in the Skillselion catalog
  • Data as of Jul 29, 2026 (Skillselion catalog sync)
npx skills add https://github.com/delphine-l/claude_global --skill galaxy-training-material

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs22
repo stars17
Last updatedMay 14, 2026
Repositorydelphine-l/claude_global

What it does

Write and update Galaxy Training Network tutorials using GTN markdown syntax, special boxes, tool references, and YAML front matter.

Files

SKILL.mdMarkdownGitHub ↗

Galaxy Training Material Expert

Expert knowledge for writing and updating tutorials in the Galaxy Training Network (GTN) repository (github.com/galaxyproject/training-material). Covers the custom markdown syntax, file structure, and pedagogical conventions.

When to Use This Skill

  • Writing or editing GTN tutorial content (tutorial.md files)
  • Creating new tutorials or topics
  • Understanding GTN-specific markdown syntax (boxes, tool refs, snippets, icons)
  • Reviewing or fixing tutorial formatting issues
  • Adding slides, workflows, or data libraries to tutorials
  • Updating YAML front matter metadata

Supporting Files

For additional details, see the following files in this directory:

  • [WORKFLOW-VERIFICATION.md](WORKFLOW-VERIFICATION.md) — Cross-checking tool versions between tutorials and workflows, updating IWC-based tutorials, GTA track update process, MCP fallbacks, adapting test files.
  • [BEST-PRACTICES.md](BEST-PRACTICES.md) — Slides format, data library configuration, content structure and writing style best practices, learning design, common pitfalls, updating tutorials for new tool versions.

Repository Structure

Topic Layout

topics/{topic_name}/
├── metadata.yaml           # Topic config (name, type, editorial_board, subtopics)
├── images/                 # Shared images for all tutorials in this topic
├── faqs/                   # Topic-level FAQs
└── tutorials/
    └── {tutorial_name}/
        ├── tutorial.md         # Main tutorial content (required)
        ├── tutorial.bib        # BibTeX citations (optional)
        ├── slides.html         # Presentation slides (optional)
        ├── data-library.yaml   # Zenodo dataset definitions
        ├── workflows/
        │   ├── index.md        # layout: workflow-list
        │   ├── *.ga            # Galaxy workflow files (JSON)
        │   └── *-tests.yml     # Workflow test definitions
        └── faqs/               # Tutorial-specific FAQs
            └── index.md

Topic metadata.yaml

---
name: "assembly"
type: "use"                    # "use" or "admin"
topic_type: technology         # technology, science, instructors, basics
title: "Assembly"
summary: "Description of the topic"
docker_image: "quay.io/galaxy/assembly-training"
edam_ontology: ["topic_0196"]
requirements:
  - type: "internal"
    topic_name: introduction
  - type: "internal"
    topic_name: sequence-analysis
    tutorials:
      - quality-control
editorial_board:
  - github-username
subtopics:
  - id: subtopic_id
    title: "Subtopic Title"
    description: "Description"

Tutorial YAML Front Matter

Every tutorial.md starts with YAML front matter between --- delimiters:

---
layout: tutorial_hands_on
title: "Tutorial Title"
zenodo_link: "https://zenodo.org/records/XXXXXXX"
questions:
  - "What biological question does this address?"
  - "How do we use tool X for task Y?"
objectives:
  - "Perform task X using Galaxy"
  - "Interpret output of tool Y"
time_estimation: "1H30M"
level: Introductory              # Introductory, Intermediate, Advanced
key_points:
  - "Take-home message 1"
  - "Take-home message 2"
contributions:
  authorship:
    - github-username
  editing:
    - github-username
  funding:
    - organization-id
  testing:
    - github-username
tags:
  - tag1
  - tag2
subtopic: subtopic_id           # Must match a subtopic id in topic metadata.yaml
edam_ontology:
  - topic_XXXX
requirements:
  - type: "internal"
    topic_name: introduction
    tutorials:
      - galaxy-intro-short
recordings:
  - youtube_id: VIDEO_ID
    length: 29M
    galaxy_version: "24.1"
    date: '2024-09-20'
follow_up_training:
  - type: "internal"
    topic_name: assembly
    tutorials:
      - assembly-decontamination
---

Important notes:

  • Use contributions: with sub-fields (authorship, editing, funding, testing), NOT the older contributors: field
  • time_estimation format: "30M", "1H", "1H30M", "2H"
  • All usernames must exist in the root CONTRIBUTORS.yaml
  • level determines visual badge (Introductory/Intermediate/Advanced)

Special Markdown Syntax

Box Types

All pedagogical boxes follow this pattern:

> <type-title>Title Text</type-title>
>
> Content here
>
{: .class_name}

Every line inside the box must start with `> ` (blockquote prefix).

Agenda (Table of Contents)
> <agenda-title></agenda-title>
>
> In this tutorial, we will cover:
>
> 1. TOC
> {:toc}
>
{: .agenda}

Always placed after the introduction, before the first section. The 1. TOC / {:toc} generates automatic table of contents from headings.

Hands-on (Step-by-Step Instructions)
> <hands-on-title>Descriptive Step Title</hands-on-title>
>
> 1. {% tool [Tool Display Name](toolshed.g2.bx.psu.edu/repos/owner/repo/tool_id/version) %} with the following parameters:
>    - {% icon param-file %} *"Input file"*: `dataset_name`
>    - {% icon param-select %} *"Parameter name"*: `Option value`
>    - {% icon param-text %} *"Text parameter"*: `some text`
>    - {% icon param-check %} *"Checkbox param"*: `Yes`
>
> 2. Examine the output file by clicking {% icon galaxy-eye %} (eye icon)
>
{: .hands_on}

Formatting rules for hands-on boxes:

  • Number each major step
  • Tool name links use {% tool [Name](id) %} syntax
  • Parameters are bulleted under the tool step, indented by 4 spaces from the >
  • Parameter names are in "quotes with italics"
  • Parameter values are in ` backticks `
  • Use the appropriate icon for each parameter type
Question + Solution
> <question-title>Descriptive Question Title</question-title>
>
> 1. What is the N50 of the assembly?
> 2. How many contigs are there?
>
> > <solution-title></solution-title>
> >
> > 1. The N50 is 15 Mb
> > 2. There are 42 contigs
> >
> {: .solution}
>
{: .question}

Solutions are nested inside questions (double > > prefix). Solutions are collapsed by default.

Comment
> <comment-title>Optional Title</comment-title>
>
> Additional context or explanation that's helpful but not critical.
>
{: .comment}
Tip
> <tip-title>Helpful Tip Title</tip-title>
>
> A practical hint to help the learner.
>
{: .tip}
Warning
> <warning-title>Important Warning</warning-title>
>
> Something that could cause problems if ignored.
>
{: .warning}
Details (Collapsible)
> <details-title>Click to Expand</details-title>
>
> Extended information hidden by default. Good for background
> information that not all learners need.
>
{: .details}
Code Input/Output
> <code-in-title>Bash</code-in-title>
> ```bash
> echo "Hello Galaxy"
> ```
{: .code-in}

> <code-out-title>Output</code-out-title>
> ```
> Hello Galaxy
> ```
{: .code-out}

For side-by-side display, wrap both in:

> > <code-in-title>Bash</code-in-title>
> > ```bash
> > command
> > ```
> {: .code-in}
>
> > <code-out-title>Output</code-out-title>
> > ```
> > output
> > ```
> {: .code-out}
{: .code-2col}

Tool References

{% tool [Human-Readable Name](toolshed.g2.bx.psu.edu/repos/owner/repo/tool_id/version) %}
{% tool [Cut](Cut1) %}
{% tool [MultiQC](toolshed.g2.bx.psu.edu/repos/iuc/multiqc/multiqc/1.11+galaxy1) %}
  • The text in [] is the display name
  • The text in () is the full tool ID (ToolShed URL or short built-in ID)
  • Version is included in the tool ID after the last /
Common VGP Assembly Tool IDs (current versions)

Core pipeline tools (WF1–WF8):

ToolTool IDVersion
Cutadapttoolshed.g2.bx.psu.edu/repos/lparsons/cutadapt/cutadapt/5.2+galaxy15.2+galaxy1
Meryl - count kmerstoolshed.g2.bx.psu.edu/repos/iuc/meryl_count_kmers/meryl_count_kmers/1.4.1+galaxy01.4.1+galaxy0
Meryl - groups of kmerstoolshed.g2.bx.psu.edu/repos/iuc/meryl_groups_kmers/meryl_groups_kmers/1.4.1+galaxy01.4.1+galaxy0
Meryl - histogramtoolshed.g2.bx.psu.edu/repos/iuc/meryl_histogram_kmers/meryl_histogram_kmers/1.4.1+galaxy01.4.1+galaxy0
GenomeScopetoolshed.g2.bx.psu.edu/repos/iuc/genomescope/genomescope/2.1.0+galaxy02.1.0+galaxy0
Hifiasmtoolshed.g2.bx.psu.edu/repos/bgruening/hifiasm/hifiasm/0.25.0+galaxy30.25.0+galaxy3
gfastatstoolshed.g2.bx.psu.edu/repos/bgruening/gfastats/gfastats/1.3.11+galaxy11.3.11+galaxy1
Compleasmtoolshed.g2.bx.psu.edu/repos/iuc/compleasm/compleasm/0.2.6+galaxy30.2.6+galaxy3
Merqurytoolshed.g2.bx.psu.edu/repos/iuc/merqury/merqury/1.3+galaxy41.3+galaxy4
minimap2toolshed.g2.bx.psu.edu/repos/iuc/minimap2/minimap2/2.28+galaxy22.28+galaxy2
purge_dupstoolshed.g2.bx.psu.edu/repos/iuc/purge_dups/purge_dups/1.2.6+galaxy11.2.6+galaxy1
BWA-MEM2toolshed.g2.bx.psu.edu/repos/iuc/bwa_mem2/bwa_mem2/2.3+galaxy02.3+galaxy0
PretextMaptoolshed.g2.bx.psu.edu/repos/iuc/pretext_map/pretext_map/0.2.3+galaxy00.2.3+galaxy0
Pretext Snapshottoolshed.g2.bx.psu.edu/repos/iuc/pretext_snapshot/pretext_snapshot/0.0.5+galaxy10.0.5+galaxy1
YaHStoolshed.g2.bx.psu.edu/repos/iuc/yahs/yahs/1.2a.2+galaxy31.2a.2+galaxy3

Decontamination tools (WF9):

ToolTool IDVersion
FCS Adaptortoolshed.g2.bx.psu.edu/repos/richard-burhans/ncbi_fcs_adaptor/ncbi_fcs_adaptor/0.5.0+galaxy00.5.0+galaxy0
FCS GXtoolshed.g2.bx.psu.edu/repos/iuc/ncbi_fcs_gx/ncbi_fcs_gx/0.5.5+galaxy20.5.5+galaxy2
DustMaskertoolshed.g2.bx.psu.edu/repos/devteam/ncbi_blast_plus/ncbi_dustmasker_wrapper/2.16.0+galaxy02.16.0+galaxy0
blastntoolshed.g2.bx.psu.edu/repos/devteam/ncbi_blast_plus/ncbi_blastn_wrapper/2.16.0+galaxy02.16.0+galaxy0
parse_mito_blasttoolshed.g2.bx.psu.edu/repos/iuc/parse_mito_blast/parse_mito_blast/1.0.2+galaxy01.0.2+galaxy0
Filter by lengthtoolshed.g2.bx.psu.edu/repos/devteam/fasta_filter_by_length/fasta_filter_by_length/1.21.2

Text processing tools (shared across workflows):

ToolTool IDVersion
sed (Text transformation)toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_sed_tool/9.5+galaxy29.5+galaxy2
Replace Texttoolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_replace_in_line/9.5+galaxy29.5+galaxy2
Concatenatetoolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_cat/9.5+galaxy29.5+galaxy2

Parameter Icons

Use these icons before parameter names in hands-on boxes:

IconSyntaxUse For
File input{% icon param-file %}Single file parameter
Multiple files{% icon param-files %}Multi-file input
Collection{% icon param-collection %}Dataset collection
Text{% icon param-text %}Free text input
Select{% icon param-select %}Dropdown selection
Checkbox{% icon param-check %}Yes/No checkbox
Toggle{% icon param-toggle %}Toggle switch
Repeat{% icon param-repeat %}Repeat/add section

Other Useful Icons

{% icon galaxy-eye %}          # View/eye icon (inspect dataset)
{% icon galaxy-pencil %}       # Edit icon (edit attributes)
{% icon galaxy-delete %}       # Delete icon
{% icon galaxy-history %}      # History icon
{% icon tool %}                # Tool icon
{% icon question %}            # Question mark
{% icon congratulations %}     # Celebration

Snippets (Reusable Content)

Include shared FAQ content:

{% snippet faqs/galaxy/datasets_import_via_link.md %}
{% snippet faqs/galaxy/histories_create_new.md %}
{% snippet faqs/galaxy/datasets_rename.md %}
{% snippet faqs/galaxy/datasets_change_datatype.md datatype="fasta" %}
{% snippet faqs/galaxy/collections_build_list_paired.md %}

Snippets accept optional parameters (key="value"). Common snippets:

  • datasets_import_via_link.md — Import data from URL
  • datasets_import_from_data_library.md — Import from data library
  • histories_create_new.md — Create new history
  • datasets_rename.md — Rename dataset
  • datasets_change_datatype.md — Change datatype (pass datatype="...")
  • collections_build_list.md — Build dataset list
  • collections_build_list_paired.md — Build paired list

Collection snippets accept customization parameters:

{% snippet faqs/galaxy/collections_build_list_paired.md datasets_description="the two Hi-C datasets (SRR7126301_1 and SRR7126301_2)" n="2" %}
  • datasets_description: overrides the default "all datasets" text
  • n: sets the number shown in "n of N selected" prompt

You can change the box type of a snippet:

{% snippet faqs/galaxy/histories_create_new.md box_type="hands_on" %}

Workflow Snippets

To let users import a workflow bundled in the tutorial's workflows/ directory:

{% snippet faqs/galaxy/workflows_run_trs.md path="topics/assembly/tutorials/my-tutorial/workflows/main_workflow.ga" title="My Workflow" %}

For tutorials that import workflows from Dockstore (e.g., IWC workflows):

{% snippet faqs/galaxy/workflows_run_ds.md title="Genome profile analysis (WF1)" dockstore_id="github.com/iwc-workflows/kmer-profiling-hifi-VGP1/main" version="v0.6" %}

Use workflows_run_ds.md (Dockstore) when the tutorial references external IWC workflows. Use workflows_run_trs.md (TRS) when the workflow .ga file is bundled in the tutorial's workflows/ directory.

Images

![Alt text for accessibility](../../images/image_name.png "Caption shown below figure")
  • Images go in topics/{topic}/images/
  • Path from tutorial.md is ../../images/
  • Alt text is required for accessibility
  • Caption in quotes is optional but recommended

Citations

Define in tutorial.bib (BibTeX format):

@article{key2024,
  title={Article Title},
  author={Last, First and Other, Author},
  journal={Journal Name},
  year={2024},
  doi={10.xxxx/xxxxx}
}

Reference in tutorial:

{% cite key2024 %}

Internal Links

[Link text]({% link topics/topic_name/tutorials/tutorial_name/tutorial.md %})

Math (LaTeX)

Inline: $$ x^2 + y^2 = z^2 $$
Block (on its own line): $$ \sum_{i=1}^{n} x_i $$

Tables

Standard markdown tables:

| Column 1 | Column 2 | Column 3 |
|----------|----------|----------|
| data     | data     | data     |

Related skills

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.