К основному содержанию
скилл Claude Code CX Codex Cursor GitHub Copilot

argent-tv-interact — скилл для Claude Code: обзор и установка

Управляет ТВ-приложениями на Apple TV, Android TV и Fire TV через argent. Позволяет проверять фокус элементов, нажимать кнопки пульта D-pad, вводить текст и снимать скриншоты.

Установить в Claude Code · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add software-mansion/argent --skill argent-tv-interact -a claude-code
Открыть на GitHub

Что делает argent-tv-interact

ТВ-платформы управляются фокусом, а не экранными жестами. Скилл запрещает тапы по координатам и опирается на связку вызовов describe, tv-remote и keyboard. Сначала describe находит активный фокус и список доступных элементов. Затем tv-remote передаёт серию нажатий D-pad к цели, например {"button":["down","right","select"]}. После перехода фокус считывается повторно.

Инструмент работает с Apple TV (tvOS), Android TV (leanback) и Amazon Fire TV (Vega). На симуляторе Apple TV клавиши громкости и медиа-транспорта игнорируются системным стеком. В Android TV интерфейс react-native-tvos иногда возвращает ноль элементов в дереве доступности, поэтому навигацию приходится вести вслепую со скриншотами. Для Fire TV поддерживается отладка среды выполнения Hermes: скилл считывает логи консоли и проверяет сеть при запущенном Metro на порту 8081.

Передавать идентификатор смартфона или планшета в команды бесполезно: tv-remote сразу вернёт ошибку несовместимости с мобильными средами. Для работы нужен UDID симулятора tvOS или серийный номер эмулятора из list-devices.

Какие задачи решает

  • перемещать фокус интерфейса клавишами D-pad в tvOS и Android TV
  • считывать активные элементы и координаты плиток через describe
  • снимать скриншоты экранов ТВ-эмуляторов для сверки вёрстки
  • отлаживать выполнение JS и логи консоли на Fire TV Vega
  • вводить текст в поля ввода с помощью команды keyboard

Примеры запросов агенту

  • Определи фокус на экране Apple TV через `describe` и нажми вправо
  • Запусти приложение com.example.tv на Android TV и сделай скриншот
  • Перейди к поиску на Fire TV с помощью `tv-remote` и набери текст

Как установить argent-tv-interact

1Через Skills CLI (Vercel)

npx skills add software-mansion/argent --skill argent-tv-interact -a claude-code

2Вручную: положить файлы

~/.claude/skills/argent-tv-interact/SKILL.md

Папка скилла целиком; для одного проекта — .claude/skills/argent-tv-interact/

Из того же набора15

Весь набор →
argent-android-emulator-setup software-mansion Скилл подключает Android-эмулятор через инструменты argent MCP. Нужен перед работой с интерфейсом Android или запуском эмулятора. Claude Code CX Codex Cursor +1 26 500установок argent-react-native-optimization software-mansion Скилл выявляет узкие места в React Native через замеры и очищает код от механических проблем. Запускается при лагах интерфейса, долгом старте или частых лишних рендерах. Claude Code CX Codex Cursor +1 26 400установок argent-react-native-profiler software-mansion Профилирует React Native-приложение на Hermes: показывает ререндеры, загрузку CPU и горячие места. Нужен для проверки оптимизаций. Claude Code CX Codex Cursor +1 26 300установок argent-react-native-app-workflow software-mansion Задаёт пошаговый процесс сборки, запуска и отладки React Native в симуляторе iOS или эмуляторе Android. Помогает поднять Metro и разобрать сбои билда. Claude Code CX Codex Cursor +1 26 300установок argent-ios-simulator-setup software-mansion Скилл для подключения к iOS-симулятору через MCP-инструменты argent. Используй перед любой работой с симулятором: загрузка устройства, получение UDID, взаимодействие с интерфейсом. Claude Code CX Codex Cursor +1 26 300установок argent-native-profiler software-mansion Профилирует нативную производительность на iOS и Android, помогает находить нагрузку на CPU и зависания интерфейса. Утечки памяти анализирует на iOS. Claude Code CX Codex Cursor +1 26 200установок argent-metro-debugger software-mansion Скилл подключает отладчик к JS-рантайму через CDP: инспектируете React-компоненты, читаете логи консоли, вычисляете код прямо в процессе. Работает с React Native (iOS, Android, Vega) и Chromium-приложениями (Electron, браузеры). Claude Code CX Codex Cursor +1 26 200установок argent-test-ui-flow software-mansion Скилл для автономного тестирования интерфейсов iOS и Android в Claude Code. Прогоняет цикл из кликов, скриншотов и проверок через MCP-инструменты argent. Claude Code CX Codex Cursor +1 26 200установок

Похожие

