All skills
callstackincubator avatar

/react-native-tv-best-practices

@fa0bad0 official

Reviews React Native TV apps for focus/D-pad navigation, 10-foot UI layout, TV playback/DRM integration, low-memory TV performance, and TV accessibility. Use when building, debugging, or reviewing react-native-tvos, Expo TV, Amazon Vega/Kepler, or React Native web TV targets where the issue depends on remote input, TV focus, TV packaging, TV hardware, or TV playback constraints.

Use this Skill: https://skilld.dev/gh/callstackincubator/agent-skills/react-native-tv-best-practices

This session only. Nothing lands on disk.

referencesdesign-typography.md

≈670 tokens on demand. Your agent reads this file only when SKILL.md points to it.

Typography for TV Displays

Typography that works on phones fails on TV. Distance, panel tech, ambient light, and OS rendering push designs toward bigger type, clearer spacing, and higher contrast.

Quick Reference

  • Start TV body text around 24px and validate from viewing distance
  • Avoid ultra-light/ultra-thin weights — they shimmer on LCDs, bloom on OLEDs

Minimum Font Sizes

Use these as starting points, then validate on the target TV size and distance:

Text Style TV Starting Point Use Case
Body 24px Descriptions, paragraphs
Caption 20px Metadata, labels, tags
Button 22px Interactive elements, CTAs
Heading 32px Section titles, categories
Title 48px Page titles, hero text
Display 64px Large promotional text
const tvTypography = StyleSheet.create({
  body:    { fontSize: 24, lineHeight: 32, fontWeight: '400' },
  button:  { fontSize: 22, lineHeight: 28, fontWeight: '600' },
  caption: { fontSize: 20, lineHeight: 26, fontWeight: '400' },
  heading: { fontSize: 32, lineHeight: 40, fontWeight: '600' },
  title:   { fontSize: 48, lineHeight: 56, fontWeight: '700' },
});

Line Spacing and Letter Spacing

Context Line Height Letter Spacing Best For
Content (paragraphs) 1.4x 0.4px Long-form reading
Navigation (menus) 1.2x 0.5px Menu items, scanning
Display (large text) 1.15x -0.4px to -0.8px Hero text, titles

Negative tracking for large titles: huge sizes amplify default spacing; tightening avoids airy gaps.

Text Rendering on TV

TVs expose edge cases with subpixel rendering:

  • Text over images: Add subtle text shadow to separate from backgrounds
    const readableOnImage = {
      color: '#FFF',
      textShadowColor: 'rgba(0,0,0,0.35)',
      textShadowOffset: { width: 0, height: 1 },
      textShadowRadius: 2,
    };
  • Subtitles/over-video: Combine shadow + stroke at low opacity (not heavy blur)
  • Safe zone: Keep text inside safe zone — overscan clips labels at edges
  • Tile titles: numberOfLines={2} + ellipsizeMode="tail" — avoid wrapping issues
  • Long localized titles: Gentle marquee only on focus, never by default

Related Skills

Source: SKILL.md on GitHub

No alerts1mo3 checks · Risk SAFE
  • Gen Agent Trust Hub1mo

    This skill provides comprehensive documentation and best practices for developing React Native applications for TV platforms. It contains technical guidelines for focus management, performance, and video playback without any malicious patterns, obfuscation, or unsafe code execution.

  • Socket1mo

    No alerts

  • Snyk1mo

    Risk: LOW · No issues

Signed by skilld at fa0bad0. This ties the file your Agent reads to that commit on GitHub. It does not review the instructions.

Last checked against GitHub 2 weeks ago.

Activeupdated 2 months ago

README badge

README badge for callstackincubator/agent-skills/react-native-tv-best-practices