PluginBench
Skill
Pass
Audit score 90

vega-multi-tv-migration

amazonappdev/devices-agent-skills

Migrate Fire TV apps to multi-platform React Native monorepos supporting Android TV, Apple TV, and Vega OS.

What is vega-multi-tv-migration?

This skill guides migration of Vega OS (Amazon Fire TV) applications to multi-platform React Native monorepos with 70-85% code reuse across Android TV, Apple TV, and other platforms. Use it when converting single-platform TV apps to support multiple platforms or building new multi-platform TV applications from scratch.

  • Analyze existing Vega/Fire TV codebases to identify shared vs. platform-specific code
  • Scaffold multi-platform monorepo structure using Yarn workspaces and TypeScript project references
  • Configure VMRP (Vega Module Resolution Preset) for cross-platform import mapping
  • Implement Android TV and Apple TV platform support alongside Vega OS
  • Integrate native modules and platform-specific dependencies
  • Troubleshoot Metro resolution, dependency duplication, and build configuration issues

How to install vega-multi-tv-migration

npx skills add https://github.com/amazonappdev/devices-agent-skills --skill vega-multi-tv-migration
Prerequisites
  • Existing Vega OS (Fire TV) application or starting a new TV project
  • Node.js and Yarn package manager
  • React Native development environment configured
  • Basic understanding of monorepo patterns and Yarn workspaces
Claude Code
Cursor
Windsurf
Cline

How to use vega-multi-tv-migration

  1. 1.Use the decision tree to determine your starting phase: Analysis (Phase 1), Implementation (Phase 2), or Platform Support (Phase 3)
  2. 2.Load the appropriate reference file (PHASE1_ANALYSIS.md, PHASE2_IMPLEMENTATION.md, or PHASE3_PLATFORM_SUPPORT.md) for your phase
  3. 3.Follow the Quick Start and Deep Dive sections in the reference file
  4. 4.Use provided templates in assets/templates/ to scaffold configuration files
  5. 5.Verify progress at each phase checkpoint before advancing to the next phase
  6. 6.Run the VALIDATION_CHECKLIST.md to confirm all requirements are met

Use cases

Good for
  • Migrating an existing Fire TV app to also support Android TV and Apple TV platforms
  • Building a new TV application that targets multiple platforms from the start
  • Converting a single-platform Vega app to a monorepo structure for code sharing
  • Adding Android TV support to an existing Vega/Fire TV application
  • Resolving Metro bundler and dependency conflicts in multi-platform TV projects
Who it's for
  • TV app developers migrating from single-platform to multi-platform
  • React Native developers building for Amazon Fire TV, Android TV, or Apple TV
  • Teams managing shared code across multiple TV platforms
  • Mobile/TV engineers setting up monorepo structures for TV applications

vega-multi-tv-migration FAQ

When should I start with Phase 1 (Analysis) vs. Phase 2 (Implementation)?

Start with Phase 1 if you have an existing Vega app and need to analyze its codebase for migration. Skip Phase 1 and start with Phase 2 if you're building a new multi-platform TV app from scratch or already have a migration analysis document.

What is VMRP and why is it important?

VMRP (Vega Module Resolution Preset) is a Babel configuration that maps standard React Native imports to Vega-specific equivalents, enabling code reuse across platforms. It's critical for the monorepo to resolve imports correctly across shared and platform-specific packages.

How much code can I reuse across platforms?

This skill targets 70-85% code reuse across Android TV, Apple TV, and Vega OS by separating business logic and UI components (shared) from platform-specific code like navigation, video players, and DRM.

What if I encounter Metro resolution errors or duplicate React versions?

Refer to PHASE2_IMPLEMENTATION.md for Metro configuration and the .yarnrc.yml template for dependency deduplication. These are common issues when setting up monorepos and have documented solutions in the implementation phase.

Can I use this skill if I'm starting a new TV app?

Yes. Skip Phase 1 (Analysis) and begin with Phase 2 (Implementation) to scaffold your monorepo structure. Phase 3 (Platform Support) covers adding Android TV and Apple TV support once your Vega monorepo is working.

Full instructions (SKILL.md)

Source of truth, from amazonappdev/devices-agent-skills.


name: vega-multi-tv-migration description: Migrate Vega OS (Amazon Fire TV) applications to multi-platform React Native monorepo supporting Android TV, Apple TV, and other platforms. Covers analysis, implementation, and native module integration. Use when migrating TV apps to support multiple platforms or building new multi-platform TV applications.

