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

Create Tooluniverse Skill

  • 361 installs
  • 1.6k repo stars
  • Updated August 4, 2026
  • mims-harvard/tooluniverse

create-tooluniverse-skill is a Claude Code skill that scaffolds production-ready ToolUniverse skills using a test-driven, 7-phase workflow so agents can discover and invoke new tools reliably.

About

create-tooluniverse-skill is a Harvard MIMS ToolUniverse authoring skill that walks developers through a 7-phase, roughly 1.5–2 hour workflow to create agent-invokable research skills. It enforces 10 quality pillars from devtu-optimize-skills—test first, verify tool contracts, handle SOAP operation parameters, keep SKILL.md implementation-agnostic, and grade evidence T1–T4. Phase 2 searches 186 tool JSON files under /src/tooluniverse/data/, runs test_tools_template.py against each tool, then produces python_implementation.py, agnostic SKILL.md, QUICK_START.md, and a validation checklist before packaging. disable-model-invocation is true, so developers explicitly invoke it when authoring new domain skills. Use create-tooluniverse-skill when adding ToolUniverse domain coverage—not for one-off scripts, undocumented tools, or skills that embed Python directly in SKILL.md.

  • Scaffolds ToolUniverse skill layout
  • Encodes discovery metadata
  • Aligns with Harvard MIMS conventions
  • Speeds repeatable skill creation
  • Improves agent skill consistency

Create Tooluniverse Skill by the numbers

  • 361 all-time installs (skills.sh)
  • +6 installs in the week ending Aug 4, 2026 (Skillselion tracking)
  • Ranked #122 of 782 Skill Development skills by installs in the Skillselion catalog
  • Data as of Aug 5, 2026 (Skillselion catalog sync)
npx skills add https://github.com/mims-harvard/tooluniverse --skill create-tooluniverse-skill

Add your badge

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

Listed on Skillselion
Installs361
repo stars1.6k
Last updatedAugust 4, 2026
Repositorymims-harvard/tooluniverse

How do you author ToolUniverse agent skills correctly?

Scaffold and author new ToolUniverse-compatible Claude Code skills with correct structure, metadata, and conventions so agents can discover and invoke them reliably.

Who is it for?

Developers extending Harvard ToolUniverse who need a test-driven recipe for skills agents can discover and invoke without broken tool contracts.

Skip if: Skip create-tooluniverse-skill for quick one-off scripts, skills with Python embedded in SKILL.md, or using tools without running the mandatory test script first.

When should I use this skill?

User wants to create, scaffold, or validate a new ToolUniverse-compatible skill or domain workflow with tested tools and agnostic documentation.

What you get

Tested python_implementation.py, agnostic SKILL.md, QUICK_START.md, test_skill.py, validation checklist sign-off, and packaging summary for a new tooluniverse-[domain] skill folder.

  • SKILL.md
  • QUICK_START.md
  • python_implementation.py

By the numbers

  • Defines a 7-phase workflow (~1.5–2 hours without tool creation)
  • Enforces 10 quality pillars from devtu-optimize-skills
  • Searches 186 tool JSON files under /src/tooluniverse/data/

Files

assets/skill_template/SKILL.mdMarkdownGitHub ↗

[Domain Name] Analysis

[One paragraph overview describing what this skill does, what problems it solves, and what outputs it provides.]

When to Use This Skill

Triggers:

  • "[Trigger phrase 1]"
  • "[Trigger phrase 2]"
  • "[Trigger phrase 3]"

Use Cases: 1. [Use Case 1]: [Description] 2. [Use Case 2]: [Description] 3. [Use Case 3]: [Description]

Core Databases Integrated

