A fast Uma Musume training toolkit with event OCR, skill optimization, rating calculation, deck building, and more. Supports English and Japanese.
Live site: daftuyda.moe
Real-time event lookup powered by OCR. Capture your game screen, and UmaTools reads the event name, shows all options, scores them, and highlights the best choice.
Search for support cards by skill hints. Add hints as filter chips, choose AND/OR matching, and filter by rarity (SSR / SR / R) to find the cards you need.
Maximize your build's rating or Team Trials consistency under a skill-point budget. Set your race config and aptitudes, add skills with hint levels, and let the optimizer pick the best combination. Supports gold/lower linking, circle skill upgrades, build saving, and shareable links.
- Rating mode — maximizes total rating score
- Team Trials mode — prioritizes skill activation consistency over raw score
- Aptitude Test mode — maximizes aptitude test points, then rating as tiebreaker
Standalone rating projection. Enter your final stats, star rarity, unique skill level, and selected skills to see the projected rating and badge progress. Supports all ranks from G through the new Legend (LS24) tier.
Build training decks with 1 main character + up to 6 support cards. Filter by type, rarity, and aptitudes. View combined stat bonuses, skill hints, and synergy analysis. Save decks locally, share via encoded URL, or open directly in the Skill Optimizer.
Browse the complete skill database with detailed metadata — cost, rating score, efficiency (score per SP), type, and category. Sort, search, and filter by skill type. Click any skill for a popup with full description, activation conditions, support card sources, and character availability.
Reference table for all rating badge tiers from G through LS24, including threshold ranges and icon sprites used by the calculator/optimizer.
Verify whether your uma has enough stamina for the race. Set distance, surface, condition, style, and mood, then enter stats and recovery skills to compare needed vs. actual stamina.
Check which acceleration skills are valid for a given race setup. Select distance, surface, running style, and position to see which accel skills can activate with VAC timing logic. Supports both global-only and JP skill pools.
A daily guessing game. Pick an uma, compare stats and hint grids, and narrow down the answer.
Roll a random 5-card support deck or pick a random uma. Filter by rarity, exclude cards you don't want, and optionally enable 2A- speed.
UmaTools supports English and Japanese interfaces. Switch the site language via the Settings menu in the navigation bar. Server selection (EN / JP) controls which skill names, support cards, and characters are displayed.
Want to help translate? See the Translation Guide for how the i18n system works, how to add a new language, and how to update existing translations.
For deeper technical details on how things work under the hood:
| Doc | What it covers |
|---|---|
| Rating System | Stat scoring formula (0–2500), skill score buckets, cost discounts, gold/circle skill linking, knapsack optimization, badge tiers (G through LS24, 298 tiers) |
| Team Trials | Consistency-first skill selection, automated skill scoring, trigger analysis, green/volatile penalties, expected value scoring, tuning weights |
| OCR Guide | Image preprocessing pipeline, Tesseract config, fuzzy matching algorithm, tuning thresholds, troubleshooting |
| Translation Guide | i18n system, adding new languages, key naming conventions, variable interpolation, testing coverage |
| Accel Checker | VAC timing logic, data pipeline from master.mdb, segment classification, offset judgment, uncertainty scoring, impact estimation |
The site is organized into four groups:
| Group | Pages |
|---|---|
| Rating | Optimizer, Calculator |
| Tools | Event OCR, Support Hints, Deck Builder, Stamina Check, Accel Checker |
| Data | Skill Library, Rank Breakdown |
| Fun | Randomizer, Umadle |
Local Development
Requires Node.js and the Vercel CLI.
npm i -g vercel
git clone https://github.com/insilications/UmaTools.git
cd UmaTools
vercel dev --localRefresh only GameTora skill metadata:
npm run sync:skills-allRefresh skill CSVs (assets/uma_skills.csv, assets/uma_skills_jp.csv):
npm run sync:uma-skillsThis command also writes scrape metadata to .cache_gamewith/gamewith_metadata.json.
Both skill CSVs are expanded from assets/skills_all.json so Global and JP modes follow the full
GameTora skill list. GameWith simulator rows are used as the score/affinity overlay; fan/unofficial
EN is stored in alias_name, and localized EN is stored in localized_name.
Full skill data refresh (recommended):
npm run refresh:datanpm run format
npm run lint
npm test
npm run check