Validate Training Materials
Run comprehensive validation checks on training materials to ensure quality and consistency. This includes both automated checks and deep lesson reviews.
User Input
IMPORTANT: Ask the user to specify what to validate if not clear from the request:
- •A specific side quest (e.g., "debugging", "metadata")
- •A specific module (e.g., "hello_nextflow", "nf4_science/genomics")
- •The entire repository (only if explicitly requested)
If the user provides a path or module name, only validate that specific content.
Working Directory
IMPORTANT: All commands in this skill must be executed from the repository root directory.
- •The repository root is the directory containing
mkdocs.yml,docs/, and.github/ - •Verify you are in the correct directory before running any commands (check for these files/folders)
- •All file paths in this skill are relative to the repository root
- •Do not change directories during skill execution
- •Use paths relative to repository root only
Determining Scope
Based on the user's request, determine the scope:
- •
Specific side quest (e.g., "debugging"):
- •Documentation file:
docs/side_quests/{name}.md - •Example scripts:
side-quests/{name}/**/*.nf - •Solution files:
side-quests/solutions/{name}/**/*.nf
- •Documentation file:
- •
Specific module (e.g., "hello_nextflow"):
- •Documentation files:
docs/{module}/**/*.md - •Example scripts:
{module}/**/*.nfornf-training/**/*.nf - •Solution files:
{module}/solutions/**/*.nf
- •Documentation files:
- •
Entire repository (only if explicitly requested):
- •All files:
docs/**/*.md,**/*.nf
- •All files:
Tasks to Perform
Perform the following checks only on files within the determined scope:
- •
Check Heading Numbering
- •Run:
uv run .github/check_headings.py [scoped-path]/**/*.md - •Report any heading numbering issues found
- •If errors exist, ask if user wants to auto-fix with
--fixflag
- •Run:
- •
Find TODO/FIXME Comments
- •Search markdown files in scope
- •Search Nextflow scripts in scope
- •Categorize by priority (high, medium, low)
- •Report files with most TODOs
- •
Check Nextflow Script Conventions
- •Find .nf files in scope
- •Verify they start with
#!/usr/bin/env nextflow - •Check for DSL2 syntax
- •Report any that don't follow conventions
- •
Find Orphaned Files
- •Check if main documentation file is referenced in mkdocs.yml
- •Look for solution files without corresponding exercise documentation
- •Report any orphaned files within scope
- •
Verify Admonition Syntax
- •Search for common admonition formatting errors in scoped files
- •Check for proper indentation (4 spaces)
- •Report any malformed admonitions
- •
Deep Lesson Review (when reviewing a specific lesson file)
If the user asks to review a specific lesson, perform this comprehensive checklist:
a. Structure Check:
- • Proper heading numbering with trailing periods
- • Heading levels match numbering depth (## for 1., ### for 1.1.)
- • Each major section has "### Takeaway"
- • Each major section has "### What's next?"
- • Logical flow from simple to complex
- • Clear learning objectives stated or implied
b. Formatting Check:
- • Code blocks have proper titles, line numbers, and highlighting
- • Console output properly formatted with
console title="Output" - • File paths use proper markdown formatting
- • Before/After comparisons use tabbed blocks
- • Admonitions properly formatted and indented
- • Each sentence on new line (for clean diffs)
c. Content Check:
- • Technical accuracy of Nextflow code
- • Commands are correct and runnable
- • Parameter syntax correct (-- for pipeline, - for Nextflow)
- • Examples progress logically
- • Common pitfalls addressed
- • Edge cases explained
d. Teaching Effectiveness:
- • Clear explanations for beginners
- • Concepts introduced before use
- • Examples are relevant and motivating
- • Exercises appropriate for skill level
- • Solutions available for exercises
- • Good use of tips and warnings
e. Cross-References:
- • Links to related lessons work
- • References to files/scripts are correct
- • External links are valid
- • Prerequisites clearly stated
f. Examples & Code:
- • All Nextflow examples are syntactically correct
- • Variable names are clear and consistent
- • Comments explain non-obvious code
- • Examples can be run as shown
- • Output examples match what code produces
Output Format
Provide a structured report. For automated validation checks:
# Validation Report ## Heading Numbering ✓ All headings correctly numbered [or list of issues with file:line] ## TODO/FIXME Comments Found 15 total: - High priority: 3 - Documentation: 8 - Code: 4 Top files: - docs/side_quests/debugging.md (5 items) - ... ## Nextflow Scripts ✓ All 23 scripts follow conventions [or list of non-compliant scripts] ## Orphaned Files Found 2 orphaned markdown files: - docs/old/deprecated.md - ... ## Admonitions ✓ All admonitions properly formatted [or list of issues] ## Summary [Overall assessment and recommended actions]
For deep lesson reviews, add:
## Lesson Review: [lesson-name] ### Structure [Assessment of structure with specific issues/successes] ### Formatting [Assessment of formatting with specific issues/successes] ### Content Accuracy [Assessment of technical content] ### Teaching Effectiveness [Assessment of pedagogical quality] ### Cross-References [Assessment of links and references] ### Examples & Code [Assessment of code quality] ### Overall Assessment [Summary with severity-organized issues and recommendations] ### Positive Aspects [Things worth preserving]
Notes
- •Use Grep and Glob tools for efficient searching
- •Run heading check script directly via Bash
- •Provide actionable next steps for any issues found
- •If no issues found, give clear confirmation