devtu-code-optimization

$npx mdskill add mims-harvard/ToolUniverse/devtu-code-optimization

Enforce code quality patterns for ToolUniverse tool development.

  • Ensures tool code follows project-specific quality and schema rules.
  • Depends on ruff, Python CLI, and project registry files.
  • Triggers on writing, fixing, or reviewing tool Python code.
  • Provides a pre-commit checklist and key fix categories.

SKILL.md

.github/skills/devtu-code-optimizationView on GitHub ↗
---
name: devtu-code-optimization
description: >
  Code quality patterns and guidelines for ToolUniverse tool development.
  Apply when writing, fixing, or refactoring tool Python code in the ToolUniverse project.
  Encodes lessons from 80+ debug rounds. Use alongside devtu-fix-tool and devtu-self-evolve.
  Triggers: implementing tool fixes, writing new tool classes, reviewing tool code quality,
  checking schema correctness, looking up API-specific bug fixes.
---

# ToolUniverse Code Optimization

Always run `Skill(skill="simplify")` after writing or modifying code.

## Pre-Commit Checklist

- [ ] `return_schema` has `oneOf: [{data+metadata}, {error}]`
- [ ] Test examples use real IDs (no DUMMY/PLACEHOLDER)
- [ ] `try:` has `except:` at exact same indentation level
- [ ] No trailing commas in JSON (`python3 -c "import json; json.load(open('f.json'))"`)
- [ ] New tool class registered in `_lazy_registry_static.py` and `default_config.py`
- [ ] `ruff check src/tooluniverse/<file>.py` passes
- [ ] `python -c "from tooluniverse.<module> import <Class>"` passes
- [ ] `python -m tooluniverse.cli run <Tool> '<real_args_json>'` returns expected data
- [ ] Ran `Skill(skill="simplify")` on all modified files

## Key Fix Categories

| Category | Signal | Reference |
|---|---|---|
| Silent param ignored | API accepts but drops filter | [code-patterns.md](code-patterns.md) — Client-Side Filter |
| Wrong API field/endpoint | 0 results or 404 | [api-fixes.md](api-fixes.md) — Quick Lookup Table |
| Schema invalid | null type, missing oneOf | [code-patterns.md](code-patterns.md) — Schema Patterns |
| Undisclosed normalization | Auto-transform hidden from user | [code-patterns.md](code-patterns.md) — Normalization Disclosure |
| try/except indent | SyntaxError at runtime | [code-patterns.md](code-patterns.md) — try/except section |
| Truncation buried | Data count hidden in notes | [code-patterns.md](code-patterns.md) — Truncation |
| Hosted model API (NIM) | async 404 on poll, JSON-wrapped output, 200+inner-failure, "not found for account" | [code-patterns.md](code-patterns.md) — Hosted Model-API Tools |
| R subprocess tool | `'\.' unrecognized escape` from `Rscript -e` | [code-patterns.md](code-patterns.md) — R-subprocess Tools |

## References

- **[references/api-fixes.md](references/api-fixes.md)** — Per-API bug fixes (GtoPdb, CIViC, GTEx, ENCODE, CPIC, etc.)
- **[references/code-patterns.md](references/code-patterns.md)** — Reusable Python patterns (schema, filtering, pagination, normalization)

## Git & PR Workflow

```bash
git fetch origin && git stash && git rebase origin/main && git stash pop
git push --force-with-lease origin fix/round-XX-bugs
gh pr view <N> --json mergeable  # must be MERGEABLE before done
```

- Never push to `main` directly
- Never have multiple open fix PRs
- Commit messages: "Feature" or "Fix" — never "Bug"
- No AI attribution in commits
- Repo: `mims-harvard/ToolUniverse` — verify with `git remote -v`

More from mims-harvard/ToolUniverse

SkillDescription
create-tooluniverse-skillCreate high-quality ToolUniverse skills following test-driven, implementation-agnostic methodology.
devtu-auto-discover-apisAutomatically 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.
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-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>