Skip to content

Add ios-sticky-header skill#65

Open
ide wants to merge 1 commit into
mainfrom
@ide/stickyheader
Open

Add ios-sticky-header skill#65
ide wants to merge 1 commit into
mainfrom
@ide/stickyheader

Conversation

@ide

@ide ide commented May 25, 2026

Copy link
Copy Markdown
Member

Why

I was working on a demo app and wanted to implement a sticky header on iOS that tracks the native title element. The LLM didn't generate a working solution right away. This skill is to make it much easier to generate code for sticky headers with Expo Router.

See the view with the 38 / 38 counter and progress bar for what I mean:

header.movie.mp4

How

I asked the LLM to make the skill and then I read it over. For stress-testing I used three independent agents (no project context) implementing three different overlays, and all produced code that satisfies the invariants the skill aims to teach.

@ide ide requested a review from Ubax May 25, 2026 00:48
Documents the pattern for floating an overlay (progress pill, filter chips, segmented control, search field) under an iOS large-title nav bar in Expo Router: render the overlay as an absolutely-positioned sibling of a `ScrollView` that's a direct child of the screen, and drive `top = max(insets.top + 44, -scrollY)` from a Reanimated `useAnimatedScrollHandler` so the overlay tracks the bar's bottom through its iOS-native shrink animation. Calls out the load-bearing gotcha (wrapping the `ScrollView` in another `<View>` breaks the `UINavigationController` linkage and the title stops collapsing on scroll) plus the dangerous `Stack.Screen` options to leave alone. Stress-tested with three independent agents (no project context) implementing three different overlays — all produced code that satisfies the invariants the skill claims to teach.
@ide ide force-pushed the @ide/stickyheader branch from a244722 to 4cf7e50 Compare June 16, 2026 06:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant