Commander Deck Vault(リード)
リクエスト: $ARGUMENTS
次を今すぐ読み込む: mtg-research と commander-deckbuilding(ナレッジ)、次に references/theme-rules.md を読む。
プラグインとしてインストールされている場合、/mtg:commander-vault として呼び出される。ブリーフ用のパス: MTGDB=${CLAUDE_PLUGIN_ROOT}/scripts/mtgdb.py(mtgdb MCPツールと同じコマンド。サブエージェントはどちらを使ってもよい)。ページ用スクリプト: PAGES=${CLAUDE_SKILL_DIR}/scripts(references/pages.md を参照)。すべてのスクリプトは uv run で実行する。テーマがあるヴォールト実行では、--themes vault/themed-printings.json(および --reasons vault/<slug>/off-theme.json)を渡す。
現在の状態
test -f vault/plan.md && { echo "再開中。plan.md:"; cat vault/plan.md; } || echo "新規実行。vault/ はありません。"
test -f deck-brief.md && { echo "編集中のデッキがあります。deck-brief.md:"; cat deck-brief.md; ls *.txt 2>/dev/null; } || echo "ここに編集中のデッキはありません。"
再開する場合: 最初の未チェックゲートから続行する。特に指示がない限り、合格したゲートをやり直さない。
現在作業中のデッキから開始する。 リクエストが空、または「このデッキ」と指定されている(もしくはデッキファイルが指定されている)場合、かつ編集中のデッキが存在する場合(deck-brief.md とその <commander-slug>.txt が、このフォルダまたは会話履歴内にデッキ構築スキルによって存在する場合)、ペーストを求めずにそのデッキを中心にヴォールトを構築する:
- ブリーフがリクエストを事前に入力する: 統率者、ブラケット、ハードライン、マネーアンサー、コレクション設定、必須/禁止カード、テーマ。
- 既存のリストは、その統率者のブラケットにおけるデッキとなる:
vault/<slug>/b<N>.txtにコピーし、G2チェックを実行する。チェックが失敗しない限り、再構築しない。 - 質問を1つ行う(AskUserQuestion): 「ヴォールトに何を追加しますか?」 選択肢: 「この統率者の隣接ブラケット(推奨)」 · 「他の統率者も(名前を指定)」 · 「このデッキのページのみ」(最後の選択肢: references/pages.md に従ってレンダリングし、停止。エージェントは不要)。
精度モデル(ゲートが存在する理由)
- 計算可能な事実(リーガリティ、印刷版、価格、ゲームチェンジャー、カウント):
mtgdb.pyのみから取得。エージェントはこれらを別の方法で述べてはならない。 - ソース付きの主張(計画、必採用カード、コンボ、cEDH):
claims.jsonlに記録され、スクリプトによって監査される。 - 独立検証: 作業を書いていない
vault-verifierが、ソースを再度開き、チェックを再実行する。 - リードによる裁定: あなたは、反論または検証不可能な影響の大きい主張をすべて解決する。
- 開示: ページにはデータ日付、実行されたチェック、未検証のまま残ったものが表示される。
インテーク
リクエストはコマンドの後に貼り付けられるか、ファイルとして渡される。通常はリポジトリの vault-request.md テンプレートに従う(例: Brackets: 2 and 3 のような行。括弧内のテキストはヒントであり、回答ではない)(セクション: 何についてか、テーブルとウォレット、あなたのカード、ページに何を載せるか)。以下を解決する: 統率者、ブラケット+デフォルト、予算、価格スタイル、ハードライン、コレクションと所有カードの設定、必須/禁止カード、タブグループ、ページ拡張、ラベルスタイル(デフォルトの中立的判定: Play、Good、Situational、Binder、Bracket 4+。「弱い」とは決して言わない)、テーマ(デフォルトなし。テーマが希望される場合、themes.md のインテーク質問: モード、フランチャイズ、制限、プレミアム)。
ページテンプレートがまだレンダリングできない拡張(代替統率者、コレクションプランナー、プレイヤー間での山の分割)は、vault/ 内のMarkdownファイルとして出力される(alternatives.md、collection-plan.md): すべての配置は、そのデッキの色同一性について mtgdb.py validate を通過し、どの統率者にも合わないカードはその色とともにリストされる。テンプレートのギャップを plan.md に記録する。これらについてのみ質問する(AskUserQuestion、選択式)。残りはデフォルト値を使用する。ユーザーが質問をした場合は、それに答えてビルドを行わない。統率者が6人、またはデッキが18を超える場合: 規模を伝え、確認を取る。
vault/plan.md を書く: 入力、スラッグ、ブラケット行列、デフォルト、コスト見積もり、チェックリスト G0 から G5。
G0 セットアップ(あなた)
mtgdb.py status --remoteを実行し、次に古いものがあればmtgdb.py syncを実行する(カード、タグ、ルーリング、コンボ、ルール。約1分)。その後mtgdb.py selftestを実行する。失敗した場合は、説明されるまで実行を停止する。- 最新のWizardsブラケット/ゲームチェンジャー/禁止告知を読む。それが
commander-deckbuilding/references/brackets.mdよりも新しい場合、変更点をplan.mdに記録し、すべてのブリーフに含める。 - アドオンを、名前を読むのではなく、実際に呼び出してチェックする。
mtg-researchスキルのアドオンルール(references/sources.md、「オプションのMCPサーバー」)に従う: 各機能(EDHRECデータ、デッキリンク、ブラケット推定、トランスクリプト、ウェブ検索)に対して1回の安価な呼び出しを行う。どの機能が応答したかをplan.mdに書き込む。欠落しているものについては、どのチェックが実行されないかを記述する。 - テーマ(モードが
noneの場合はスキップ):vault/theme-spec.jsonを書き、theme-buildを使用してvault/themed-printings.jsonを構築する(theme-rules.md)。strictの場合は、統率者ごとにtheme-poolを実行する。次に、マップを双方向でチェックする:- 誤検出: マッピングされたすべてのSecret Lair印刷版の
contact-sheetを表示する。自分で確認し、テーマから外れたものをすべて削除する。 - ギャップ: すべてのセットにわたって、名前、アート(
art:)、フレーバーテキスト(ft:)でテーマをsearchし、マップと差分を取る。 - 最終的な削除/セットリストを1行でユーザーに表示する。
- 誤検出: マッピングされたすべてのSecret Lair印刷版の
- 新しさのカットオフ
SINCEを、最新の禁止/ゲームチェンジャー更新の日付に設定する。 vault/config.jsonを書く:{"since": SINCE, "budget": <数値またはnull>, "commanders": {"<slug>": 1 または 2}}。プラグインのフックがこれを読み取る:vault/<slug>/b<N>.txtまたはclaims*.jsonlが書き込まれるたびに、フックがそれを検証し、失敗を直接書き手にフィードバックする。フックはあなたのゲートを置き換えるものではなく、不良ファイルを早期に停止させるためのもの。- データの拡張:
mtgdb.py sync prices(実行ごとに1回)を価格帯のベンダー価格のために実行する。ユーザーがコレクションを持っている場合、collection showを実行し、所有カードを優先するかどうかを尋ねる。
G1 リサーチ(vault-researcher、並列、2~3人の統率者ずつ)
ブリーフ: references/briefs.md §1。
ゲート: 各統率者について、mtgdb.py audit-claims vault/<slug>/claims.jsonl --since SINCE が合格すること。research.md にすべてのセクションが含まれていること。
G2 パイロット、次にデッキ(vault-deckbuilder)
まず1人の統率者に対してデフォルトブラケットを構築する(§2)。それに対してG2チェックを実行する。エージェントが何かを誤読した場合はブリーフを修正する。その後、展開する。 ゲート、すべてのデッキについて、あなたが実行する(エージェントの報告を決して信用しないこと):
mtgdb.py --themes vault/themed-printings.json validate <deck> --bracket N [--budget X]mtgdb.py combos <deck>(ローカルのSpellbookデータ。B1~B3: 2枚コンボ禁止)。アドオンが提供する場合はブラケット推定も行う。themed_printing_availableの警告を修正するか、正当化する。- すべての
consider.jsonのペアがswaptestを通過すること。
G3 マージ(vault-merger、タブごとに1つ)
§3。ゲート: merged.json 内のすべてのカードが、そのタブの少なくとも1つの consider.json ファイルに出現すること。カウントが一致すること。すべてのペアが swaptest を通過すること(B3以下の場合は自分で25%のサンプルを再実行し、それ以外はすべて)。
G4 検証(vault-verifier、新しいコンテキスト、3~4人の統率者ごとに1つ)
§4。影響の大きい主張の100%と、残りの20%のサンプルを検証する。すべてのデッキチェックを再実行する。アートを見て、争いのある印刷版をチェックする。
ゲート: mtgdb.py audit-claims vault/<slug>/claims.verified.jsonl --since SINCE --require-verified が合格すること。verification.md 内のすべての refuted(反論)または unverifiable(検証不可能)な項目が、あなたによって解決されていること: 修正、削除、または「未検証」ラベルを表示したまま維持。
G5 ページ(あなた、references/pages.md に従う)
site_data.py init vault/site-data.json(テーマがある場合は--themesを付けて)を実行し、次に各デッキに対してadd-deck(エージェントのdeck-notes.mdをデッキごとのnotes.jsonに凝縮)、ティアタブごとにadd-tier(EDHRECの数値をnで表示)、タブごとにadd-swaps、すべてのclaims.verified.jsonlでadd-claimsを実行する。build_site.py vault/site-data.json --out vault/siteを実行する。すべてのエラーを修正する。- pages.md のステップ4と5に従う: デスクトップと390pxで表示し、
mtgdb.pyに対してランダムに10枚のカードをスポットチェックし、公開する。 - 数行で返信する: 含まれているもの、テーマカウント(テーマ付きヴォールトの場合)、精度サマリー(検証済み/未検証とラベル付けされた主張、データ日付)、受け入れた例外。
ページを手動で構築したり、スタイルを変更したりしないでください。テンプレートにすべてのヴォールトに必要なものが欠けている場合は、後でテンプレートを変更するために plan.md に記録してください。
実行中に変更があった場合
- ユーザーによる方向転換(新しいブラケット焦点、テーマルール、予算): 最初に
plan.mdとconfig.jsonを更新し、次に SendMessage で実行中のすべてのエージェントに正確な変更を伝え、その後、古いルールですでに構築されたものに対してゲートを再度実行する。 - エージェントの停止(セッション再起動、クラッシュ): どのファイルが存在するかを確認し、欠落している作業のみを再開する。小さい場合は自分で行う。実行されていないエージェントを待ってはいけない。
- ツールのダウン: どのチェックが実行されなかったかを示し、影響を受ける項目を未検証とマークする。不足を手動で埋めてはいけない。
規模とコスト(インテーク時に決定し、plan.md に記述する)
おおよそのエージェント時間: リサーチに統率者1人あたり約10~20分、デッキ構築に約10分、検証は構築時間の約半分。12統率者、40デッキのヴォールトは数時間実行された。
- デフォルトの範囲: ユーザーのブラケットに加えて1つ上のブラケット。B5は要請があった場合のみ、かつ実際のcEDHの証拠(EDHTop16エントリー)がある統率者に対してのみ。それ以外の統率者には、「実際のcEDH統率者ではありません」と述べ、誰もプレイしないB5リストは構築しない。
- デフォルトのサイズ: 最大6統率者。それを超える場合は、最初に見積もりを確認するか、複数のヴォールトに分割する。
- 検証者の範囲: 影響の大きい主張の100%だが、統率者あたり40件に制限する。それ以上ある場合は、ページに表示される40件(必採用、コンボ、cEDH)を検証し、残りは未検証とラベル付けする。
- オプションの重いデータ:
prices-sync --history(大規模なダウンロード)は、ページに価格傾向を表示する場合のみ。 - スキップしてもコストがかからないもの: B5のコミュニティパスは不要(トーナメントデータが決定する)。EDHRECデッキ数が約200未満の統率者に対するYouTubeリサーチは不要(コンテンツがほとんどない。データとSpellbookのみ)。
- 決してカットしてはいけないもの: 検証、Spellbookコンボチェック、フック、テーママップチェック、G5レンダリングチェック。
コストとコンテキスト
- エージェントはファイルを書き、短いレポートを返す。ゲートでのみそれらのファイルを読む。
- カードごとのライブScryfall呼び出しは禁止。インデックスがそれをカバーする。
- あなたが行うすべての修正を
plan.mdに記録し、再開時に認識できるようにする。