Skip to main content
skill CX Codex

vega-multi-tv-migration — Claude Code skill: how to install

Migrates Vega OS Fire TV apps into a multi-platform React Native monorepo. It helps share code across Android TV, Apple TV, and Vega OS.

Install into Claude Code · Skills CLI (Vercel) All methods and platforms ↓
npx skills add AmazonAppDev/devices-agent-skills --skill vega-multi-tv-migration -a claude-code
Open on GitHub

What vega-multi-tv-migration does

This skill structures migration into four phases: analysis, monorepo setup, platform support, and build debugging. Code is split across packages/shared, packages/vega, and packages/expotv. It targets 70-85% shared code. That covers Vega OS, Android TV, and Apple TV.

It provides templates for TypeScript references and Metro bundler setups. It also wires up @vega-tv/react-native-module-resolver-preset (VMRP) inside Vega packages. Without proper deduplication in .yarnrc.yml, builds fail immediately from duplicate React versions. Platform-specific elements like video players and DRM stay isolated from shared UI components.

What it helps with

  • migrate Fire TV applications to Android TV and Apple TV
  • set up a React Native monorepo using Yarn workspaces
  • configure VMRP resolver presets for Vega OS packages
  • isolate native modules such as DRM and video players

Example prompts for the agent

  • Analyze this Vega OS codebase before migrating to Android TV
  • Set up a multi-platform TV monorepo with shared, vega, and expotv packages
  • Resolve Metro bundling errors and configure VMRP for Vega OS

How to install vega-multi-tv-migration

1Skills CLI (Vercel)

npx skills add AmazonAppDev/devices-agent-skills --skill vega-multi-tv-migration -a claude-code

2Manually: put the files in place

~/.claude/skills/vega-multi-tv-migration/SKILL.md

Copy the whole skill folder; for one project use .claude/skills/vega-multi-tv-migration/

Step by step, with commands for each platform: How to install skills in Claude Code: five ways

Questions about vega-multi-tv-migration

How do I install vega-multi-tv-migration in Claude Code?

Run npx skills add AmazonAppDev/devices-agent-skills --skill vega-multi-tv-migration -a claude-code. This installs the skill files into ~/.claude/skills/vega-multi-tv-migration/.

What does vega-multi-tv-migration do?

It provides step-by-step guidance and templates to convert standalone Fire TV apps into a React Native monorepo, targeting 70-85% code reuse across TV platforms.

How is the monorepo structured during migration?

The setup organizes code into three workspace packages: packages/shared for business logic, packages/vega for Vega OS, and packages/expotv for Android TV and Apple TV.

Source text

SKILL.md · MIT
---
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
```bash
# 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:
```bash
# 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](references/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](references/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](references/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/](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

| 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

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](assets/templates/VALIDATION_CHECKLIST.md) for comprehensive verification

## Attribution

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

© AmazonAppDev · MIT · AmazonAppDev/devices-agent-skills

Similar skills

Everything for Frontend and UI →

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor