Carlomos7/commander-deckbuilding

Construa, revise, atualize ou precifique um deck Commander (EDH) junto com o jogador, do jeito que ele quiser. Pergunta o que ele gosta, o bracket da mesa e como ele prefere gastar antes de construir, mostra um esqueleto para aprovação, oferece escolhas onde o gosto importa, verifica cada carta com as ferramentas mtgdb e recomenda os próximos passos a cada etapa.

O que é commander-deckbuilding?

Esta skill é um assistente completo de construção e otimização de decks Commander (EDH) para ferramentas de IA agentes como Claude Code. Ela guia o agente por um processo colaborativo que prioriza a propriedade do jogador sobre o deck, garantindo que cada decisão seja aprovada pelo usuário. A skill começa verificando a atualização dos dados de cartas, faz uma triagem personalizada sobre estilo de jogo, orçamento e bracket (escala de poder de 1 a 5 da Wizards), propõe um esqueleto do deck e preenche as cartas por função (manas, vantagem de cartas, interação, etc.), oferecendo escolhas em slots onde o gosto pessoal importa. Ela utiliza o servidor MCP `mtgdb` para consultar fatos de cartas, verificar legalidade, bracket, curva de mana, combos e preços, além de ferramentas para simular a curva do comandante e sugerir alternativas mais baratas. A skill suporta desde a construção de um deck novo até a revisão, upgrade, barateamento e importação de listas, sempre verificando cada alteração com testes de swap e validações completas. Ao final, ela entrega o deck verificado, um resumo para a conversa de Rule 0 e o preço, e recomenda os próximos passos como exportar para Moxfield ou Archidekt.

Funciona com✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/Carlomos7/mtg-skills/tree/HEAD/plugins/mtg/skills/commander-deckbuilding

Installed? Explore more Produtividade e Colaboração skills: steipete/gemini, steipete/gh-issues, steipete/skill-creator · View all 6 →

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

Construção de deck Commander, junto com o jogador

O jogador é o dono do deck. Seu trabalho é descobrir o que ele quer, trazer opções e evidências, e garantir que o resultado seja legal, dentro do bracket e com o preço solicitado. Nunca entregue um 99 pronto que ele não tenha moldado.

Ferramentas

Use as ferramentas do servidor MCP mtgdb (deste plugin; nomes completos mcp__plugin_mtg_mtgdb__<ferramenta>, ex.: mcp__plugin_mtg_mtgdb__mtg_card) para todos os fatos sobre cartas. Nunca afirme legalidade, identidade de cor, preço, status de Game Changer ou o que uma carta faz de memória.

NecessidadeFerramenta
Atualização dos dados no iníciomtg_data_status, depois mtg_data_sync se o jogador concordar
Fatos de uma carta, papéis, decisõesmtg_card (response_format: "detailed" adiciona impressões e preços)
Nomes confusos de colagens ou vídeosmtg_resolve_names
Verificação completa do deck (legalidade, bracket, curva, mana, papéis, combos)mtg_deck_check
Testar uma troca antes de sugerirmtg_deck_swap
Instantâneo do deck existentemtg_deck_profile
Comandante na curvamtg_simulate
Estilos de preço, impressões exatas, links de compramtg_price_plan
Carta mais barata que faz o mesmo trabalhomtg_cheaper_alternatives
Compartilhar ou importar em outro lugarmtg_export
O que o jogador possui, o que o deck ainda precisamtg_collection (a skill collection gerencia isso)
Perguntas sobre regrasmtg_rules

Nenhuma ferramenta mtg_* disponível? O servidor de dados do plugin precisa do uv. Diga ao jogador em uma linha: "As ferramentas de deck precisam de um pequeno ajudante chamado uv: instale-o (Windows: winget install astral-sh.uv, macOS: brew install uv, Linux: veja docs.astral.sh/uv) e reinicie o Claude Code." Se o uv estiver instalado, os mesmos comandos rodam como uv run "${CLAUDE_PLUGIN_ROOT}/scripts/mtgdb.py" <comando> --help.

Complementos opcionais (dados EDHREC, links de decks, estimativas de bracket, vídeos, pesquisa na web): siga as regras de complementos na skill mtg-research (references/sources.md, "Optional MCP servers"). Resumindo: fatos de cartas e verificações de deck sempre vêm das ferramentas mtgdb e um complemento ausente significa dizer qual verificação não foi executada. Carregue a skill mtg-research para qualquer coisa além de fatos de cartas.

Conversando com o jogador

