family-ids

Assigns stable enum ids to evolution families in national dex order.

2|1|Updated Jun 28, 2026
One-click install
npx skills add https://github.com/lxsmnsyc/overwander --skill family-ids-lxsmnsyc
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: family-ids
Source: https://github.com/lxsmnsyc/overwander/tree/main/.claude/skills/family-ids
Command: npx skills add https://github.com/lxsmnsyc/overwander --skill family-ids-lxsmnsyc

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Family ids in src/data/ids/families.ts are stored in player data (bag_candies.family), so renumbering a family after registration silently moves every player's candy to the wrong stack. This Skill prevents that data corruption by enforcing correct id placement when new evolution families are registered. ## Core Features & Use Cases - Ordered registration: Ensures a new family's id matches the national dex order of its first stage relative to existing families. - Gap reservation: Reserves numbered gaps with comments for species whose families will be registered later between the ones being added now. - Use Case: When adding Chinchou, Natu, Mareep, and Hoppip families at once, reserve ids 86, 89, and 90 for Togepi, Marill, and Sudowoodo so their later registration never shifts existing ids. ## Quick Start When registering a new evolution family in families.ts, place its id in national dex order and reserve gaps for any unregistered families whose first stages fall between the ones being added.

Frequently Asked Questions about family-ids

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I add a new evolution family id in families.ts?▼

Place the new family's id so the enum stays ordered by the national dex number of each family's first stage. Appending at the end is only correct when the new first stage outranks every family already registered.

Why can't family ids be renumbered after registration?▼

Family ids are stored in player data: bag_candies.family holds the number, so renumbering silently moves every player's candy from one stack to another. The ordering is a numbering contract, not a formatting preference.

How do I reserve id gaps for future families?▼

When adding several families at once, look ahead along the dex for species that will start their own families between the ones being added, and leave a numbered gap with a comment naming each. An unused gap costs nothing; a missing gap costs a data migration.

Does a baby stage or late evolution need its own family id?▼

No. A species that joins an already-registered family, such as a baby stage or a late evolution, takes its family's existing id and needs no gap reserved for it.

What happens if I guess the gap reservations wrong?▼

Guessing wrong costs nothing because an unused gap is a number nobody spends. The costly mistake is a missing gap, which forces a data migration to fix player candy stacks.