← ClaudeAtlas

migrate-browse-viewlisted

Migrate one dictionary browse view (any `?view=` surface) onto the shared `<dictionary-trick-card>` partial. Use when a task adds a new browse view or moves a legacy view off inline markup. Preserves the card-uniformity contract (mechanically tested across all browse views).
davidleberknight/footbag-platform · ★ 0 · Testing & QA · score 62
Install: claude install-skill davidleberknight/footbag-platform
# Migrate Browse View ## When to use this skill Use this skill (not general editing) when a task does any of the following: - Adds a new browse view at `/freestyle/tricks?view={new}` - Migrates an existing browse view off legacy markup (table, spreadsheet, inline `<li>` rows) onto the shared `<dictionary-trick-card>` partial - Renames a legacy view (e.g., the historical `?view=sets → ?view=component` precedent) - Adds a new grouping wrapper that consumes existing `DictionaryTrickCard[]` data - Changes within-group ordering rules for any browse view Do **not** use this skill to: - Modify the `<dictionary-trick-card>` partial itself (that's a card-spec change; route through `extend-service-contract` + `add-public-page`) - Touch ontology, ADD math, parser, alias, or schema (forbidden across every browse-view slice) - Add new modifier-link types or new symbolic-grammar groups (curator-track work) ## The pattern this skill encodes Every browse view shipped to date (the `allowedViews` set in `src/services/freestyleService.ts`) follows the same six-step recipe. The contract is mechanically tested by `freestyle.dictionary-trick-card.routes.test.ts`: any view that fails to render `dict-card-stack` fails the regression guard. ``` Step 1 → READ existing patterns (no writing yet) Step 2 → SERVICE: extend group type + builder Step 3 → TEMPLATE: replace markup with partial Step 4 → CSS: minimal additions (no card-internal CSS) Step 5 → TESTS: per-slice integration test Step