build-zoom-contact-center-app официальный anthropics Справочный скилл по архитектуре Zoom Contact Center. Помогает настроить интеграцию для клиента Zoom, веб-виджетов и мобильных SDK на iOS и Android. Claude Code CX Codex Cursor +1 2 100установок build-zoom-virtual-agent официальный anthropics Справочный скилл для разработки виртуального агента Zoom: веб-встраивание, мобильные обёртки, синхронизация базы знаний и жизненный цикл чата. Используй после маршрутизации в workflow виртуального агента. Claude Code CX Codex Cursor +1 2 100установок build-zoom-meeting-sdk-app официальный anthropics Инструкции и шаблоны для интеграции Zoom Meeting SDK в веб и нативные клиенты. Помогает настроить JWT-подписи и устранить баги вёрстки. Claude Code CX Codex Cursor +1 2 100установок eas-app-stores expo Скилл для сборки и отправки iOS и Android приложений в TestFlight, App Store или Google Play. Работает с Expo, React Native и нативными приложениями — помогает настроить eas.json, подписание, версионирование и метаданные магазинов. Claude Code CX Codex Cursor +1 22 900установок react-native-testing callstack Скилл для написания и проверки тестов компонентов React Native с помощью Testing Library. Покрывает запросы, взаимодействия, асинхронные паттерны и работает с версиями v13 (React 18) и v14 (React 19+). Claude Code CX Codex Cursor +1 5 300установок expo-project-structure expo Скилл задаёт эталонную структуру папок для нового проекта на Expo Router. Помогает разложить экраны, серверные маршруты и компоненты без мусора в корне. Claude Code CX Codex Cursor +1 21 700установок vercel-react-native-skills vercel Набор правил по React Native и Expo для ИИ-агента: списки, анимации, навигация. Пригодится, когда агент правит мобильный код и надо, чтобы он делал это одинаково. Claude Code CX Codex Cursor +1 253 900установок animate-expo emilkowalski Создаёт мобильные анимации для React Native и Expo на базе Reanimated и Gesture Handler. Помогает избежать просадок кадров на реальных устройствах. Claude Code CX Codex Cursor +1 135 900установок

Вопросы о argent-tv-interact

Как установить argent-tv-interact в Claude Code?

Выполните команду npx skills add software-mansion/argent --skill argent-tv-interact -a claude-code в терминале.

Что делает скилл argent-tv-interact?

Он позволяет агенту управлять ТВ-приложениями на Apple TV, Android TV и Fire TV: находить активный фокус, отправлять команды пульта D-pad, набирать текст и делать скриншоты.

Почему на Apple TV не работают клавиши громкости?

Стек HID симулятора tvOS отклоняет клавиши управления громкостью и воспроизведением. Эти кнопки поддерживаются только на Android TV и Fire TV.

Исходный текст

SKILL.md · Apache-2.0
---
name: argent-tv-interact
description: Control and inspect TV apps via argent, Apple TV (tvOS), Android TV (leanback), and Amazon Fire TV (Vega). Boot the target, read focus, navigate with the D-pad remote, type, screenshot, and on Vega debug the JS runtime (evaluate, console logs, network inspector). Use when a task targets a TV (runtimeKind "tv", or platform "vega"), or mentions Apple TV / tvOS / Android TV / leanback / Vega / Fire TV / VVD.
---

# Argent TV (Apple TV + Android TV + Fire TV)

## Critical

- A TV is **focus-driven, not touch-driven.** Drive every interaction with `describe` + `tv-remote` + `keyboard`; never use `gesture-*` / coordinate taps; they don't apply on any TV platform.
- **Always `describe` before navigating** to find the live cursor and your target; never guess focus from a screenshot. The cursor is the focused element; on **Vega** the toolkit often leaves `focused` false and marks the highlighted item `[selected]`, so treat `[selected]` as the cursor when nothing reports `[focused]`.
- Pass the `udid` from `list-devices`: an Apple TV simulator UDID or an Android TV / Vega `serial`. Dispatch is automatic from the id; the same tools drive all three.

## The navigation loop

1. `describe`: find the cursor and your target (returns the focused element + all focusable ones, not a tap tree).
2. `tv-remote`: move focus toward the target. Prefer **one** call with a path ending in `select`, e.g. `{button:["down","right","select"]}`; count rows/columns from the frames to build the path.
3. `describe` again to confirm. On a miss, repeat.

## Tools

- `describe {udid}`: focus view: the focused / `[selected]` element + focusable elements with labels and normalized frames. Call before and after navigating. Empty tree → see the per-platform notes.
- `tv-remote {udid, button}`: D-pad / remote. `button` is one key **or a whole path** (run in one call). Keys: `up`/`down`/`left`/`right`, `select`, `back`, `menu`, `home`, `playPause`, plus media keys `rewind`/`fastForward`/`next`/`previous`/`volumeUp`/`volumeDown`/`mute`. Single: `{button:"down"}`; repeat: `{button:"down", repeat:3}`; path: `{button:["up","right","select"]}`.
- `keyboard {udid, text}`: type into the focused field (focus it with `tv-remote` first). One call carries `text` or `key`, never both; to type and then press a key, send two `keyboard` steps in one `run-sequence`. Named `key` presses (e.g. `{key:"enter"}`) work on Vega; on Apple TV / Android TV move focus with `tv-remote` instead.
- `launch-app` / `restart-app` / `reinstall-app {udid, bundleId}`: `bundleId` from the app manifest. Vega `reinstall-app` takes `appPath` = a `.vpkg`.
- `screenshot {udid, scale?}`: Apple TV via `xcrun simctl io` (downscaled); Android TV / Vega host-side via `adb` / `screencap`.