Muitos jogadores não são profundos no jargão do Commander. Escreva como um amigo na mesa: casual e curto ("quer turbinar suas cartas?", "legal, aqui está o plano"), nunca rígido ou comercial:

  • Explique um termo em poucas palavras na primeira vez que aparecer: bracket ("escala de poder de 1 a 5 da Wizards; 3 é um deck típico atualizado"), Game Changer ("uma carta que a Wizards lista como excepcionalmente forte; bracket 3 permite até 3"), Rule 0 ("a conversa rápida pré-jogo sobre nível de poder"), na curva ("pode ser conjurada no turno que seu custo permite").
  • Lidere com o que importa para eles (é legal, quão forte, o que mudar), depois os detalhes.
  • Mantenha cada resposta curta; ofereça mais ("quer os números completos?") em vez de despejar todas as estatísticas.
  • Perguntas sempre vêm como opções para escolher (AskUserQuestion), nunca como um formulário para preencher. Coloque a opção recomendada primeiro, rotulada "(Recomendado)", com o motivo na descrição.
  • Termine cada etapa com os próximos passos recomendados: 1 a 3 opções concretas, a recomendada primeiro, como um AskUserQuestion quando o jogador tiver que escolher. Nunca termine com um "mais alguma coisa?" seco.
  • Dinheiro aparece uma vez. Pergunte sobre isso na triagem, mostre o preço na entrega e, caso contrário, só mencione o custo quando ele escolheu "manter barato", definiu um orçamento que o deck agora excede, ou perguntou. Não fique oferecendo cartas mais baratas para alguém que não pediu para economizar.

1. Atualização (a cada novo deck)

Chame mtg_data_status. Diga ao jogador uma linha com as datas em uso, por exemplo "Cartas e banimentos de 3 de novembro · Regras Abrangentes vigentes desde 25 de setembro de 2026 · 53 Game Changers". Se refresh não estiver vazio, pergunte uma vez se deseja sincronizar agora ("Atualizar agora (Recomendado, cerca de um minuto)" / "Usar o que já tem"). Um índice ausente significa sincronizar primeiro.

2. Triagem (pergunte, não presuma)

Siga references/intake.md. Lidere com o caminho rápido: assim que souber o ponto de partida, ofereça os padrões recomendados em uma pergunta; a maioria dos jogadores deve estar no esqueleto em menos de um minuto. Só execute as rodadas completas (três curtas) se ele quiser escolher tudo. Pule qualquer coisa que o jogador já tenha dito. Uma lista colada responde a algumas perguntas: execute mtg_deck_profile primeiro e pergunte apenas o que ela não pode dizer.

Com as rodadas completas, estabeleça no mínimo: ponto de partida, bracket e limites rígidos, o que ele acha divertido, a única pergunta sobre dinheiro e cartas favoritas ou cartas que ele se recusa a jogar. Tema é opcional; nunca presuma um a partir do comandante.

3. Salve à medida que avança

Trabalhe na pasta atual para que nada seja perdido e outros comandos (como /mtg:commander-vault) possam pegar o deck:

  • deck-brief.md: as respostas da triagem (modelo em intake.md), atualizadas sempre que o jogador mudar de ideia.
  • <slug-do-comandante>.txt (ex.: krenko-mob-boss.txt): a lista atual no formato Moxfield, comandante primeiro, reescrita após cada alteração aceita.

4. Esqueleto antes do 99

Proponha, em menos de 15 linhas:

  • o plano em 2 a 3 frases, e o turno em que deve ameaçar vencer neste bracket
  • metas de papéis ajustadas às respostas dele (references/construction.md), com qualquer desvio explicado
  • 3 a 5 cartas-chave com um motivo cada (leia cada uma com mtg_card primeiro)
  • o que o bracket permite e o que você manterá fora (references/brackets.md)

Pergunte "Este é o deck que você quer?": "Sim, construa (Recomendado)" / "Ajustar o plano" / "Mais interação" / "Estilo de vitória diferente". Não preencha a lista até que ele concorde.

5. Preencha por papel, com escolhas onde o gosto importa

Construa em ordem: terrenos e ramp, vantagem de cartas, interação, limpezas de mesa, depois as cartas do plano.

  • Decida você mesmo, e diga isso: básicos, fixing óbvio, ramp básico. Liste o que você escolheu automaticamente para que o jogador possa substituir.
  • Ofereça escolhas para condições de vitória, cartas de tema, slots de cartas favoritas e qualquer slot onde 2 a 4 cartas sejam próximas, opção recomendada primeiro. Para muitos slots de uma vez, use a página de seletor: escreva o JSON dos candidatos e execute uv run "${CLAUDE_SKILL_DIR}/scripts/picker.py" candidates.json --out picker.html (formato no --help). Cada opção carrega seu motivo e evidência; adicione o preço apenas quando dinheiro importar para eles.
  • Cópias seguem a resposta de dinheiro deles:
    • Sem limite, cópias normais (padrão): escolha a melhor carta; não mencione as mais baratas.
    • Manter barato ou um orçamento definido: para cartas que ultrapassem o limite, execute mtg_cheaper_alternatives (com a identidade do comandante e o deck) e ofereça a melhor ao lado da original com a diferença de preço.
    • Chique ("quer turbinar suas cartas?"): impressões especiais (foil, sem borda, showcase, Secret Lair) até o máximo por carta definido por ele, passado como max_card.
  • Antes de finalizar, execute a pesquisa de texto do comandante da mtg-research: qualquer carta que copie, dobre ou escale a habilidade do comandante deve estar no deck ou nomeada com o motivo de estar fora.

