test-nextflow-example-script
Test a Nextflow script by running it, verifying outputs, testing resume functionality, and comparing results with documentation. Use when validating that example scripts work correctly and match their documentation.
When & Why to Use This Skill
This Claude skill automates the end-to-end validation of Nextflow scripts by executing workflows, verifying output integrity, and ensuring strict alignment with technical documentation. It streamlines the quality assurance process for data pipelines by testing core functionalities like the resume feature, parameter variations, and directory management, providing a comprehensive test report for developers.
Use Cases
- 1. Documentation Accuracy Auditing: Automatically verify that code examples and expected outputs in READMEs or MkDocs files match the actual behavior of Nextflow scripts.
- 2. Pipeline Regression Testing: Use the resume functionality test to ensure that workflow changes do not break caching mechanisms and that the pipeline can recover correctly from previous states.
- 3. Data Integrity Verification: Systematically check that the files generated in the 'work' or 'results' directories match the expected formats and content described in the project specifications.
- 4. Parameter Sensitivity Analysis: Validate script robustness by running tests with different input parameters to ensure the workflow handles various configurations without failure.
| name | Test Nextflow Example Script |
|---|---|
| description | Test a Nextflow script by running it, verifying outputs, testing resume functionality, and comparing results with documentation. Use when validating that example scripts work correctly and match their documentation. |
Test Nextflow Example Script
Test a Nextflow example script and verify it matches the documentation.
Working Directory
IMPORTANT: This skill works with directories in two phases:
Initial phase - Start from repository root
- Repository root is the directory containing
mkdocs.yml,docs/, and.github/ - Verify you are in the correct directory (check for these files/folders)
- Use this for finding scripts and reading documentation
- All Grep and Glob operations use repository root paths
- Repository root is the directory containing
Execution phase - Change to the script's directory for running Nextflow
- Use
cdto the script's directory before runningnextflow run - This ensures relative paths in the script work correctly
- Use
After testing, return to repository root or use absolute paths for final documentation checks.
Tasks to Perform
Identify the Script
- Ask user which script to test (or find recently modified .nf files)
- Read the script to understand what it does
- Note any
params.definitions for testing
Find Related Documentation
- Search docs/ for markdown files referencing this script
- Identify what the documentation claims about outputs and behavior
Run the Script
- Change to the script's directory
- Run:
nextflow run [script.nf] - Capture console output
- Note the work directory hash
Verify Outputs
- Check work directory for outputs
- If publishDir used, check results/ directory
- Compare actual output files with what documentation describes
- Verify file contents match expectations
Test with Resume
- Run:
nextflow run [script.nf] -resume - Verify processes show as "cached"
- Confirm work directory hash is reused
- Run:
Test with Parameters (if applicable)
- Identify parameters from script
- Run with different parameter values
- Verify outputs change appropriately
Compare with Documentation
- Check console output matches documented examples
- Verify commands shown in docs are correct
- Ensure file paths referenced are accurate
- Confirm expected outputs match reality
Output Format
Provide a comprehensive test report:
# Test Report: [script.nf]
## Script Understanding
- Purpose: [what it does]
- Parameters: [list]
- Expected outputs: [list]
## Test Results
### Basic Run
✓ Script executed successfully
✓ Output files created: [list]
✓ Console output as expected
### Resume Test
✓ All processes cached
✓ Work directory reused
### Parameter Tests
✓ --param1 value: works correctly
[or issues found]
## Documentation Comparison
### Accurate
- Console output examples match
- File paths correct
- Command syntax verified
### Issues Found
- Line 123: Console output shows v25.04 but docs show v24.10
- Example missing --param flag
[or none]
## Recommendations
[Suggested documentation updates or script fixes]
Notes
- Always run from the script's directory
- Save work directory paths for verification
- Test both success and documented failure cases
- If script doesn't work, report why but don't fail - that's useful information