devtu-fix-tool
Fix failing ToolUniverse tools by diagnosing test failures, identifying root causes, implementing fixes, and validating solutions.
Skill by Zaoqu-Liu
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/zaoqu-liu-devtu-fix-tool
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: testing
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/devtu-fix-tool
What's inside
- Skill name
devtu-fix-tool- Description
- Fix failing ToolUniverse tools by diagnosing test failures, identifying root causes, implementing fixes, and validating solutions. Use when ToolUniverse tools fail tests, return errors, have schema validation issues, or when asked to debug or fix tools in the ToolUniverse framework.
- License
- MIT
- Instructions
- 385 lines in SKILL.md · view on GitHub
Files (1)
- SKILL.md
SKILL.md (first lines)
# Fix ToolUniverse Tools
Diagnose and fix failing ToolUniverse tools through systematic error identification, targeted fixes, and validation.
## First Principles for Bug Fixes
Before writing any fix, ask: **why does the user reach this failure state?**
1. **Prevent, don't recover** — fix the root cause so the failure can't happen, rather than adding hint text after it does
2. **Validate at input, not at output** — wrong parameters, unknown disease names, unsupported drugs should be caught and rejected early with clear guidance, not discovered after a silent API call
3. **Don't mask silent mutations** — if input is auto-normalized (fusion notation, Title Case), either accept both forms natively OR reject with explicit guidance; never silently transform and hide it
4. **Distinguish "no data" from "bad query"** — zero results because the filter is wrong is different from zero results because the data doesn't exist; the response must distinguish these clearly
5. **Fix the abstraction, not the instance** — if a parameter name is inconsistent, fix the interface; don't add an alias list that grows forever
**Anti-patterns to avoid:**
- Adding hint text to zero-result messages instead of validating upfront
- Adding parameter aliases instead of fixing naming consistency
- Post-hoc probing to rescue a failed query instead of pre-validating
## Bug Verification (CRITICAL)
Before implementing any bug report, **verify it via CLI first**:
```bash
python3 -m tooluniverse.cli run <ToolName> '<json_args>'
```
Many agent-reported bugs are false positives caused by MCP interface confusion. Always confirm the bug is reproducible before implementing a fix.
---
## Instructions
When fixing a failing tool:
1. **Run targeted test to identify error**:
```bash
python scripts/test_new_tools.py <tool-pattern> -v
```
2. **Verify API is correct** - search online for official API documentation to confirm endpoints, parameters, and patterns are correct
3. **Identify error type** (see Error Types section)
4. **Apply appropriate fix** based on error pattern
4. **Regenerate tools** if you modified JSON configs or tool classes:
```bash
python -m tooluniverse.generate_tools
```
5. **Check and update tool tests** if they exist in `tests/tools/`:
```bash
ls tests/tools/test_<tool-name>_tool.py
```
6. **Verify fix** by re-running both integration and unit tests
7. **Provide fix summary** with problem, root cause, solution, and test results
## Where to Fix
| Issue Type | File to Modify |
|------------|----------------|
| Binary response | `src/tooluniverse/*_tool.py` + `src/tooluniverse/data/*_tools.json` |
| Schema mismatch | `src/tooluniverse/data/*_tools.json` (return_schema) |
| Missing data wrapper | `src/tooluniverse/*_tool.py` (operation methods) |
| Endpoint URL | `src/tooluniverse/data/*_tools.json` (endpoint field) |
| Invalid test example | `src/tooluniverse/data/*_tools.json` (test_examples) |
| Tool test updates | `tests/tools/test_*_tool.py` (if exists) |
| API key as parameter | `src/tooluniverse/data/*_tools.json` (remove param) + `*_tool.py` (use env var) |
| Tool not loading (optional key) | `src/tooluniverse/data/*_tools.json` (use `optional_api_keys` not `required_api_keys`) |
## Error Types
### 1. JSON Parsing Errors
**Symptom**: `Expecting value: line 1 column 1 (char 0)`
**Cause**: Tool expects JSON but receives binary data (images, PDFs, files)
**Fix**: Check Content-Type header. For binary responses, return a description string instead of parsing JSON. Update `return_schema` to `{"type": "string"}`.
### 2. Schema Validation Errors
**Symptom**: `Schema Mismatch: At root: ... is not of type 'object'` or `Data: None`
**Cause**: Missing `data` field wrapper OR wrong schema type
**Fix depends on the error**:
- If `Data: None` → Add `data` wrapper to ALL operation methods (see Multi-Operation Pattern below)
- If type mismatch → Update `return_schema` in JSON config:
- Data is string: `{"type": "string"}`
- Data is array: `{"type": "array", "items": {...}}`
- Data is object: `{"type": "object", "properties": {...}}`
**Key concept**: Schema validates the `data` field content, NOT the full response.
### 3. Nullable Field Errors
**Symptom**: `Schema Mismatch: At N->fieldName: None is not of type 'integer'`
**Cause**: API returns `None`/`null` for optional fields
**Fix**: Allow nullable types in JSON config using `{"type": ["<base_type>", "null"]}`. Use for optional fields, not required identifiers.
### 4. Mutually Exclusive Parameter Errors
**Symptom**: `Parameter validation failed for 'param_name': None is not of type 'integer'` when passing a different parameter
**Cause**: Tool accepts EITHER paramA OR paramB (mutually exclusive), but both are defined with fixed types. When only one is provided, validation fails because the other is `None`.
**Example**:
```json
{
"neuron_id": {"type": "integer"}, // ❌ Fails when neuron_name is used
"neuron_name": {"type": "string"} // ❌ Fails when neuron_id is usedFrom Zaoqu-Liu/ScienceClaw, MIT.
More from Zaoqu-Liu/ScienceClaw
- 0.508score
browser-automation
Zaoqu-Liu
Browser automation for accessing scientific databases that lack REST APIs.
SkillDFreshness: D★ 60Claude Code +9 - 0.508score
devtu-github
Zaoqu-Liu
GitHub workflow for ToolUniverse - push code safely by moving temp files, activating pre-commit hooks, running tests, and cleaning staged files.
SkillDFreshness: D★ 60Claude Code +9 - 0.508score
devtu-optimize-descriptions
Zaoqu-Liu
Optimize tool descriptions in ToolUniverse JSON configs for clarity and usability.
SkillDFreshness: D★ 60Claude Code +9 - 0.508score
asta-corpus-search
Zaoqu-Liu
Search Allen AI's Asta Scientific Corpus (225M+ papers, 12M+ full-text, 2.4B+ citations) via MCP endpoint.
SkillDFreshness: D★ 60Claude Code +9 - 0.505score
chembl-search
Zaoqu-Liu
Search ChEMBL bioactive molecules database with natural language queries.
SkillDFreshness: D★ 60Claude Code +9 - 0.505score
biomedical-search
Zaoqu-Liu
Complete biomedical information search combining PubMed, preprints, clinical trials, and FDA drug labels.
SkillDFreshness: D★ 60Claude Code +9 - 0.504score
biomni
Zaoqu-Liu
Autonomous biomedical AI agent framework for executing complex research tasks across genomics, drug discovery, molecular biology, and clinical analysis.
SkillDFreshness: D★ 60Claude Code +9 - 0.499score
devtu-auto-discover-apis
Zaoqu-Liu
Automatically discover life science APIs online, create ToolUniverse tools, validate them, and prepare integration PRs.
SkillDFreshness: D★ 60Claude Code +9 - 0.495score
create-tooluniverse-skill
Zaoqu-Liu
Create high-quality ToolUniverse skills following test-driven, implementation-agnostic methodology.
SkillDFreshness: D★ 60Claude Code +9 - 0.495score
devtu-create-tool
Zaoqu-Liu
Create new scientific tools for ToolUniverse framework with proper structure, validation, and testing.
SkillDFreshness: D★ 60Claude Code +9 - 0.475score
longevity-scholar
Zaoqu-Liu
This skill should be used when users explicitly request academic papers, recent research, most cited research, or scholarly articles about longevity, aging…
SkillDFreshness: D★ 60Claude Code +9 - 0.271score
academic-literature-search
Zaoqu-Liu
No description from the publisher yet.
SkillDFreshness: D★ 60Claude Code +9
Signals
- Stars
- 60
- Forks
- 14
- Open issues
- 2
- Last commit (this folder)
- Mar 6, 2026 (7 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/Zaoqu-Liu/ScienceClaw
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from Zaoqu-Liu
- 0.508score
asta-corpus-search
Zaoqu-Liu
Search Allen AI's Asta Scientific Corpus (225M+ papers, 12M+ full-text, 2.4B+ citations) via MCP endpoint.
SkillDFreshness: D★ 60Claude Code +9 - 0.508score
devtu-github
Zaoqu-Liu
GitHub workflow for ToolUniverse - push code safely by moving temp files, activating pre-commit hooks, running tests, and cleaning staged files.
SkillDFreshness: D★ 60Claude Code +9 - 0.508score
browser-automation
Zaoqu-Liu
Browser automation for accessing scientific databases that lack REST APIs.
SkillDFreshness: D★ 60Claude Code +9 - 0.508score
devtu-optimize-descriptions
Zaoqu-Liu
Optimize tool descriptions in ToolUniverse JSON configs for clarity and usability.
SkillDFreshness: D★ 60Claude Code +9 - 0.505score
biomedical-search
Zaoqu-Liu
Complete biomedical information search combining PubMed, preprints, clinical trials, and FDA drug labels.
SkillDFreshness: D★ 60Claude Code +9 - 0.505score
chembl-search
Zaoqu-Liu
Search ChEMBL bioactive molecules database with natural language queries.
SkillDFreshness: D★ 60Claude Code +9
Cite this page
devtu-fix-tool skill. Agent Mart. https://agentmart.dev/skills/zaoqu-liu-devtu-fix-tool (last updated 2026-10-24)