PluginBench
Skill
Pass
Audit score 90

vega-multi-tv-migration

amazonappdev/devices-agent-skills

How to install vega-multi-tv-migration

npx skills add https://github.com/amazonappdev/devices-agent-skills --skill vega-multi-tv-migration
Claude Code
Cursor
Windsurf
Cline
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.