Vega Multi-Platform Migration

Overview

Migrate Vega OS (Fire TV) apps to multi-platform React Native monorepo with 70-85% code reuse across Android TV, Apple TV, and Vega OS.

When to Apply

Use this skill when user mentions:

  • Migrating Vega/Fire TV app to other platforms
  • Building multi-platform TV application
  • Converting single-platform TV app to monorepo
  • Adding Android TV or Apple TV support
  • Sharing code between TV platforms
  • Setting up Yarn workspaces for TV apps

Phase Priority Guide

PriorityPhaseImpactWhen to Use
1AnalysisCRITICALStarting migration, no existing analysis
2ImplementationCRITICALHave analysis, need monorepo structure
3Platform SupportHIGHHave working Vega monorepo, adding platforms
4ConfigurationMEDIUMTroubleshooting build/resolution issues

Quick Decision Tree

User has existing Vega app?
├─ YES → Do they have migration analysis?
│  ├─ NO → Start Phase 1 (Analysis)
│  └─ YES → Is monorepo set up?
│     ├─ NO → Start Phase 2 (Implementation)
│     └─ YES → Start Phase 3 (Platform Support)
└─ NO → Starting from scratch?
   └─ YES → Skip Phase 1, start Phase 2 with new project

Quick Reference

Critical: Project Structure

# Verify monorepo structure exists
ls -la packages/shared packages/vega packages/expotv

# Check Yarn workspaces configured
grep -A5 "workspaces:" package.json

Critical: Dependency Classification

Common patterns for analysis:

  • Shared: Business logic, UI components, utilities, state management
  • Platform-specific: Navigation, video players, DRM, native modules
  • VMRP-compatible: Standard RN libraries that map to Vega equivalents

High: VMRP Configuration

Quick check if VMRP is working:

# Should see @vega-tv/react-native-module-resolver-preset
grep "vmrp" packages/vega/babel.config.js

References

Phase 1: Analysis (analysis-*)

FileImpactDescription
PHASE1_ANALYSIS.mdCRITICALCodebase analysis, dependency classification, migration planning

Use when: Starting migration, no existing analysis document

Phase 2: Implementation (impl-*)

FileImpactDescription
PHASE2_IMPLEMENTATION.mdCRITICALMonorepo scaffolding, code migration, VMRP setup with template references

Use when: Have analysis, ready to build monorepo structure

Phase 3: Platform Support (platform-*)

FileImpactDescription
PHASE3_PLATFORM_SUPPORT.mdHIGHAndroid TV and Apple TV implementation

Use when: Have working Vega monorepo, adding new platforms

Templates

All configuration templates in assets/templates/ with companion .md docs:

  • root-package.json - Yarn workspaces setup
  • root-tsconfig.json - TypeScript project references
  • yarnrc.yml - Dependency deduplication (CRITICAL)
  • shared-package.json + .md - Shared package config with rules
  • vega-metro.config.js - Vega Metro with monorepo resolution
  • expotv-package.json + .md - Expo TV package config
  • expotv-app.json + .md - Expo TV configuration with plugins
  • expotv-metro.config.js - Expo Metro with TV extensions

Problem → Skill Mapping

ProblemStart With
Need to analyze existing Vega appPHASE1_ANALYSIS.md
Have analysis, need monorepo setupPHASE2_IMPLEMENTATION.md → templates
Monorepo exists, adding Android TVPHASE3_PLATFORM_SUPPORT.md
Metro resolution errorsPHASE2_IMPLEMENTATION.md → Metro config
Duplicate React versionsPHASE2_IMPLEMENTATION.md → .yarnrc.yml
VMRP not mapping importsPHASE2_IMPLEMENTATION.md → VMRP section
TypeScript path errorsPHASE2_IMPLEMENTATION.md → TypeScript config
Native module integrationPHASE3_PLATFORM_SUPPORT.md → Native Modules
Build configuration issuesPHASE2_IMPLEMENTATION.md → Configuration Files
Starting from scratchPHASE2_IMPLEMENTATION.md (skip Phase 1)

Workflow

  1. Use the decision tree above to determine the starting phase
  2. Load the appropriate reference file for that phase
  3. Follow Quick Start → Deep Dive pattern in each reference
  4. Verify at each phase's checkpoint before moving to the next phase
  5. Use VALIDATION_CHECKLIST.md for comprehensive verification

Attribution

Based on Vega OS multi-platform migration patterns and React Native monorepo best practices.