From mtg-skills
Build a 60-card Standard-format deck for MTG Arena (MTGA), centerpiece-first, tuned against the current ladder meta, and costed in Arena wildcards by rarity. Use whenever the user wants to build, brew, or netdeck a Standard deck for Arena, names a card and asks to build a Standard deck around it, wants a deck for the BO1 ladder or BO3 with a sideboard, asks what to craft for a budget number of wildcards, or wants a deck that beats the current Standard meta. Triggers on phrases like "build me a Standard deck", "MTGA deck for [card]", "brew around [card] in Standard", "budget Arena Standard deck", "what should I craft", or any request pairing Standard/Arena with deckbuilding. Every card is labeled with its rarity and the build respects a wildcard budget tier (1-5). Verifies legality and rarity via Scryfall, reads the live meta from untapped.gg/mtggoldfish, and outputs an Arena import list plus an annotated wildcard-cost breakdown. Starts by asking for the user's MTG Arena collection export and, when given one, builds primarily from cards they already own — spending wildcards only to upgrade or fill gaps. For 60-card Standard, NOT 100-card Commander/EDH.
How this skill is triggered — by the user, by Claude, or both
Slash command
/mtg-skills:mtga-standard-deckbuilderThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
This skill brews a 60-card **Standard** deck for **MTG Arena**. It blends a creative, centerpiece-first
This skill brews a 60-card Standard deck for MTG Arena. It blends a creative, centerpiece-first building method (pick a card you love, find everything it can do, build the synergy web around it) with the practical reality of Arena: the deck has to beat the current ladder meta, it has to be legal in Standard right now, and you have to be able to afford it in wildcards.
Two things make this different from paper deckbuilding, and both are first-class here:
references/wildcard-budget.md.Build it with the user, not just for them. After you've settled the centerpiece and the synergy direction, check in on the plan before committing to a full 60, and present the near-final list for reaction before writing files — invite them to swap in cards they own/love, spend more or fewer wildcards, or change the angle. Don't hand over a finished list as the first thing they see. Keep it light (fewer check-ins than an upgrade) but never one-shot: confirm the plan, then confirm the list.
Always produce two files (the user wants both):
deck.md) — cards grouped by role (Centerpiece/Payoffs,
Creatures, Removal/Interaction, Card Advantage, Other Spells, Lands; plus Sideboard for BO3). Every
line shows count, card name, rarity (C/U/R/M), and a one-line reason. Include the mana curve, the
land count, the wildcard-cost breakdown (commons/uncommons/rares/mythics required vs the tier cap),
the target tier, the match type (BO1/BO3), and a short "how the deck wins + meta plan" paragraph.arena.txt) — exact MTG Arena import format: a Deck header, then
<count> <Card Name> per line; a blank line then Sideboard and 15 cards if BO3. Generate this from
the annotated list so they can't drift.Use present_files to share both, and save them in their own folder under .mtg/decks/ in the
user's current working directory: .mtg/decks/<deck-slug>/deck.md and
.mtg/decks/<deck-slug>/arena.txt. Create the folder if it doesn't exist. The slug is a short
kebab-case deck name (the centerpiece or archetype, e.g. .mtg/decks/mono-red-aggro/ or
.mtg/decks/dimir-bounce/); add a distinguishing suffix for variants so existing decks aren't
overwritten. See "The .mtg workspace" below.
.mtg workspaceAll of this skill's file I/O lives in a .mtg/ directory in the user's current working directory,
conventionally git-ignored (built output and personal collection data, not source).
If there's no clear working directory to write to — e.g. you're running in an interactive chat with no
project folder — ask the user where the .mtg/decks/ and .mtg/collection/ directories should live
(prompt for a path) before reading or writing anything, and use that location for the rest of the session.
The subdirectories:
.mtg/decks/ — where built decks are written. Each deck gets its own subfolder,
.mtg/decks/<deck-slug>/, holding that deck's two files (deck.md and arena.txt). Create the
directories if they're missing. This is the same decks folder the other deckbuilding skills use..mtg/collection/mtga_collection.txt — the user's Arena collection (which cards, and how
many, they own), as a plain <count> <Card Name> export. This is the starting inventory for
every build and the single biggest lever on deck quality — see "First: load the user's Arena
collection" below for how to obtain, confirm, and use it. A card the user already owns the needed
copies of costs 0 wildcards; the wildcard budget pays only for the gaps you fill by crafting.Before anything else, get the user's MTG Arena collection. The deck is built primarily from
cards they already own, so this is the single biggest lever on deck quality — say so plainly: an
up-to-date export lets the builder construct a deck the user can play today and spend wildcards
only where they truly move the needle. The collection lives at
.mtg/collection/mtga_collection.txt (a plain <count> <Card Name> export). Handle two cases:
.mtg/collection/mtga_collection.txt, and recommend the free exporter
https://github.com/NthPhantom10/MTGA-collection-exporter (it produces exactly that
<count> <Card Name> list from the MTGA client). Make clear it's strongly recommended: without it
you build from the whole Standard pool and cost every non-basic card in wildcards from zero, which
is far less tailored. If the user declines, proceed without it and note the trade-off.Whenever a collection is available, use it for every build and treat it as the starting inventory for all steps below.
references/wildcard-budget.md. If unsure, suggest Tier 3.Full detail and the reasoning behind each step is in references/methodology.md — read it before building.
The Scryfall recipes for finding cards are in references/scryfall-syntax.md. The short version:
Build from the collection first, then upgrade. When a collection is loaded, work owned-cards-out: for every slot in every step below, first look in the collection for the best card the user already owns that fits the role, and build the deck from those. Only then upgrade — spend a wildcard to replace an owned card when a better card meaningfully improves the deck for its goal and tier. If a slot or gap has no suitable owned card, then of course add (craft) the card the deck needs. Order of preference at every decision: owned card that fits → craft to fill a real gap → craft to upgrade. The result is a deck the user can mostly play immediately, with wildcards spent only where they matter. (With no collection loaded, build from the full Standard pool as normal.)
Start from one card: the thing that wins the game or that the user loves. Commit to it (often a 4-of). If they want a meta deck instead, the centerpiece is the archetype's core engine. The whole deck exists to make this card great.
Don't stop at the obvious read. A card almost always has several exploitable axes, and the good brews come from the non-obvious ones. Enumerate them:
Find cards that give 2-for-1s with the centerpiece along the axes you listed, and that synergize with
each other. Hunt for the non-obvious interaction that speeds the deck up "tenfold." Use EDHREC-style
aggregators sparingly here (this is Standard, not EDH) — lean on the meta sites and Scryfall oracle-text
searches (references/scryfall-syntax.md). With a collection loaded, scan it first for cards that
fill each axis and build from those; reach into the wider pool only to upgrade an owned piece or to fill
a synergy slot the collection can't cover.
Check in on the direction here. Before building the full 60, tell the user the plan in a couple of sentences — the centerpiece and the axis you're leaning into, how the deck wins, and a few signature cards — and ask if that's the deck they want. This is the cheapest moment to change course (go more aggressive, pick the other ability, stay closer to what they own, spend fewer wildcards). Adjust to their answer, then build.
Resist stapling a second payoff onto an engine that's already sufficient. A redundant bomb you cast when you're already winning is wasted slots and tempo; spend those slots on consistency and answers instead. One robust engine beats two fragile ones.
The deck must compete, not just combo in a vacuum. Pull the current Standard ladder meta (untapped.gg BO1, and mtggoldfish) and note the top decks — typically a fast aggro deck (often mono-red), one or two midrange decks, and a control or go-wide deck. Knowing the field tells you what you must survive.
For each major matchup, make sure the deck has answers, and pick answers that don't hurt your own plan:
The land base must match the curve and game plan:
Build to exactly 60 (plus 15 sideboard for BO3) — owned cards first, then the crafts needed to
upgrade or fill gaps. Use 4-ofs for the cards you always want, fewer for situational ones. Then compute
the wildcard cost, counting only the copies the user does not already own (owned copies are free;
basics are always free) against the tier caps. If it's over, first downgrade the most expensive
non-essential crafts back to a suitable owned card, then to a cheaper card that does a similar job, or
trim copies — lean on the meta knowledge so you cut the least important pieces. See
references/wildcard-budget.md for the optimization logic.
Show the user the finished list before you save anything. Walk them through it briefly — how it wins, the meta plan, the mana base, and the wildcard cost / what they'd need to craft — and call out any close calls. Invite changes: cards they own and want to use instead, a lower wildcard spend, a different answer for a matchup they care about. Make the swaps they ask for (re-checking the 60-card count, legality, and the tier each time) and keep going until they're happy. Only then run the quality checks below and write the two files.
references/scryfall-syntax.md):
legal:standard (legal and not banned), game:arena (exists on Arena), r:rare / r:mythic etc.
Every card object has a rarity field — surface it for every card.https://mtga.untapped.gg/constructed/standard) — the live BO1 ladder meta and
"what's in Standard" set list. The primary read on the field you're teching against.https://www.mtggoldfish.com/metagame/standard) — Standard metagame %s and full
netdeck lists; good for BO3 and for sample mana bases.Scryfall reads come from the local card database. scripts/scryfall_search.py queries a local
SQLite database (.mtg/database/cards.sqlite, built from Scryfall bulk data — see the
mtg-scryfall-database skill) instead of the API. It's built automatically on first use (one-time
~540 MB download); just call the script. At the start, if it reports the data is stale (>30 days),
tell the user and ask whether to refresh before continuing (for Arena this matters less — only rarity,
Arena availability, and Standard legality are used, and those move only when a set releases). Any
function:/otag: (Tagger) query routes to the live API automatically.
Retrieval mechanics (use what's available, in order):
python "${CLAUDE_SKILL_DIR}/scripts/scryfall_search.py" "<query>" --limit 30 to search
(reads the local DB, auto-builds on first use; Standard-legal + Arena by default, rarity shown), and
python "${CLAUDE_SKILL_DIR}/scripts/scryfall_search.py" --deck <import>.txt --tier <N> to tally the wildcard cost of a
finished list and check it against the tier caps. Run --help for options.web_search for the Scryfall query / untapped.gg / mtggoldfish
page, then web_fetch the result (web_fetch only takes URLs from a prior search, so search first). No DB
can be built here — that's the expected fallback.api.scryfall.com, untapped.gg, and
mtggoldfish.com, and offer to proceed from known knowledge with the caveat that legality, rarity, and
the current meta are unverified (important: Standard rotates and Arena availability varies, so flag this
clearly).When a collection is in use, the wildcard breakdown must reflect it: count only the cards/copies the user does not already own, and list exactly what they need to craft. Re-read the owned list when reconciling the two files so nothing the user already has is mistakenly counted as a craft.
.txt from the annotated list, then verify it sums to
exactly 60 (main) and 15 (sideboard, if BO3), with at most 4 of any non-basic card. Quick check:
awk '/^Sideboard/{s=1} /^[0-9]/{if(s)sb+=$1; else md+=$1} END{print "main",md,"side",sb}' <file>.txt.legal:standard and on Arena. No banned cards.id<=<colors> (NOT c:, which also matches multicolor cards you can't
cast), and run the audit python "${CLAUDE_SKILL_DIR}/scripts/scryfall_search.py" --deck <file>.txt --colors <wubrg> — it must
print COLOR CHECK ✓ with zero off-color cards (this catches e.g. a B/U or B/R card slipped into mono-black)..mtg/collection/ cost nothing); count from zero if no collection is present. Common and uncommon
are soft targets (cheap, usually
owned): report the totals but don't block on them. Always show the breakdown.Then present both files.
npx claudepluginhub guuse/claude-mtg-skills --plugin mtg-skillsSearches MemPalace before answering questions about past work, people, projects, or prior decisions. Returns verbatim stored content instead of guessing from model memory.
Guides Payload CMS config (payload.config.ts), collections, fields, hooks, access control, APIs. Debugs validation errors, security, relationships, queries, transactions, hook behavior.
Implements vector databases with Pinecone, Weaviate, Qdrant, Milvus, pgvector for semantic search, RAG, recommendations, and similarity systems. Optimizes embeddings, indexing, and hybrid search.