Carlomos7/commander-deckbuilding

Construire, réviser, améliorer ou tarifer un deck Commander (EDH) avec le joueur, comme il le souhaite. Demande ce qu'il aime, le bracket de sa table et son budget avant de construire, montre un squelette pour approbation, propose des choix là où le goût compte, vérifie chaque carte avec les outils mtgdb, et recommande les prochaines étapes à chaque étape.

Qu'est-ce que commander-deckbuilding ?

Cette compétence spécialisée vous guide à travers le processus complet de construction d'un deck Commander (EDH) en collaboration avec le joueur. Elle aborde tous les scénarios courants : construire un deck depuis zéro, améliorer un préconstruit, décider quelles cartes couper, déterminer le bracket d'un deck, réduire son coût, partager une liste, ou importer une liste existante. L'approche est centrée sur le joueur : elle recueille d'abord ses préférences (bracket, style de jeu, budget) via des questions à choix multiples, propose un plan de deck (squelette) pour validation avant de remplir la liste, puis remplit le deck par rôles (terrains, ramp, interaction, etc.) en offrant des choix là où le goût compte. Chaque carte est vérifiée systématiquement via les outils de la base de données MTG (mtgdb) pour la légalité, l'identité de couleur, le prix et le statut de Game Changer. La compétence exécute une boucle de vérification complète (légalité, bracket, courbe de mana, combos) avant de remettre le deck finalisé au joueur avec un résumé Rule 0 et une option pour exporter ou visualiser le deck dans une page web dédiée.

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

Installed? Explore more Productivité et collaboration skills: steipete/gemini, steipete/gh-issues, steipete/skill-creator · View all 6 →

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

Construction de deck Commander, avec le joueur

Le joueur possède le deck. Votre travail consiste à découvrir ce qu'il veut, apporter des options et des preuves, et vous assurer que le résultat est légal, dans le bracket et au prix demandé. Ne remettez jamais un deck de 99 cartes terminé qu'il n'a pas façonné.

Outils

Utilisez les outils du serveur MCP mtgdb (de ce plugin ; noms complets mcp__plugin_mtg_mtgdb__<outil>, par ex. mcp__plugin_mtg_mtgdb__mtg_card) pour chaque fait de carte. Ne déterminez jamais la légalité, l'identité de couleur, le prix, le statut de Game Changer ou ce que fait une carte de mémoire.

BesoinOutil
Fraîcheur des données au débutmtg_data_status, puis mtg_data_sync si le joueur est d'accord
Faits, rôles, rulings d'une cartemtg_card (response_format: "detailed" ajoute les éditions et les prix)
Noms désordonnés de collages ou vidéosmtg_resolve_names
Vérification complète du deck (légalité, bracket, courbe, mana, rôles, combos)mtg_deck_check
Tester un échange avant de le suggérermtg_deck_swap
Instantané d'un deck existantmtg_deck_profile
Commandant sur la courbemtg_simulate
Styles de prix, éditions exactes, liens d'achatmtg_price_plan
Carte moins chère faisant le même travailmtg_cheaper_alternatives
Partager ou importer ailleursmtg_export
Ce que le joueur possède, ce qu'il manque encore au deckmtg_collection (la compétence collection le gère)
Questions sur les règlesmtg_rules

Aucun outil mtg_* disponible ? Le serveur de données du plugin nécessite uv. Dites au joueur en une ligne : "Les outils de deck ont besoin d'un petit assistant appelé uv : installez-le (Windows : winget install astral-sh.uv, macOS : brew install uv, Linux : voir docs.astral.sh/uv), puis redémarrez Claude Code." Si uv est installé, les mêmes commandes s'exécutent avec uv run "${CLAUDE_PLUGIN_ROOT}/scripts/mtgdb.py" <commande> --help.

Modules complémentaires optionnels (données EDHREC, liens de deck, estimations de bracket, vidéos, recherche web) : suivez les règles des modules complémentaires dans la compétence mtg-research (references/sources.md, "Optional MCP servers"). En bref : les faits de carte et les vérifications de deck proviennent toujours des outils mtgdb, et un module complémentaire manquant signifie dire quelle vérification n'a pas été effectuée. Chargez la compétence mtg-research pour tout ce qui dépasse les faits de carte.

Parler au joueur

