vega-multi-tv-migration
amazonappdev/devices-agent-skills
Migrate Vega OS (Fire TV) apps to multi-platform React Native monorepo with 70-85% code reuse across Android TV, Apple TV, and other platforms.
What is vega-multi-tv-migration?
This skill guides migration of Amazon Fire TV (Vega OS) applications to a multi-platform React Native monorepo architecture. Use it when converting single-platform TV apps to support multiple platforms like Android TV and Apple TV, or when building new multi-platform TV applications from scratch.
- Analyze existing Vega OS 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 dependency mapping
- Implement Android TV and Apple TV support alongside Vega OS
- Integrate native modules across platforms with proper configuration
- 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- Existing Vega OS (Fire TV) application or understanding of React Native TV development
- Node.js and Yarn package manager
- Familiarity with monorepo concepts and Yarn workspaces
- Basic understanding of Metro bundler configuration
How to use vega-multi-tv-migration
- 1.Use the decision tree to determine your starting phase (Analysis, Implementation, or Platform Support)
- 2.For existing apps: Load PHASE1_ANALYSIS.md to analyze your codebase and classify dependencies
- 3.With analysis complete: Follow PHASE2_IMPLEMENTATION.md to scaffold the monorepo structure and configure VMRP
- 4.Once Vega monorepo is working: Use PHASE3_PLATFORM_SUPPORT.md to add Android TV and Apple TV support
- 5.Reference the provided templates in assets/templates/ for configuration files (package.json, metro.config.js, app.json, etc.)
- 6.Use VALIDATION_CHECKLIST.md to verify each phase before moving to the next
Use cases
- Migrating an existing Fire TV app to also support Android TV and Apple TV platforms
- Building a new TV application that needs to run on multiple platforms from the start
- Converting a single-platform TV codebase into a maintainable monorepo with 70-85% shared code
- Adding native module support to a multi-platform TV application
- Resolving Metro bundler and dependency conflicts in TV app monorepos
- TV app developers migrating from Vega OS to multi-platform
- React Native developers building cross-platform TV applications
- Teams managing Fire TV, Android TV, and Apple TV apps
- Mobile/TV platform engineers setting up monorepo architectures
vega-multi-tv-migration FAQ
The skill targets 70-85% code reuse across platforms through shared business logic, UI components, utilities, and state management in a dedicated shared package.
Only if you have an existing Vega app. If starting from scratch, skip Phase 1 and begin with Phase 2 (Implementation) using the monorepo scaffolding templates.
VMRP (Vega Module Resolution Preset) is the Babel configuration that maps standard React Native library imports to their Vega-specific equivalents, enabling cross-platform compatibility.
Classify dependencies during Phase 1 analysis into Shared (business logic, components), Platform-specific (navigation, video players, DRM), and VMRP-compatible categories, then organize in separate packages.
These are covered in Phase 2 Implementation—check the Metro config template and .yarnrc.yml for dependency deduplication settings.
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
| Priority | Phase | Impact | When to Use |
|---|---|---|---|
| 1 | Analysis | CRITICAL | Starting migration, no existing analysis |
| 2 | Implementation | CRITICAL | Have analysis, need monorepo structure |
| 3 | Platform Support | HIGH | Have working Vega monorepo, adding platforms |
| 4 | Configuration | MEDIUM | Troubleshooting 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-*)
| File | Impact | Description |
|---|---|---|
| PHASE1_ANALYSIS.md | CRITICAL | Codebase analysis, dependency classification, migration planning |
Use when: Starting migration, no existing analysis document
Phase 2: Implementation (impl-*)
| File | Impact | Description |
|---|---|---|
| PHASE2_IMPLEMENTATION.md | CRITICAL | Monorepo scaffolding, code migration, VMRP setup with template references |
Use when: Have analysis, ready to build monorepo structure
Phase 3: Platform Support (platform-*)
| File | Impact | Description |
|---|---|---|
| PHASE3_PLATFORM_SUPPORT.md | HIGH | Android 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 setuproot-tsconfig.json- TypeScript project referencesyarnrc.yml- Dependency deduplication (CRITICAL)shared-package.json+.md- Shared package config with rulesvega-metro.config.js- Vega Metro with monorepo resolutionexpotv-package.json+.md- Expo TV package configexpotv-app.json+.md- Expo TV configuration with pluginsexpotv-metro.config.js- Expo Metro with TV extensions
Problem → Skill Mapping
| Problem | Start With |
|---|---|
| Need to analyze existing Vega app | PHASE1_ANALYSIS.md |
| Have analysis, need monorepo setup | PHASE2_IMPLEMENTATION.md → templates |
| Monorepo exists, adding Android TV | PHASE3_PLATFORM_SUPPORT.md |
| Metro resolution errors | PHASE2_IMPLEMENTATION.md → Metro config |
| Duplicate React versions | PHASE2_IMPLEMENTATION.md → .yarnrc.yml |
| VMRP not mapping imports | PHASE2_IMPLEMENTATION.md → VMRP section |
| TypeScript path errors | PHASE2_IMPLEMENTATION.md → TypeScript config |
| Native module integration | PHASE3_PLATFORM_SUPPORT.md → Native Modules |
| Build configuration issues | PHASE2_IMPLEMENTATION.md → Configuration Files |
| Starting from scratch | PHASE2_IMPLEMENTATION.md (skip Phase 1) |
Workflow
- Use the decision tree above to determine the starting phase
- Load the appropriate reference file for that phase
- Follow Quick Start → Deep Dive pattern in each reference
- Verify at each phase's checkpoint before moving to the next phase
- Use VALIDATION_CHECKLIST.md for comprehensive verification
Attribution
Based on Vega OS multi-platform migration patterns and React Native monorepo best practices.
Related skills
More from amazonappdev/devices-agent-skills and the wider catalog.

