What problem does it solve?
Cross-platform apps need code that behaves differently per build target (browser, Tauri WebView, Epicenter host), but runtime branching and global file-suffix resolution cause silent misconfiguration and untyped code paths. This Skill guides you through Epicenter's #platform/* seam mechanism so each build resolves the correct implementation leaf at build time.
Core Features & Use Cases
- Declaring a seam: Map a
#platform/* specifier in package.json imports with one entry per condition plus a default, then import the bare specifier with no call-site branching.
- Build and typecheck wiring: Activate conditions in
vite.config.ts (preserving ...defaultClientConditions) and add a tsconfig.<condition>.json per leaf so every variant is typechecked.
- Contract enforcement: Define a shared type in
types.ts and annotate each leaf with : Contract instead of satisfies to keep all leaves in lockstep.
- Use Case: When adding a new
#platform/auth leaf for the epicenter-host condition, use this Skill to wire the import map, Vite conditions, and per-condition tsconfig correctly while avoiding anti-patterns like storage seams or runtime host detection.
Quick Start
Ask the AI to add a new #platform seam for a capability that differs between the browser and Tauri builds, following the Epicenter seam conventions.