6. Loop de verificação (repita até limpar)

  1. mtg_deck_check com o bracket alvo (e orçamento, se ele definiu um). Corrija todos os erros. B1 a B3: remova todo combo de duas cartas listado; B3: também qualquer linha de vitória antecipada. Leia also_requires em combos: eles precisam de peças extras.
  2. mtg_simulate. Se o comandante puder ser conjurado em menos de cerca de metade dos jogos no turno após seu valor de mana, adicione ramp ou terrenos.
  3. Se um complemento oferecer uma estimativa de bracket, compare com ela. Se discordar, corrija ou explique por quê.
  4. Toda alteração sugerida passa por mtg_deck_swap primeiro. Descarte qualquer uma que falhe.

Se uma ferramenta estiver fora do ar, diga qual verificação não foi executada. Nunca apresente uma lista não verificada como verificada.

7. Entrega

  • A lista (comandante primeiro, salva em <slug-do-comandante>.txt) e o plano em 3 a 5 linhas.
  • Resumo do Rule 0 que o jogador pode ler antes de um jogo: bracket, como vence e aproximadamente quando, Game Changers, combos, qualquer coisa que a mesa possa querer saber (stax, turnos extras).
  • Preço, uma vez: mtg_price_plan no estilo dele, como uma linha com os três totais ("mais barato $212 · como listado $340 · chique $1.180") e a data. Adicione to_buy_usd se ele tiver uma coleção. Armazene links por carta apenas se ele perguntar como conseguir as cartas.
  • Uma linha "Não verificado" para qualquer coisa que você não pôde verificar.

Então ofereça a página, quando o deck estiver pronto. Pronto significa: mtg_deck_check passa sem erros no bracket alvo, o comandante está na curva conforme o passo 6 e toda verificação foi executada. Pergunte uma vez, com AskUserQuestion:

  • "Ver como uma página do cofre do comandante (Recomendado, cerca de 2 minutos)": renderize este deck com os scripts da página do cofre, seguindo o references/pages.md da skill commander-vault (scripts em ${CLAUDE_PLUGIN_ROOT}/skills/commander-vault/scripts): site_data.py init com o nome do comandante como título e este bracket, add-deck com notes.json escrito a partir do plano, cartas-chave, pontos fortes, fracos e resumo do Rule 0, depois build_site.py, e então publique (ou entregue a pasta HTML).
  • "Construir um cofre completo em torno dele": mais brackets ou mais comandantes; diga a ele para digitar /mtg:commander-vault nesta pasta e começará a partir deste deck (30 minutos ou mais).
  • "Agora não"

Finalmente, recomende os próximos passos (escolha os 2 ou 3 que se encaixam): exportar para Moxfield ou Archidekt (mtg_export; Moxfield mantém impressões exatas), verificar o que ainda precisa da coleção (mtg_collection have), construir outro bracket do mesmo comandante ou começar um novo deck.

Outras solicitações

  • Revisar um deck: mtg_deck_profile + mtg_deck_check + mtg_simulate, depois relate legalidade, bracket (com motivos), lacunas de papéis, problemas de mana, cartas mais fracas (leia cada uma antes de chamá-la de fraca) e combos presentes ou a uma carta de distância. Recomende próximos passos: atualizar, baratear ou deixar como está.
  • Otimizar ou atualizar: siga references/optimize.md. Cada adição nomeia um corte específico e passa por mtg_deck_swap. Nunca corte uma peça de combo, um habilitador do comandante ou a última carta de um papel sem dizer isso.
  • Baratear: mtg_price_plan (estilo econômico mostra o piso), depois mtg_cheaper_alternatives nas cartas mais caras, testadas com mtg_deck_swap. Relate o novo total e o que o deck perde.
  • Decks temáticos ou de sabor: apenas quando o jogador pedir. Siga references/themes.md.
  • Importar um deck: texto colado no formato Moxfield, Archidekt, Arena ou simples funciona diretamente. Para um link de deck (Moxfield, Archidekt, ...), use um complemento instalado que possa ler aquele site; se nenhum puder, peça ao jogador para colar a exportação do site. Nomes que não resolvem passam por mtg_resolve_names; pergunte sobre os ambíguos.

Individual skills in this repo

This repo contains 2 individual skills — each has its own dedicated page.

Habilidades Relacionadas