From bf44be3de7b39362717f47104ed7febe3da5b0f2 Mon Sep 17 00:00:00 2001 From: Jesse Box Date: Wed, 9 Sep 2026 14:25:32 +0200 Subject: [PATCH 1/6] feat(skills): Add migrate-breadcrumb-list skill Encodes the recipe for moving a page off the legacy `sentry/components/breadcrumbs` component onto `@sentry/scraps/breadcrumbList`, splitting one flat crumb array across the TopBar `breadcrumbs` and `title` slots. Five merged migrations established the pattern, but it only existed in those diffs, so each page re-derived it and re-hit the same traps. Routes depth into three references: which shape a call site is and what blocks it, building a title whose name is richer than a string, and the spec mounting a migrated page needs. Guards four regressions that produce neither a type error nor a failing test: a legacy crumb spread into a typed item silently drops page filters, a badge in `leadingGraphic` without `disableLink` puts a focusable link inside an aria-hidden subtree, a surviving `Layout.Title` or raw `

` double-renders the page name, and a wrapper migrated in place nests the breadcrumbs slot inside the page heading. Validated by running the skill cold against `releaseHeader.tsx` in an isolated worktree, which surfaced the `disableLink` accessibility trap and a checklist grep that flagged its own recommended fix. Records the four call sites that intentionally keep the legacy component, since three need a `