diff --git a/.claude/skills/onboarding-videos/SKILL.md b/.claude/skills/onboarding-videos/SKILL.md new file mode 100644 index 0000000000..bc4715d8ca --- /dev/null +++ b/.claude/skills/onboarding-videos/SKILL.md @@ -0,0 +1,123 @@ +--- +name: onboarding-videos +description: Add, replace, and optimize the looping demo videos in the onboarding "welcome" bento grid (packages/ui/src/features/onboarding). Covers the ffmpeg compression workflow (the scripts/optimize-onboarding-videos.mjs wrapper), the faststart + right-size best practices that keep playback smooth, the first-frame poster convention, and how to wire a new clip into WelcomeScreen. Use when onboarding demo clips feel laggy, when a clip is being added/swapped/re-recorded, or when posters and videos drift out of sync. +allowed-tools: Bash(node scripts/optimize-onboarding-videos.mjs:*), Bash(pnpm optimize:onboarding-videos:*), Bash(ffmpeg:*), Bash(ffprobe:*), Bash(npx biome check:*), Bash(pnpm --filter @posthog/ui typecheck:*) +--- + +# Onboarding bento demo videos + +The first onboarding step (`WelcomeScreen`) shows a bento grid of feature cards. +A card with a `media` entry plays a short, muted, looping screen recording; cards +without one show a static placeholder. The featured (large, top-left) card is the +only one that plays at a time — hover just moves the highlight. + +| Thing | Where | +| --- | --- | +| Clips + posters | `packages/ui/src/features/onboarding/assets/-.{mp4,jpg}` | +| Wiring (`MEDIA` map, `startTime`) | `packages/ui/src/features/onboarding/components/WelcomeScreen.tsx` | +| `