Skeleton screens.
Automatically generated.
boneyardsnapshots your real UI and captures a flat list of skeleton “bones” — positioned, sized rectangles that mirror the page exactly.
No manual measurement. No hand-tuned placeholders. Wrap your component in <Skeleton> and get pixel-perfect skeleton screens that stay in sync with your actual layout.
Wrap your component
import { Skeleton } from 'boneyard-js/react' <Skeleton name="blog-card" loading={isLoading}> {data && <BlogCard data={data} />} </Skeleton>
Run the CLI once to generate bones
Auto-detects your running dev server. Visits at 375px, 768px, 1280px. Writes responsive JSON to src/bones/ automatically.
Import the registry once
Add this to your app entry (e.g. layout.tsx). Every <Skeleton> auto-resolves its bones by name.
The skeleton is extracted from your real rendered content. Run npx boneyard-js build once to generate bones JSON from your live DOM. Import the registry once and every <Skeleton> auto-resolves — pixel-perfect, zero layout shift.