brainstorming
brainstorming
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or planning anything new, in software or out of it (a talk, a business, a renovation).
rn-tv-ui-best-practicesReact Native TV UI best practices for tvOS, Android TV, Fire TV, and Vega OS (covers react-native-tvos and @amazon-devices/react-native-kepler). Use when reviewing or building TV UI — focus management (TVFocusGuideView, hasTVPreferredFocus, trapFocus, FocusManager, Navigable, useTVEventHandler), D-pad / RCU navigation, swimlanes, hero banners, drawers, tabs…
Independent GitHub snapshot · Automated classification · Original documentation governs
This skill helps an agent review or build React Native TV UI across tvOS, Android TV, Fire TV, and Vega OS. Use it when the user asks to audit a TV app, fix focus or D-pad issues, or build common TV components (swimlanes, hero banners, drawers, tabs, modals, focus traps, search/auth flows). The references cover focus management, layout patterns, typography & contrast, input handling, and Vega-specific gotchas — pick the relevant one rather than reading them all. Anything that requires a TV at viewing distance (overscan, contrast under HDR, animation feel, 10-foot legibility) the agent flags for human verification rather than performing.
TV UX differs from mobile in ways the agent should keep in mind across every reference. Users sit ~10ft from the screen with a 9-button remote — no touch, no gestures. Focus moves along directional axes; navigation is linear. Type that's legible at phone distance is invisible at couch distance. Pure black/white looks sharp on a phone but blooms on HDR TVs. Animations carry meaning (signalling focus or direction) rather than decorating a touch. The reference files apply these constraints to specific surfaces — focus, layout, typography, input — so the agent doesn't need to reason about TV-vs-mobile differences each time.
package.json will list react-native-tvos (→ tvOS + Android TV) or @amazon-devices/react-native-kepler (→ Vega). A monorepo may have both, scoped per package.Platform.isTV and no TV runtime in deps → skill doesn't apply.For Vega, defer to the live Amazon docs for API specifics. This skill only covers the non-obvious cross-runtime gotchas — see vega-specifics.md.
node references/scripts/audit.js src runs grep-style checks across all four sections (focus, input, layout, typography). Section selectable via --only / --skip. Zero deps, exits 1 on findings.
It's a helper, not a full review. It only catches statically detectable patterns — most rules in the reference files require judgement, hardware, or human review and won't be caught regardless of how clean the audit runs. Read each match in context.
| Topic | File |
|---|---|
| Focus & D-pad navigation | navigation-and-focus.md |
| Vega gotchas + links to Amazon docs | vega-specifics.md |
| Drawers, tabs, modals, swimlanes, hero, safe zones, transition motion | layout-patterns.md |
| Font sizes, contrast, HDR, ambient light | typography-and-color.md |
Remote model, TextInput, search, login, voice, QR auth | input-handling.md |
Focus / navigation
├─ Pick the right mechanism → navigation-and-focus.md
├─ Initial focus wrong → navigation-and-focus.md
├─ Focus jumps unexpectedly → navigation-and-focus.md
├─ Modal/overlay leaks focus → navigation-and-focus.md
├─ Back button doesn't restore focus → navigation-and-focus.md
├─ Move focus programmatically → navigation-and-focus.md
└─ Cross-platform differences → vega-specifics.md + navigation-and-focus.md
Vega project? → vega-specifics.md FIRST.
Building screens
├─ Drawer / tabs / modals → layout-patterns.md
├─ Cards / rows / swimlanes / hero → layout-patterns.md
└─ Safe zones / aspect ratios → layout-patterns.md
Visual design
├─ Typography → typography-and-color.md
├─ Color / contrast → typography-and-color.md
├─ HDR / ambient light → typography-and-color.md
├─ Focus / press animation → navigation-and-focus.md (Motion and feedback)
└─ Drawer / modal / page transitions → layout-patterns.md (Transition motion)
Input
├─ Remote model / button vocabulary → input-handling.md (Remote interaction model)
├─ Reduce typing → input-handling.md
├─ Pick keyboardType → input-handling.md
├─ Voice → input-handling.md
└─ QR / companion-app pattern → input-handling.md
When showing code or recommending a fix:
react-native-tvos or Vega via @amazon-devices/react-native-kepler).Some checks require real hardware at viewing distance: overscan crop, focus-indicator visibility under ambient light, animation feel, contrast under HDR, 10-foot legibility. The agent cannot verify these.
When finishing a review or build, surface a checklist of human-verification items to the user. Each reference file ends with a Hand off to the human reviewer section; pull from those. Frame items as outstanding work, not completed checks.
Based on The Ultimate Guide to React Native TV Development, co-authored by Amazon and Callstack — https://www.callstack.com/ebooks/the-ultimate-guide-to-react-native-tv-development.
Authors: Giovanni Laquidara (@giolaq), Karol Latusek (@Zahoq), Anisha Malde (@anishamalde), Michal Pierzchala (@thymikee).