What problem does it solve?
Metabase data-app bundles cannot use react-router or any standard router library because of sandbox constraints, leaving developers without a way to build multi-page embedded apps. This Skill patches an existing data-app project to use the host-provided DataAppRouter, DataAppLink, and useDataAppLocation primitives for URL-driven page rendering.
Core Features & Use Cases
- Router-free navigation: Implements multi-page routing with DataAppRouter, DataAppLink, and useDataAppLocation from @metabase/embedding-sdk-react/data-app, with no react-router dependency.
- Path-based rendering patterns: Provides conditional rendering, programmatic navigation via navigate(), and manual path-parameter parsing with regex matching.
- Default tab guarantee: Ensures the base path always renders the leftmost tab's content instead of a blank page.
- Use Case: A developer has a scaffolded Metabase data-app showing a single dashboard and wants separate Overview, Customers, and Reports pages with shareable deep links like /customers/42 that survive reloads in both dev preview and production iframes.
Quick Start
Add multi-page routing to my existing Metabase data-app project using DataAppRouter with an overview page and a customer detail page.