skills/create-tooluniverse-skill/SKILL.md
Create high-quality ToolUniverse skills following test-driven, implementation-agnostic methodology.
npx skillsauth add mims-harvard/tooluniverse create-tooluniverse-skillInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Systematic workflow for creating production-ready ToolUniverse skills.
Build on the 10 pillars from devtu-optimize-skills:
operation parameterSee OPTIMIZE_INTEGRATION.md for detailed application of each pillar.
| Phase | Duration | Description | |-------|----------|-------------| | 1. Domain Analysis | 15 min | Understand use cases, data types, analysis phases | | 2. Tool Discovery | 30-45 min | Search, read configs, test tools (MANDATORY) | | 3. Tool Creation | 0-60 min | Create missing tools via devtu-create-tool | | 4. Implementation | 30-45 min | Write python_implementation.py with tested tools | | 5. Documentation | 30-45 min | Write SKILL.md (agnostic) + QUICK_START.md | | 6. Validation | 15-30 min | Run test suite, validate checklist, manual verify | | 7. Packaging | 15 min | Create summary, update tracking |
Total: ~1.5-2 hours (without tool creation).
skills/ for patternsSearch tools in /src/tooluniverse/data/*.json (186 tool files). For each tool, read its config to understand parameters and return schema. See PARAMETER_VERIFICATION.md for common pitfalls.
Create and run a test script using test_tools_template.py. For each tool: call with known-good params, verify response format, document corrections. See TESTING_GUIDE.md for the full test suite template and procedures.
Invoke devtu-create-tool when required functionality is missing and analysis is blocked. Use devtu-fix-tool if new tools fail tests.
Create skills/tooluniverse-[domain]/ with:
python_implementation.py - use only tested tools, try/except per phase, progressive report writingtest_skill.py - test each input type, combined inputs, error handlingUse templates from CODE_TEMPLATES.md.
Write implementation-agnostic SKILL.md using SKILL_TEMPLATE.md. Write multi-implementation QUICK_START.md using QUICKSTART_TEMPLATE.md. Key rules: zero Python/MCP code in SKILL.md, equal treatment of both interfaces in QUICK_START.
See IMPLEMENTATION_AGNOSTIC.md for format guidelines with examples.
Run the comprehensive test suite (see TESTING_GUIDE.md). Validate against VALIDATION_CHECKLIST.md. Perform manual verification: load ToolUniverse fresh, copy-paste QUICK_START example, verify output works.
Create summary document using PACKAGING_TEMPLATE.md. Update session tracking if creating multiple skills.
| Skill | When to Use | |-------|-------------| | devtu-create-tool | Critical functionality missing | | devtu-fix-tool | Tool returns errors or unexpected format | | devtu-optimize-skills | Evidence grading, report optimization |
High quality: 100% test coverage before docs, agnostic SKILL.md, multi-implementation QUICK_START, fallback strategies, parameter corrections table, response format docs.
Red flags: Docs before testing, Python in SKILL.md, assumed parameters, no fallbacks, SOAP tools missing operation, no test script.
| File | Content |
|------|---------|
| SKILL_TEMPLATE.md | Template for writing SKILL.md |
| QUICKSTART_TEMPLATE.md | Template for writing QUICK_START.md |
| TESTING_GUIDE.md | Test suite template and procedures |
| VALIDATION_CHECKLIST.md | Pre-release quality checklist |
| PACKAGING_TEMPLATE.md | Summary document template |
| PARAMETER_VERIFICATION.md | Tool parameter verification guide |
| OPTIMIZE_INTEGRATION.md | devtu-optimize-skills 10-pillar integration |
| IMPLEMENTATION_AGNOSTIC.md | Implementation-agnostic format guide with examples |
| CODE_TEMPLATES.md | Python implementation and test templates |
| test_tools_template.py | Tool testing script template |
tools
Generate the success criteria for a task or question, then review work against them. Given a task, goal, or open-ended question, decompose it into scenarios, evaluation perspectives, and fine-grained weighted YES/NO criteria using the Recursive Expansion Tree (RET) method; if work is supplied, score it criterion-by-criterion and surface what is missing or could be better. Use when asked to self-review or check your own work, judge whether a task is done well or completely, build a definition-of-done or completeness checklist, create an evaluation rubric or grading criteria, score or grade answers to a question, set up an LLM-as-judge rubric, or when the user mentions self-review, completeness check, success criteria, evaluation criteria, scoring rubric, Qworld, or the RET algorithm.
tools
Find the real protein target(s) of a peptide from its sequence — peptide target deorphanization / off-target identification, for ANY target class (GPCR, ion channel, protease, cytokine/growth-factor receptor, enzyme, integrin), not only GPCRs. Use when a peptide has a phenotype but does not bind its hypothesized target, when a peptide binds a target in one species or assay but not another, or to screen candidate targets for an orphan peptide. A target-class router steers a multi-route keyless pipeline (PROSITE/ELM motif, BLAST homology, HGNC/InterPro/GPCRdb/GtoPdb target-family enumeration, OpenTargets phenotype anchor, EnsemblCompara/Alliance cross-species reconciliation) plus optional NVIDIA-NIM co-folding (Boltz2, AlphaFold2-Multimer, OpenFold3) for structural confirmation.
tools
Install or update ToolUniverse in Claude Science — create the conda env, install the tooluniverse pip package, and (re)build the tooluniverse-research skill by fetching the current workflow library from GitHub. Use for first-time setup, upgrading the ToolUniverse version, refreshing the bundled workflows after an upstream release, or reinstalling on a new machine.
tools
Install, set up, verify, update, pin, uninstall, or troubleshoot the ToolUniverse plugin on OpenAI Codex. ALWAYS consult this skill for any of those — don't answer from memory, because the exact marketplace name (mims-harvard/ToolUniverse), the "codex plugin marketplace add" then "codex plugin add -m tooluniverse" flow, Codex's startup auto-upgrade behavior, the uvx tooluniverse MCP server, and the API-key env vars are easy to get wrong. Use it whenever someone wants to get ToolUniverse (or "the 1000+ scientific tools" / "the harvard tools") working on Codex, says the Codex plugin or its tools/skills won't load, hits a uvx or MCP-server startup error, asks how Codex updates it, wants to pin or remove it, or finds it running an old tool version — even if they never say the word "plugin". Not for the Claude Code plugin (use tooluniverse-claude-code-plugin), for running research with the tools, or for authoring new tools or skills.