clean-code-guard
Review production code against Clean Code, SOLID, DRY, KISS, YAGNI, and LLM-specific failure modes before shipping.

docs-guard
Verify documentation accuracy against source code before publishing.

test-guard
Review AI-generated test code against universal testing rules before it ships.

woo-guard
Review generated or changed WooCommerce code — extensions, payment and shipping integrations, checkout customizations, and order/product logic — before it ships. Best used reactively after an agent writes, edits, or reviews code touching WooCommerce APIs: wc_get_order, wc_get_orders, wc_get_product, WC() cart or session, woocommerce_* hooks, Store API endpoints, payment gateways, order or product meta, HPOS, subscriptions, or bookings. Use on 'review this Woo plugin', 'is this HPOS compatible', or after tasks like 'write a WooCommerce extension', 'add a checkout field', 'hook into the order flow', or 'update stock'. Enforces HPOS-safe order access, CRUD over direct meta, feature-compatibility declarations, server-side checkout validation, money-handling discipline, and hooks over template overrides. DO NOT USE for WordPress code without WooCommerce APIs (use wp-guard), generic code review (use clean-code-guard), test review (use test-guard), or store configuration and admin-screen questions.

wp-guard
Review generated or changed WordPress code — plugins, themes, and blocks — before it ships. Best used reactively after an agent writes, edits, or reviews code touching WordPress APIs: add_action/add_filter, shortcodes, meta boxes, AJAX handlers, REST routes, WP_Query or $wpdb, widgets, or WP-CLI commands. Use on 'review this plugin', 'is this safe to ship', 'make this translatable', 'speed up this query', or after tasks like 'write a plugin' or 'add an endpoint/shortcode/meta box'. Enforces escaping and sanitization, nonces plus capability checks, prepared database queries, core-API-first development, translation-ready strings, and query/caching discipline. DO NOT USE for WooCommerce-specific order, product, or checkout logic (use woo-guard), non-WordPress PHP, generic code quality review (use clean-code-guard), test code review (use test-guard), server or hosting configuration, or conceptual WordPress questions.

angular-component
Create modern Angular v20+ standalone components with signals, OnPush detection, and accessibility built-in.