devtu-create-tool

Create ToolUniverse-compatible Python tool classes with JSON configurations and tests.

Updated Apr 18, 2026
One-click install
npx skills add https://github.com/Centaurioun/osteogenesis_imperfecta --skill devtu-create-tool-centaurioun
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: devtu-create-tool
Source: https://github.com/Centaurioun/osteogenesis_imperfecta/tree/main/.agents/skills/devtu-create-tool
Command: npx skills add https://github.com/Centaurioun/osteogenesis_imperfecta --skill devtu-create-tool-centaurioun

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

Developers adding tools to the ToolUniverse often break discovery, validation, or testing because of missing configuration entries, non-nullable mutually exclusive parameters, weak error handling, or inadequate test examples. This Skill consolidates the required structure, registration steps, validation rules, and testing practices so new tools load reliably and behave predictably in production and research pipelines.

Core Features & Use Cases

  • Registration checklist: clear three-step registration (class registration via @register_tool, config entry in default_config.py, and automatic wrapper generation on tu.load_tools()) to prevent silent load failures.
  • Tool scaffolding & patterns: multi-operation Python class patterns, JSON configuration format conventions, and recommended return_schema shapes (success + error) to maintain consistency across tool families.
  • Testing & validation: mandatory three-level testing guidance (direct class tests, ToolUniverse interface tests, and real API tests), realistic test_examples, and scripts to verify registration and tool loading.
  • Common pitfalls addressed: guidance on nullable mutually exclusive parameters, timeout settings for HTTP calls, environment-based API keys, name length limits, and returning error envelopes rather than raising exceptions.

Quick Start

Create a new tool by adding a Python class annotated with @register_tool, a JSON config in src/tooluniverse/data, register the category in src/tooluniverse/default_config.py, and run the tool validation tests to verify loading and behavior.

Frequently Asked Questions about devtu-create-tool

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I create a ToolUniverse-compatible Python tool class with proper registration?

To create a ToolUniverse-compatible tool, implement a Python class annotated with @register_tool, add a JSON configuration in src/tooluniverse/data, register the category in default_config.py, and run validation tests to verify loading and behavior.

What's the best way to structure JSON return_schema for scientific tool development?

The best way to structure JSON return_schema is to include explicit success and error variants, ensuring robust validation and returning error envelopes rather than raising exceptions to maintain consistency across tool families.

Why does my tool fail to load during ToolUniverse discovery and validation?

Tool loading fails because of missing configuration entries in default_config.py, incomplete @register_tool class registration, or non-nullable mutually exclusive parameters. Follow the three-step registration checklist to prevent silent load failures.

How do I test Python API wrappers for research and production pipelines?

Test Python API wrappers using mandatory three-level testing: direct class tests, ToolUniverse interface tests, and real API tests. Include realistic test_examples and scripts to verify registration, tool loading, and behavior.

Do I need to set HTTP timeouts for ToolUniverse tool development?

Yes, you need to set HTTP timeouts for API calls during ToolUniverse tool development. Additionally, implement environment-based API keys, respect name length limits, and add robust validation and retry logic to ensure predictable behavior.

Can I build multi-operation tool classes for API integration in ToolUniverse?

Yes, you can build multi-operation Python tool classes for API integration in ToolUniverse. Use the provided scaffolding patterns and JSON configuration conventions to wrap multiple operations while maintaining consistent return_schema shapes.