How Manayard scores fit

By Wylie Conlon ·

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.

A parser reads every card's rules text without AI, and theme labels place cards in themes. A language model runs once, offline, to score theme fit and execution. Those scores sort the theme pages and feed the deck Fit score, which is computed for each suggestion without AI.

Theme fit and execution

Every card in a theme gets two scores from 0 to 1, shown as percentages.

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.

Heat map of 1,951 Aristocrats cards, theme fit against execution. 1,747 have the two scores within 10 points. Blood Artist is 100% / 90%, rank 1; Goldspan Dragon is 20% / 80%, rank 1,652; Raiding Party is 5% / 5%, rank 1,951.

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:

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.

Fit score for Blood Artist in a Teysa Karlov deck: predicted deck fit adds 5.09, archetype support adds 1.20 and general strength adds 0.50, for a total of 6.79.

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.

How I check the results

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

If a score looks wrong, the card's details name the source of every number, so you can see which part to doubt.

Explore the data