- Home
- Skills
- Delphine L
- Claude Global
- Tool Wrapping
tool-wrapping_skill
- Shell
0
GitHub Stars
4
Bundled Files
2 months ago
Catalog Refreshed
4 months ago
First Indexed
Readme & install
Copy the install command, review bundled files from the catalogue, and read any extended description pulled from the listing source.
Installation
Preview and clipboard use veilstrat where the catalogue uses aiagentskills.
npx veilstrat add skill delphine-l/claude_global --skill tool-wrapping- dependency-debugging.md11.8 KB
- reference.md29.3 KB
- SKILL.md15.0 KB
- troubleshooting.md10.2 KB
Overview
This skill provides expert guidance for developing, testing, and publishing Galaxy tool wrappers. It focuses on XML wrapper structure, Cheetah templating, dependency management, and Planemo-based testing workflows. Use it to convert command-line tools into robust, testable Galaxy tools that follow community best practices.
How this skill works
The skill inspects and explains Galaxy tool XML elements—<tool>, <inputs>, <command>, <outputs>, <tests>, and <requirements>—and shows how to use Cheetah templating for conditional logic and safe parameter handling. It outlines Planemo commands and strategies to run, lint, and test tools locally, and describes patterns to diagnose test failures, regenerate expected outputs, and fix dependency or XML issues. Practical examples and common fixes are provided for path handling, dynamic outputs, and conda/container requirements.
When to use it
- Creating a new Galaxy tool wrapper from a CLI tool
- Writing or improving Planemo tests and expected outputs
- Debugging XML validation, templating, or test failures
- Configuring tool dependencies with conda or containers
- Preparing .shed.yml and metadata for Tool Shed submission
- Implementing conditional inputs, collections, or dynamic outputs
Best practices
- Always include automated Planemo tests and keep test data organized
- Use semantic versioning and increment tool version on changes
- Pin exact dependency versions in <requirements> to ensure reproducible environments
- Quote user inputs in Cheetah templates and use CDATA for complex commands
- Handle errors explicitly (detect_errors, exit codes) and validate outputs
- Follow IUC and community standards for metadata and help text
Example use cases
- Wrap a bioinformatics CLI tool with XML, templating optional params and collections
- Debug a failing Planemo test by inspecting tool_test_output.json and regenerating expected outputs
- Fix path concatenation bugs by adding trailing slashes in the wrapper command block
- Create a .shed.yml for Tool Shed publishing with appropriate categories and long_description
- Convert multiple related outputs into a collection and update expect_num_outputs in tests
FAQ
Check the test output JSON for exit codes and output_problems, compare actual vs expected outputs, and regenerate expected files only after verifying the tool output is correct.
How do I handle missing output files in tests?
Verify the command actually creates the file and that the <data> element path matches the work dir; use discover_datasets for dynamic outputs and adjust expect_num_outputs if outputs are optional.