DatabaseCoverageStrengths
Database 1[What it covers][What it's best for]
Database 2[What it covers][What it's best for]
Database 3[What it covers][What it's best for]

Workflow Overview

Input → Phase 1: [Name] → Phase 2: [Name] → Phase 3: [Name] → Report

---

Phase 1: [Phase Name]

When: [When this phase runs - e.g., "When input_param_1 provided"]

Objective: [What this phase achieves]

Tools Used

TOOL_NAME_1:

  • Input:
  • parameter1 (type, required/optional): Description
  • parameter2 (type, required/optional): Description
  • Output: Description of what the tool returns
  • Use: What this tool provides for the analysis

TOOL_NAME_2 (Fallback):

  • Input: [Parameters]
  • Output: [Description]
  • Use: [Purpose]

Workflow

1. Query TOOL_NAME_1 with [input description] 2. Extract [specific data fields] from response 3. If no results → try TOOL_NAME_2 (fallback) 4. Process data and add to report 5. Continue with available data

Decision Logic

  • Successful query: Process and display top 10-15 results
  • Empty results: Note "[Database] returned no results"
  • API error: Fall back to TOOL_NAME_2
  • Both fail: Document unavailability and continue

---

Phase 2: [Phase Name]

When: [Conditions]

Objective: [Goal]

Tools Used

[Similar structure to Phase 1]

Workflow

[Step-by-step process]

Decision Logic

[How to handle different scenarios]

---

Phase 3: [Phase Name]

[Similar structure]

---

Phase 4: [Summary/Context Phase]

When: Always included

Objective: Provide context even when specific phases empty

[Structure similar to above phases]

---

Output Structure

Report Format

Progressive Markdown Report:

  • Create report file first
  • Add sections progressively
  • Each section self-contained
  • Handles empty data gracefully

Required Sections: 1. Header: Analysis parameters and metadata 2. Phase 1 Results: [Description] 3. Phase 2 Results: [Description] 4. Phase 3 Results: [Description] 5. Phase 4 Results: [Description]

Per-Database Subsections:

  • Database name and result count
  • Table of results with key metadata
  • Note if database returns no results
  • Links or IDs for follow-up

Data Tables

Phase 1 Results: | Column 1 | Column 2 | Column 3 | | ... | ... | ... |

Phase 2 Results: | Column 1 | Column 2 | Column 3 | | ... | ... | ... |

---

Tool Parameter Reference

Critical Parameter Notes (from testing):

ToolParameterCORRECT NameCommon Mistake
TOOL_NAME_1paramactual_param_nameassumed_param_name
TOOL_NAME_2paramcorrect_namefunction_name_param

Response Format Notes:

  • TOOL_NAME_1: Returns standard {status: "success", data: [...]} format
  • TOOL_NAME_2: Returns list directly (not wrapped in status/data)
  • TOOL_NAME_3: Returns dict with custom structure {field1: ..., field2: ...}

SOAP Tools (if applicable):

  • TOOL_NAME_4: Requires operation parameter (e.g., operation="method_name")
  • See QUICK_START.md for side-by-side Python/MCP examples

---

Fallback Strategies

Phase 1: [Phase Name]

  • Primary: TOOL_NAME_1 ([reason it's primary])
  • Fallback: TOOL_NAME_2 ([what it provides instead])
  • Default: Continue with noting data unavailable

Phase 2: [Phase Name]

  • Primary: TOOL_NAME_3
  • Fallback: [Alternative approach]
  • Default: [How to proceed]

---

Common Use Patterns

Pattern 1: [Use Case Name]

Input: [Description of typical input]
Workflow: Phase 1 → Phase 3 → Report
Output: [What user gets]

Pattern 2: [Use Case Name]

Input: [Description]
Workflow: [Which phases run]
Output: [Result type]

Pattern 3: [Comprehensive Analysis]

Input: [Multiple inputs]
Workflow: All phases
Output: [Complete analysis]

---

Quality Checks

Data Completeness

  • [ ] At least one phase completed successfully
  • [ ] Each database result includes source attribution
  • [ ] Empty results explicitly noted (not silently omitted)
  • [ ] All required fields documented in tables
  • [ ] IDs provided for follow-up analysis

Biological/Scientific Validity

  • [ ] Results consistent with known [domain] knowledge
  • [ ] Cross-database results show expected overlaps
  • [ ] Anomalies flagged for review
  • [ ] Data quality indicators included

Report Quality

  • [ ] All sections present even if "no data"
  • [ ] Tables formatted consistently
  • [ ] Source databases clearly attributed
  • [ ] Follow-up recommendations if data sparse

---

Limitations & Known Issues

Database-Specific

  • Database 1: [Known limitations, coverage gaps, update frequency]
  • Database 2: [Limitations]
  • Database 3: [Limitations]

Technical

  • Response formats: Different tools use different structures (handled in implementation)
  • Rate limits: [Any rate limiting concerns]
  • Version differences: [Database version considerations]

Analysis

  • [Domain]-specific limitation 1: [Description]
  • [Domain]-specific limitation 2: [Description]

---

Summary

[Domain] Analysis Skill provides: 1. ✅ [Capability 1 with database] 2. ✅ [Capability 2 with databases] 3. ✅ [Capability 3 with databases] 4. ✅ [Capability 4]

Outputs: Markdown report with [description of content]

Best for: [Primary use cases and target users]

Related skills

How it compares

Use create-tooluniverse-skill for rigorous ToolUniverse domain skills with tested tools; generic skill-creator templates skip ToolUniverse-specific tool verification and SOAP handling.

FAQ

How long does create-tooluniverse-skill take to complete?

create-tooluniverse-skill defines a 7-phase workflow totaling about 1.5–2 hours when no new tools must be created. Phases span domain analysis, tool discovery and testing, implementation, agnostic documentation, validation, and packaging.

Why must ToolUniverse tools be tested before writing SKILL.md?

create-tooluniverse-skill mandates test-first development: developers search 186 JSON tool configs, run test_tools_template.py with known-good parameters, and verify response schemas before authoring SKILL.md. Documenting untested tools is listed as a red-flag quality failure.

Skill Developmentagentsautomation

This week in AI coding

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

unsubscribe anytime.