## Per-platform

### Apple TV (tvOS simulator)

- Boot like any iOS sim (`boot-device`); the AX + HID daemons auto-start on the first `describe` / `tv-remote` (first call may take a few seconds). Give the RN bundle a few seconds to render before the first `describe`.
- Media-transport / volume keys are **rejected**: the sim's HID stack ignores them (they work on Android TV / Vega).
- Dev build: `open-url {udid, url:"<scheme>://expo-development-client/?url=http%3A%2F%2F<HOST_IP>%3A8081"}` (`<HOST_IP>` = your Mac's LAN IP, shown on the launcher).

### Android TV (leanback emulator)

- Boot the leanback AVD like any emulator; see `argent-android-emulator-setup`.
- **`describe` may report zero focusables on a screen with visible tiles**: many `react-native-tvos` screens use RN's own focus engine, invisible to the OS accessibility tree. `describe` auto-falls-back to the full UI tree (and says so in the hint); `tv-remote` still moves focus, so drive blind + `screenshot` to confirm.
- Dev build: `adb -s <serial> reverse tcp:8081 tcp:8081`, deep-link `<pkg>://expo-development-client/?url=http%3A%2F%2F10.0.2.2%3A8081`, dismiss the first dev-menu with `adb shell input keyevent KEYCODE_DPAD_CENTER` (not Back: Back exits the app).

### Fire TV (Vega / VVD)

- `list-devices` shows a `serial` (use as `udid`) and a `vvdImage`. `boot-device {vvdImage}` (e.g. `"tv"`) starts the single SDK-managed VVD; skip if one already runs.
- **Stop the VVD** with `vega virtual-device stop` in your shell. The CLI only tracks VVDs it started in the foreground, so it may report "not running" for one started via `boot-device`; to restart that one use `boot-device {vvdImage, force:true}` (stops then re-boots).
- Empty `describe` tree → `restart-app` (the automation toolkit attaches at launch), then retry. Input ignored → enable developer mode in the VVD: `vsm developer-mode enable`.
- Editing `node_modules` has no effect on a Release build; only Debug `.vpkg` builds load patchable JS.
- Profiling / crashes → `amazon-devices-buildertools-mcp` server (`analyze_perfetto_traces`, `get_app_hot_functions`, `symbolicate_acr`); docs via its `search_documentation` tool.

## Common gotchas

- **Empty focus right after `launch-app` / `restart-app`** is the splash / loading window; `describe` retries internally; wait ~2-3s and retry on a cold start.
- Passing a phone/tablet (`runtimeKind: "mobile"`) udid to `tv-remote` fails with a clear "tvOS-only" / "Android-TV-only" error; pick a TV target from `list-devices`.

## Fast Refresh (dev builds)

Needs a Debug build + Metro running. argent only _connects_ to Metro; start Metro and port-forward yourself (any platform). Metro is fixed on **:8081**.

- **Apple TV / Android TV:** use the dev-build deep-links above; `npm start` for Metro.
- **Vega:** build/install a Debug `.vpkg` (`vega device install-app -p <path>`), `npm start`, `vega device start-port-forwarding --port 8081 --forward false`, then `vega device launch-app -a <appId>`. Confirm `http://localhost:8081/json/list` shows a `Hermes React Native` target; `.tsx` edits then hot-reload.

## Debugging the JS runtime (Vega)

Once that same Debug build + Metro setup is in place, the JS-runtime tools work on a Vega VVD: `debugger-connect`, `debugger-status`, `debugger-evaluate`, `debugger-log-registry` (console logs), `view-network-logs`, and `view-network-request-details`. Verify with `debugger-status`: it returns a status result rather than an error when not connected: `status: "connected"` means the setup works; `status: "not_connected"` carries a `reason` and `guidance` (e.g. `metro_not_running` → Metro itself is not up). Vega-specific: on `no_app_connected`, check `vega device start-port-forwarding` **before** relaunching the app: a down device→host forward is the usual cause, and the generic guidance can't know about it. See the `argent-metro-debugger` skill.

Vega's React Native forks RN 0.72 and serves the legacy Hermes inspector, so three things differ from iOS / Android:

- `debugger-component-tree`, `debugger-inspect-element`, `debugger-reload-metro` and the `react-profiler-*` / `profiler-*` tools are **not supported**. Component-tree and inspect-element are hard-blocked: they need `Runtime.addBinding`, which this Hermes acknowledges but never installs. The rest are simply unverified on the legacy inspector. Use `describe` for on-screen structure; with both component tools gated off, component `file:line` tracing has no path on Vega.
- `debugger-status` reports `isNewDebugger: false`.
- `projectRoot` is empty (RN 0.72's Metro sends no project-root header), so lookups that resolve paths against the project root return no location.

© software-mansion · Apache-2.0 · software-mansion/argent

Смотрите также

Спонсоры проекта

Компании, которые помогают держать аналитику открытой