build_sealed_deck
Build the best 40-card Sealed (prerelease) deck from a player's opened card pool — for prerelease events, where everyone opens 6 booster packs (~72 cards) on-site and has ~45 minutes to build.
Instructions
Build the best 40-card Sealed (prerelease) deck from a player's opened card pool — for prerelease events, where everyone opens 6 booster packs (~72 cards) on-site and has ~45 minutes to build.
Sealed rules applied: 40-card minimum; NO ink-color limit; NO copy limit (every copy you opened is playable, even 5+); the stamped prerelease promo is allowed; unused cards are the sideboard (swappable between games). No format-legality or rotation check — the set doesn't need to be released yet.
Strategy: ranks every two-ink pair by pool depth and builds around the
best one (or ink_colors), splashing a third/fourth ink only when the
core pair can't reach 40 on its own — common from 6 packs. Ink is
colorless in Lorcana, so a splash costs synergy, not consistency.
Input — pool is one card per line, quantity optional ("2x Card Name",
"2 Card Name", or just "Card Name"; repeats are summed). Each line can be:
a card name, informal or misspelled is fine ("mickey best in town");
the collector number printed at the card's bottom ("123", "123/204", "123/204 EN 14") — matched within
set_name.
If the user sends a PHOTO of their pool: read every visible card from the image and pass one line per card. Prefer the collector number when it's legible (most reliable); otherwise the name + subtitle. Count duplicates. Then tell the user which cards came back ambiguous/unrecognized so they can confirm, and re-call with corrected lines.
Output: ink-pair ranking, the 40-card list by cost, splash notes, stats (curve, inkable count, lore), the strongest sideboard cards, and any ambiguous/unrecognized lines (excluded from the build — never guessed). Heuristic curve/keyword-value scoring with Shift-chain awareness, not a full synergy engine: review the list before sleeving it.
Args: pool: The opened cards, one per line (names and/or collector numbers). ink_colors: Optional comma-separated core inks to force, e.g. "Amber,Steel" (any number allowed in Sealed). Empty = auto-pick the deepest pair. set_name: The prerelease set, used to scope name matching and to read collector numbers. Default "Hyperia City" (Set 14).
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| pool | Yes | ||
| set_name | No | Hyperia City | |
| ink_colors | No |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| result | Yes |