بنقرة واحدة
add-set
Add a new TCG Pocket expansion set to the project. Use when asked to add a new set, expansion, or pack.
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
Add a new TCG Pocket expansion set to the project. Use when asked to add a new set, expansion, or pack.
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
| name | add-set |
| description | Add a new TCG Pocket expansion set to the project. Use when asked to add a new set, expansion, or pack. |
| argument-hint | ["set-id"] |
| allowed-tools | Read, Write, Edit, Glob, Grep |
Start by asking the user for the following details (ask all in one message):
Paldean WondersB2a (used in URLs and card IDs)frontend/src/lib/CardsDB.ts (read the file to determine this automatically and suggest it)paldeanwonderspack. If there are multiple packs, ask for all of them.Paldean Wonders#78b9c0. Rule: saturation 37.5%, value 75%, hue distance ≥ 3.33% (12 steps) from all existing packs. Read CardsDB.ts to find existing colors and suggest a valid new one.✵ (1-shiny) and ✵✵ (2-shiny) cards, e.g. ✵: 87–110, ✵✵: 111–115. These are the card index numbers within the set.Once you have all the details, perform all of the following steps:
frontend/src/types/index.tsAdd the new set ID to the front of the expansionIds array:
export const expansionIds = ['<NEW_ID>', 'B2a', ...] as const
frontend/src/lib/CardsDB.tsAdd the expansion entry to the expansions array, after the previous set and before the promo sets comment (// Pack colors should have saturation ...):
{
name: '<nameLowercase>',
id: '<ID>',
internalId: <internalId>,
packs: [{ name: '<packname>', color: '<color>' }],
tradeable: <true|false>,
openable: <true|false>,
packStructure: {
containsShinies: <true|false>,
containsBabies: <true|false>,
containsLinkedCards: <true|false>,
cardsPerPack: <number>,
},
},
All four packStructure fields are required by the PackStructure type in frontend/src/types/index.ts. There is no missions field on Expansion.
scripts/scraper.ts3a. Add each pack name to the packs array (before 'allcards'):
'<packname>',
3b. Add the set to rarityOverrides with the shiny ranges provided. rarityOverrides is typed Record<ExpansionId, ...>, so it must have an entry for the new ID or the build fails. If the set contains shinies:
<ID>: [
{ rarity: '✵', start: <shiny1Start>, end: <shiny1End> },
{ rarity: '✵✵', start: <shiny2Start>, end: <shiny2End> },
],
If no shinies (or ranges unknown), use an empty array: <ID>: []
Place it in the correct alphabetical/sequential position among the other set IDs.
sets.json (all 6 locales)Files: frontend/public/locales/{en-US,es-ES,it-IT,pt-BR,de-DE,fr-FR}/common/sets.json
For en-US, add after the previous set's entry:
"<nameLowercase>": "<Display Name>",
And in the ID-suffixed section, add after the previous set's suffixed entry:
"<nameLowercase>(<idLower>)": "<Display Name> (<ID>)",
For all other locales, append at the end (before the closing }):
"<nameLowercase>": "<Display Name>",
"<nameLowercase>(<idLower>)": "<Display Name> (<ID>)"
Use the English display name as a placeholder for non-English locales.
packs.json (all 6 locales)Files: frontend/public/locales/{en-US,es-ES,it-IT,pt-BR,de-DE,fr-FR}/common/packs.json
For en-US, add before "everypack":
"<packname>": "<Pack Display Name>",
For all other locales, append at the end (before the closing }):
"<packname>": "<Pack Display Name>"
<nameLowercase> = display name lowercased with all spaces removed, e.g. Paldean Wonders → paldeanwonders<idLower> = set ID lowercased, e.g. B2a → b2aPlace the set artwork image at:
frontend/public/images/sets/en-US/<ID>.webp
This is a manually sourced asset — the scraper only downloads individual card images, not set banners. Remind the user to add this file manually after obtaining it from official sources.
internalId must never change after a set is released — the DB encoding depends on it.rarityOverrides in scripts/scraper.ts once the set's card list is confirmed.