build_deck
Assemble a legal, curve-balanced ~60-card Lorcana decklist by ink pair and format, using your collection, ideal cards, or market-priced builds.
Instructions
Automatically assemble a legal, curve-balanced ~60-card decklist for an ink pair and format, in one of 3 modes:
"collection": build only from cards you own (capped at owned quantity per card). If fewer than 60 legal owned cards exist, reports the shortfall honestly instead of padding with irrelevant fillers.
"ideal": build the best deck regardless of ownership. If collection_csv is given, also shows what you already own, what's missing, and the price to complete it (via tcgcsv.com).
"market": build the best deck ignoring any collection, and prices every card in it (not just the gap) via tcgcsv.com.
This is a heuristic curve/keyword-value builder — it optimizes ink curve, stat efficiency, and keyword value, not multi-card combos or synergy packages. See the disclaimer at the bottom of every result.
format="coconut" builds for Format Coconut (Ravensburger's multiplayer singleton beta, open since 2026-07-28 — rules/card pool may still change; see the project CLAUDE.md's "Format Coconut" section). It needs coconut_card, allows up to 3 ink colors (one must match the Coconut's own ink), has no rotation and no tracked banned list (every released card is treated as legal), and every card in the build is capped at 1 copy except the Coconut's associated real character, which may run up to 4 — this replaces the usual max-4-of-anything rule entirely. Call with format="coconut" and no coconut_card to get the full list of the 18 beta Coconuts to choose from.
Args: ink_colors: Comma-separated ink color(s), e.g. "Amber,Sapphire". 1-2 colors for core/core_zh/core_ja/poorcana, 1-6 for infinity, 1-3 for coconut (must include the Coconut card's own ink — see coconut_card). May be omitted entirely when format="coconut" and coconut_card is also omitted — that combination just lists the 18 beta Coconut cards (filtered to the given ink(s), if any) and doesn't build anything yet. mode: "collection", "ideal", or "market". format: "core", "infinity", "core_zh", "core_ja", "poorcana", or "coconut". collection_csv: Absolute path to an enriched collection CSV. Required for mode="collection"; optional for "ideal"; ignored for "market". rotation_safe: If True and format="core", restrict to the rotation group that will still be legal after the next rotation event. No-op (with a note) for other formats. coconut_card: Required when format="coconut" — fuzzy name of one of the 18 beta Coconut cards (e.g. "Ariel", "Mickey Mouse", "snow white"). Ignored for every other format. include_preview: If True and format is "core" or "infinity", also admit cards from announced sets that aren't legal yet (e.g. Hyperia City before its release date) — whatever LorcanaJSON has revealed so far, which may be a partial set. Preview cards are marked in the decklist and usually have no TCGPlayer price yet. No-op (with a note) for other formats. theme: Optional deck theme — a classification ("princess", "detective", "seven dwarfs", "villain", ...) or a character name ("mickey mouse", "stitch"). Cards of that classification/ name, and cards whose text references it (payoffs like "your Princess characters get +1 ¤"), are strongly preferred. If ink_colors is omitted, the two-ink pair with the most theme cards in the legal pool is chosen automatically (not for coconut, which needs its Coconut's ink).
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | ideal | |
| theme | No | ||
| format | No | core | |
| ink_colors | No | ||
| coconut_card | No | ||
| rotation_safe | No | ||
| collection_csv | No | ||
| include_preview | No |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| result | Yes |