devtu-auto-discover-apis

$npx mdskill add mims-harvard/ToolUniverse/devtu-auto-discover-apis

Automatically discovers and fills gaps in life science API coverage

  • Analyzes current ToolUniverse coverage to identify missing categories.
  • Deploys web searches to find new APIs for underrepresented domains.
  • Uses devtu-create-tool patterns to automate tool creation based on found APIs.
  • Validates and integrates newly created tools into the ToolUniverse.

SKILL.md

.github/skills/devtu-auto-discover-apisView on GitHub ↗
---
name: devtu-auto-discover-apis
description: Automatically discover life science APIs online, create ToolUniverse tools, validate them, and prepare integration PRs. Performs gap analysis to identify missing tool categories, web searches for APIs, automated tool creation using devtu-create-tool patterns, validation with devtu-fix-tool, and git workflow management. Use when expanding ToolUniverse coverage, adding new API integrations, or systematically discovering scientific resources.
---

# Automated Life Science API Discovery & Tool Creation

Discover, create, validate, and integrate life science APIs into ToolUniverse.

## Four-Phase Workflow

```
Gap Analysis → API Discovery → Tool Creation → Validation → Integration
     ↓              ↓               ↓              ↓            ↓
  Coverage      Web Search      devtu-create   devtu-fix    Git PR
```

Human approval gates after: discovery, creation, validation, and before PR.

---

## Phase 1: Discovery & Gap Analysis

### 1.1 Analyze Current Coverage
Load ToolUniverse, categorize tools by domain (genomics, proteomics, drug discovery, clinical, omics, imaging, literature, pathways, systems biology). Count per category.

### 1.2 Identify Gap Domains
- **Critical Gap**: <5 tools in category
- **Moderate Gap**: 5-15 tools, missing key subcategories
- **Emerging Gap**: New technologies not represented

Common gaps: single-cell genomics, metabolomics, patient registries, microbial genomics, multi-omics integration, synthetic biology, toxicology.

### 1.3 Web Search for APIs
For each gap domain, run multiple queries:
1. `"[domain] API REST JSON"` — direct API search
2. `"[domain] public database"` — database discovery
3. `"[domain] API 2025 OR 2026"` — recent releases
4. `"[domain] database" site:nar.oxfordjournals.org` — NAR Database Issue

Extract: base URL, endpoints, auth method, parameter schemas, rate limits.

### 1.4 Score and Prioritize

| Criterion | Max Points |
|-----------|------------|
| Documentation Quality | 20 |
| API Stability | 15 |
| Authentication Simplicity | 15 |
| Coverage | 15 |
| Maintenance | 10 |
| Community | 10 |
| License | 10 |
| Rate Limits | 5 |

High priority (>=70), Medium (50-69), Low (<50).

### 1.5 Generate Discovery Report
Coverage analysis, prioritized candidates with scores, implementation roadmap.

---

## Phase 2: Tool Creation

For each API, use `Skill(skill="devtu-create-tool")` or follow these patterns.

### Architecture Decision
- Multiple endpoints → multi-operation tool (single class, multiple JSON wrappers)
- Single endpoint → single-operation acceptable

### Key Steps
1. Design tool class following template — see [references/tool-templates.md](references/tool-templates.md)
2. Create JSON config with oneOf return_schema
3. Find real test examples (use List endpoint → extract IDs → verify)
4. Register in `default_config.py`

### Critical Requirements
- return_schema MUST have `oneOf` (success + error schemas)
- test_examples MUST use real IDs (NO placeholders)
- Tool name <= 55 characters
- NEVER raise exceptions in `run()` — return error dict
- Set timeout on all HTTP requests (30s)

---

## Phase 3: Validation

Full guide: [references/validation-guide.md](references/validation-guide.md)

### Quick Validation Checklist
1. **Schema**: oneOf structure, data wrapper, error field
2. **Placeholders**: No TEST/DUMMY/PLACEHOLDER in test_examples
3. **Loading**: 3-step check (class registered, config registered, wrappers generated)
4. **Integration tests**: `python scripts/test_new_tools.py [api_name] -v` → 100% pass

Fix failures with `Skill(skill="devtu-fix-tool")`.

---

## Phase 4: Integration

Use `Skill(skill="devtu-github")` or:
1. Create branch: `feature/add-[api-name]-tools`
2. Stage tool files + default_config.py
3. Commit with descriptive message
4. Push and create PR with validation results

---

## Processing Patterns

| Pattern | When to Use |
|---------|------------|
| **Batch** (multiple APIs → single PR) | Same domain, similar structure |
| **Iterative** (one API at a time) | Complex auth, novel patterns |
| **Discovery-only** (report, no tools) | Planning roadmap |
| **Validation-only** (audit existing) | PR review, quality check |

---

## References

- **Tool templates** (Python class + JSON config): [references/tool-templates.md](references/tool-templates.md)
- **Validation & integration guide**: [references/validation-guide.md](references/validation-guide.md)

More from mims-harvard/ToolUniverse

SkillDescription
create-tooluniverse-skillCreate high-quality ToolUniverse skills following test-driven, implementation-agnostic methodology.
devtu-benchmark-harnessContinuous improvement system for ToolUniverse tools, skills, and plugin. Run benchmarks, diagnose failures, route fixes to devtu skills, retest. Use after skill optimization, tool additions, or as regression check.
devtu-code-optimization>
devtu-create-toolCreate new scientific tools for ToolUniverse framework with proper structure, validation, and testing. Use when users need to add tools to ToolUniverse, implement new API integrations, create tool wrappers for scientific databases/services, expand ToolUniverse capabilities, or follow ToolUniverse contribution guidelines. Supports creating tool classes, JSON configurations, validation, error handling, and test examples.
devtu-docs-qualityTOP PRIORITY skill — find and immediately fix or remove every piece of wrong, outdated, or redundant information in ToolUniverse docs. Wrong code, broken links, incorrect counts, and overlapping instructions must be fixed or removed — never left in place. Runs five phases: (D) static method scan, (C) live code execution, (A) automated validation, (B) ToolUniverse audit, (E) less-is-more simplification. Core philosophy: each concept appears exactly once; remove don't add; no emojis; single setup entry point. Use when reviewing docs, before releases, after API changes, or when asked to audit, fix, or simplify documentation.
devtu-fix-toolFix 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.
devtu-githubGitHub workflow for ToolUniverse - push code safely by moving temp files, activating pre-commit hooks, running tests, and cleaning staged files. Use when pushing to GitHub, fixing CI failures, or cleaning up before commits.
devtu-optimize-descriptionsOptimize tool descriptions in ToolUniverse JSON configs for clarity and usability. Reviews descriptions for missing prerequisites, unexpanded abbreviations, unclear parameters, and missing usage guidance. Use when reviewing tool descriptions, improving API documentation, or when user asks to check if tools are easy to understand.
devtu-optimize-skillsOptimize ToolUniverse skills for better report quality, evidence handling, and user experience. Apply patterns like tool verification, foundation data layers, disambiguation-first, evidence grading, quantified completeness, and report-only output. Use when reviewing skills, improving existing skills, or creating new ToolUniverse research skills.
devtu-self-evolve>