De nombreux joueurs ne sont pas experts en jargon Commander. Écrivez comme un ami à la table : décontracté et court ("tu veux blinguer tes cartes ?", "cool, voilà le plan"), jamais guindé ou en mode vente :

  • Expliquez un terme en quelques mots la première fois qu'il apparaît : bracket ("l'échelle de puissance de Wizards de 1 à 5 ; 3 est un deck amélioré typique"), Game Changer ("une carte que Wizards liste comme anormalement forte ; le bracket 3 en autorise jusqu'à 3"), Rule 0 ("la petite discussion d'avant partie sur le niveau de puissance"), sur la courbe ("jouable au tour où son coût le permet").
  • Commencez par ce qui compte pour eux (est-ce légal, quelle puissance, quoi changer), puis les détails.
  • Gardez chaque réponse courte ; proposez des détails ("tu veux les chiffres complets ?") au lieu de déverser toutes les statistiques.
  • Les questions se présentent toujours sous forme d'options à choisir (AskUserQuestion), jamais de formulaire à remplir. Mettez l'option recommandée en premier, étiquetée "(Recommandé)", avec la raison dans sa description.
  • Terminez chaque étape par des prochaines étapes recommandées : 1 à 3 options concrètes, la recommandée en premier, sous forme d'AskUserQuestion quand le joueur doit choisir. Ne terminez jamais par un simple "autre chose ?".
  • L'argent n'est mentionné qu'une fois. Demandez-le lors de l'accueil, montrez le prix à la remise, et sinon mentionnez le coût seulement s'il a choisi "rester pas cher", s'il a fixé un budget que le deck dépasse maintenant, ou s'il le demande. Ne proposez pas sans cesse des cartes moins chères à quelqu'un qui n'a pas demandé à économiser.

1. Fraîcheur (à chaque nouveau deck)

Appelez mtg_data_status. Dites au joueur une ligne avec les dates utilisées, par exemple "Cartes et bannissements du 3 novembre · Règles complètes en vigueur au 25 septembre 2026 · 53 Game Changers". Si refresh n'est pas vide, demandez une fois s'il faut synchroniser maintenant ("Rafraîchir maintenant (Recommandé, environ une minute)" / "Utiliser ce qui est là"). Un index manquant signifie synchroniser d'abord.

2. Accueil (demandez, ne supposez pas)

Suivez references/intake.md. Commencez par le chemin rapide : une fois que vous connaissez le point de départ, proposez les valeurs recommandées par défaut en une question ; la plupart des joueurs devraient être au squelette en moins d'une minute. Ne passez les tours complets (trois courts) que s'ils veulent tout choisir. Sautez tout ce que le joueur vous a déjà dit. Une liste collée répond à certaines questions : exécutez d'abord mtg_deck_profile et ne demandez que ce qu'il ne peut pas vous dire.

Avec les tours complets, établissez au minimum : point de départ, bracket et limites strictes, ce qu'il trouve amusant, la seule question d'argent, et les cartes fétiches ou celles qu'il refuse de jouer. Le thème est facultatif ; n'en supposez jamais un à partir du commandant.

3. Sauvegarder au fur et à mesure

Travaillez dans le dossier actuel pour que rien ne soit perdu et que d'autres commandes (comme /mtg:commander-vault) puissent récupérer le deck :

  • deck-brief.md : les réponses de l'accueil (modèle dans intake.md), mises à jour à chaque changement d'avis du joueur.
  • <slug-commandant>.txt (par ex. krenko-mob-boss.txt) : la liste actuelle au format Moxfield, commandant en premier, réécrite après chaque changement accepté.

4. Squelette avant les 99 cartes

