How Manayard scores fit
Manayard shows two kinds of score. On a theme page, every card has two percentages, such as 100% / 90% for Blood Artist on the Aristocrats page: its theme fit and its execution. In the workbench, every card suggested for your deck has a single Fit score, such as Fit 6.79. This post explains why there are two, where a language model helps, and how I check the results.
Why there are two scores
Manayard's parser can say what a card does, but not how much that matters. The Aristocrats theme covers 1,951 cards: everything that sacrifices creatures, makes creatures to sacrifice or rewards creatures dying. Blood Artist is on that list. So is Goldspan Dragon, a strong card that only brushes against the theme. Both labels are correct, but no aristocrats player would rank the two cards equally. Sorting by popularity would fix the order, but that is the signal I chose not to start from.
There is a second problem. Even a perfect ranking for a theme doesn't know your deck. Blood Artist is the best aristocrats payoff in general, but a deck that already has eight payoffs and nothing to sacrifice needs something else.
So I split the job in two. Theme scores rank every card within a theme, once, for everyone. The Fit score ranks cards for your deck, and uses the theme scores as one of its ingredients.
Theme fit and execution
Every card in a theme gets two scores from 0 to 1, shown as percentages.
- Theme fit is how directly the card advances the theme. 100% is a piece the theme is built around, 50% is a useful but replaceable part, and 10% only touches the theme in passing or works against it.
- Execution is how well the card does that job in a Commander deck, counting mana cost, repeatability, reliability and conditions. 100% is excellent and repeatable, 50% is playable, and 10% is clunky, one-shot and costly, or conditional.
Theme pages sort by theme fit, then execution. A percentage is not a percentile: only 54 of the 1,951 Aristocrats cards reach 90% theme fit. Each score belongs to one card in one theme. Blood Artist is 100% / 90% in Aristocrats but 35% / 60% in Lifegain, where its life gain is a side effect.
The two scores usually agree: 1,747 of the 1,951 Aristocrats cards have them within 10 points of each other. The disagreements are the ones worth reading. Goldspan Dragon is 20% / 80%: it does its job very well, but its job is not really this theme.
How the language model is used
Judging a card's place in a strategy means reading its text the way a player would, which language models do well. It also only has to happen once per card per theme. So the scoring runs offline: Claude Haiku 5.5 reads every labeled card and the results are saved to a file the site reads. No page or suggestion waits on a model. The run that scored every labeled card in 30 themes cost $0.63 for 13,030 cards.
For each card, the model sees its name, type, mana cost, rules text and whether it supplies the theme or rewards it, along with the theme's definition. The instructions are the two definitions above, plus one more line: judge each card on its own, not against the others in the list, and use the whole range.
Tokens, Lifegain and +1/+1 counters came from an earlier pilot that also wrote a one-sentence reason for every card. The site marks those as hand-scored.
Getting consistent answers
My first version asked the model to rank cards against each other. It put batches of 200 cards in order, and I turned each card's place into a percentile. The order depended on which batch a card landed in. I added a second pass that re-ranked the best cards from every batch together, and the top 10 Artifacts cards still came from five different batches.
So I stopped asking for comparisons. The current prompt asks for an absolute score on two separate scales, with the fixed anchors at 100%, 50% and 10% described above. Three other choices aim at repeatable answers:
- Temperature 0. Temperature controls how much randomness the model uses when choosing its words; at 0 it picks its most likely answer.
- Fixed batches. Cards go in batches of 40 in alphabetical order, so a rerun sends the same batches.
- Numbers only. The model returns two numbers per card and no written reason, which keeps a full run cheap.
The wording mattered too. In a narrower grouping about spending charge counters, the first scores punished cards for needing another card to make the counters. I rewrote the instruction to assume the counters exist and rate only what the card does with them, then rescored.
I haven't yet rerun the model to see how often it gives the same score twice, or compared its scores with a panel of players. The scale isn't calibrated across themes either, so 70% in Burn isn't guaranteed to mean the same as 70% in Tokens.
The Fit score
The Fit score is computed fresh for every suggestion. It adds up a few terms, and each one is listed with its source under Score breakdown in the card's details.
- Predicted deck fit is usually the largest term. A model trained on tournament decks learns which card features (parsed mechanics, Scryfall tags, rules-text phrases, cost, type and colour) tend to appear together, then predicts how well a card fits the cards already in your list. Because it learns features rather than card names, it can score a card with no play history. For cards that do have history, it blends in how often the cards appear together in recorded decks.
- Deck support credits a card that fills your deck's theme or plan. This is where theme scores come in: a payoff scored 100% / 100% earns 1.5 times the base credit, and an unscored card 0.6 times. The credit grows when the deck is short of that role, which is why Blood Artist gets it here. If a card qualifies for several kinds of support, only the largest counts.
- General strength is a small nudge, at most half a point either way, from Scryfall's popularity rank. It is the only place overall popularity enters.
- Better alternatives subtracts 2 when a strictly better card is still available to the deck.
The units only compare cards suggested for the same deck. A 6.79 is not a probability or a grade, and it means nothing next to a Fit score for a different deck.
What runs without a language model
Everything else is ordinary code that gives the same answer every time.
- The parser turns rules text into facts: 32 kinds of trigger and 434 kinds of effect, with their costs and conditions.
- Theme labels decide which cards get scored at all. For 16 themes, including Tokens and Aristocrats, labels come from parsed facts. The rest need two of three signals to agree: parsed effects, text phrases and Scryfall's tags. Some labels were later corrected by a model review or by hand.
- Every suggestion, cut and swap in the workbench, Fit score included. The exceptions are the idea box, which uses a small model to read what you type, and the optional deck plan. Both have a free fallback.
How I check the results
- Recovery. Hide ten cards from each of a set of MTGO Duel Commander decks that the models never trained on, then count how many come back in the top 50 suggestions. When theme scores started driving suggestions, recovery went from 18.4% to 18.2% on 120 decks, which is no change beyond noise. This test rewards matching what players chose, so it can't show whether theme scores move the right cards up.
- Search. Hide one card and search for its job using its rarest shared Scryfall tag. The hidden card comes back in the top 20 for 53% of 200 decks.
- Replay. Rerun 203 recorded tool requests against each change to catch new errors and see which answers changed.
- Rules probes. 64 small checks that the parser applies specific rules from the Comprehensive Rules correctly. 55 pass today.
Two rules apply to all of them: held-out test decks are never tuned against, and a model grading its own output doesn't count as evidence.
Limitations
- No check against games. Every score comes from reading rules text or from recorded decks, not from games played.
- Many ties. No theme has more than 23 distinct theme-fit values, so many cards share a score, and their order within a tie means nothing.
- Unlabeled cards are invisible. A card that fits a theme but isn't labeled for it never appears on that theme's page.
- The model sees the card's name. It may lean on what it already knows about famous cards rather than on the text alone.
If a score looks wrong, the card's details name the source of every number, so you can see which part to doubt.