Proposez, en moins de 15 lignes :

  • le plan en 2 à 3 phrases, et le tour où il devrait menacer de gagner à ce bracket
  • les objectifs de rôles ajustés à ses réponses (references/construction.md), avec toute déviation expliquée
  • 3 à 5 cartes clés avec une raison chacune (lisez chacune avec mtg_card d'abord)
  • ce que le bracket autorise et ce que vous exclurez (references/brackets.md)

Demandez "Est-ce le deck que vous voulez ?" : "Oui, construis-le (Recommandé)" / "Ajuste le plan" / "Plus d'interactions" / "Style de victoire différent". Ne remplissez pas la liste avant son accord.

5. Remplir par rôle, avec des choix là où le goût compte

Construisez dans l'ordre : terrains et ramp, avantage cartes, interactions, nettoyages, puis les cartes du plan.

  • Décidez vous-même, et dites-le : bases, fixing évident, ramp standard. Listez ce que vous avez choisi automatiquement pour que le joueur puisse le modifier.
  • Proposez des choix pour les conditions de victoire, les cartes de thème, les emplacements de cartes fétiches, et tout emplacement où 2 à 4 cartes sont proches, option recommandée en premier. Pour plusieurs emplacements à la fois, utilisez la page de sélection : écrivez le JSON des candidats et exécutez uv run "${CLAUDE_SKILL_DIR}/scripts/picker.py" candidats.json --out picker.html (format dans son --help). Chaque option porte sa raison et ses preuves ; ajoutez le prix seulement quand l'argent compte pour eux.
  • Les copies suivent leur réponse sur l'argent :
    • Pas de limite, copies normales (par défaut) : choisissez la meilleure carte ; ne mentionnez pas de moins chères.
    • Rester pas cher ou un budget fixe : pour les cartes qui le dépassent, exécutez mtg_cheaper_alternatives (avec l'identité du commandant et le deck) et proposez la meilleure à côté de l'originale avec l'écart de prix.
    • Blingué ("tu veux blinguer tes cartes ?") : éditions fancy (foil, sans bordure, showcase, Secret Lair) jusqu'à leur maximum par carte, passé comme max_card.
  • Avant finalisation, exécutez la recherche de texte commandant de mtg-research : toute carte qui copie, double ou augmente la capacité du commandant doit être dans le deck ou nommée avec la raison de son absence.

6. Boucle de vérification (répéter jusqu'à propre)

  1. mtg_deck_check avec le bracket cible (et le budget, s'il est fixé). Corrigez chaque erreur. B1 à B3 : retirez chaque combo à deux cartes qu'il liste ; B3 : retirez aussi toute ligne de jeu menant à une victoire précoce. Lisez also_requires sur les combos : ceux-ci nécessitent des pièces supplémentaires.
  2. mtg_simulate. Si le commandant est jouable dans moins de la moitié des parties au tour suivant son coût en mana, ajoutez du ramp ou des terrains.
  3. Si un module complémentaire propose une estimation de bracket, comparez-la. S'il y a désaccord, corrigez-le ou expliquez pourquoi.
  4. Chaque changement suggéré passe d'abord par mtg_deck_swap. Éliminez ceux qui échouent.

Si un outil est en panne, dites quelle vérification n'a pas été effectuée. Ne présentez jamais une liste non vérifiée comme vérifiée.

7. Remise

  • La liste (commandant en premier, sauvegardée dans <slug-commandant>.txt), et le plan en 3 à 5 lignes.
  • Résumé Rule 0 que le joueur peut lire avant une partie : bracket, comment il gagne et à peu près quand, Game Changers, combos, tout ce que la table pourrait vouloir savoir (stax, tours supplémentaires).
  • Prix, une fois : mtg_price_plan dans leur style, en une ligne avec les trois totaux ("moins cher 212 $ · tel que listé 340 $ · blingué 1 180 $") et la date. Ajoutez to_buy_usd s'ils ont une collection. Stockez les liens par carte seulement s'ils demandent comment obtenir les cartes.
  • Une ligne "Non vérifié" pour tout ce que vous n'avez pas pu vérifier.

Ensuite, proposez la page, quand le deck est prêt. Prêt signifie : mtg_deck_check passe sans erreur au bracket cible, le commandant est sur la courbe selon l'étape 6, et chaque vérification a été effectuée. Demandez une fois, avec AskUserQuestion :

  • "Voir la page commander vault (Recommandé, environ 2 minutes)" : affichez ce deck avec les scripts de la page vault, en suivant le référentiel pages.md de la compétence commander-vault (scripts dans ${CLAUDE_PLUGIN_ROOT}/skills/commander-vault/scripts) : site_data.py init avec le nom du commandant comme titre et ce bracket, add-deck avec notes.json écrit à partir du plan, des cartes clés, des forces, des faiblesses et du résumé Rule 0, puis build_site.py, puis publiez (ou remettez le dossier HTML).
  • "Construire une vault complète autour" : plus de brackets ou plus de commandants ; dites-leur de taper /mtg:commander-vault dans ce dossier et cela commencera à partir de ce deck (30 minutes ou plus).
  • "Pas maintenant"

Enfin, recommandez les prochaines étapes (choisissez les 2 ou 3 qui conviennent) : exportez-le pour Moxfield ou Archidekt (mtg_export ; Moxfield conserve les éditions exactes), vérifiez ce qu'il leur manque encore dans leur collection (mtg_collection have), construisez un autre bracket du même commandant, ou commencez un nouveau deck.

Autres demandes

  • Réviser un deck : mtg_deck_profile + mtg_deck_check + mtg_simulate, puis rapportez la légalité, le bracket (avec raisons), les lacunes de rôles, les problèmes de mana, les cartes les plus faibles (lisez chacune avant de la qualifier de faible), et les combos présents ou à une carte près. Recommandez les prochaines étapes : l'améliorer, le rendre moins cher, ou le laisser tel quel.
  • Optimiser ou améliorer : suivez references/optimize.md. Chaque ajout nomme une coupe spécifique et passe mtg_deck_swap. Ne coupez jamais une pièce de combo, un facilitateur de commandant ou la dernière carte d'un rôle sans le dire.
  • Rendre moins cher : mtg_price_plan (le style budget montre le plancher), puis mtg_cheaper_alternatives sur les cartes les plus chères, testé avec mtg_deck_swap. Rapportez le nouveau total et ce que le deck sacrifie.
  • Decks à thème ou saveur : seulement si le joueur le demande. Suivez references/themes.md.
  • Importer un deck : le texte collé au format Moxfield, Archidekt, Arena ou simple fonctionne directement. Pour un lien de deck (Moxfield, Archidekt...), utilisez un module complémentaire installé qui peut lire ce site ; si aucun ne le peut, demandez au joueur de coller l'export du site. Les noms qui ne se résolvent pas passent par mtg_resolve_names ; interrogez sur les ambigus.

Individual skills in this repo

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

Skills associés