argent-vega
Control and inspect Amazon Fire TV (Vega) apps via argent — launch/restart/reinstall apps, read the on-screen element tree, navigate with the D-pad remote, type, and screenshot. Use when the task mentions Vega, Fire TV, or VVD, or involves driving a Vega virtual device.
How do I install this agent skill?
npx skills add https://github.com/software-mansion/argent --skill argent-vegaIs this agent skill safe to install?
- Gen Agent Trust Hubpass
This skill provides automation capabilities for Amazon Fire TV (Vega) devices, including app lifecycle management, UI navigation, and screen inspection. It utilizes platform-specific command-line tools and interacts with local development servers. No malicious patterns, obfuscation, or unauthorized data exfiltration were detected.
- Socketpass
No alerts
- Snykpass
Risk: LOW · No issues
What does this agent skill do?
Argent Vega (Amazon Fire TV)
Critical
- Vega is a TV platform
- D-pad only. Drive every interaction with
tv-remote. Never usegesture-*/ touch — they are unsupported on Vega. - Always
describebefore navigating. Find the live cursor from the tree — the[focused]element, or[selected]when nothing reports[focused](the toolkit often marks the highlighted item[selected]whilefocusedstays false). Never guess focus position from a screenshot. - All tools take the Vega
serial(fromlist-devices) asudid.
The navigation loop
Per screen, two calls:
describe— find the cursor ([focused], or[selected]if no[focused]) and your target.- Compute the full D-pad path from focus → target (count rows/columns from the frames) and fire it as one
tv-remote {button:[...]}ending inselect.
Then describe again to confirm. On a miss, run the loop again.
Tools
Device lifecycle
list-devices→ Vega devices appear with aserial(use asudid) and avvdImage. Start here to get both.boot-device {vvdImage}— starts the single SDK-managed VVD (e.g.vvdImage:"tv") and returns itsserial. Skip iflist-devicesalready shows a running device.- Stopping the VVD — run
vega virtual-device stopin your shell. Caveat: the CLI only tracks VVDs it starts in the foreground. As a result, it may report "virtual device not running" for a VVD started withboot-device, and won't stop it. To restart that VVD, runboot-device {vvdImage, force: true}. This stops the running VVD process before booting it again.
App lifecycle
launch-app {udid, bundleId}—bundleId= interactive component app id from manifest.toml (e.g.com.example.app.main)restart-app {udid, bundleId}— terminate + launchreinstall-app {udid, bundleId, appPath}— uninstall + install;appPath= a.vpkgdescribe {udid}→ on-screen element tree. The discovery tool — call before navigatingtv-remote {udid, button}— D-pad; single key, path array, orrepeatkeyboard {udid, text}or{udid, key:"enter"}— focus the field with the D-pad firstscreenshot {udid, scale?}— captured host-side viaadb
describe
Nested element tree from the on-device automation toolkit — each line is a button/text/image with its label, id (test_id), [clickable], and [focused]/[selected] + a normalized [0,1] frame. [focused] is the live D-pad cursor when present; in practice the toolkit usually leaves focused false and marks the highlighted item [selected], so treat [selected] as the cursor whenever no element reports [focused]. Navigate on the tree alone. If the tree comes back empty → restart-app and retry.
tv-remote
button is a single key or a whole path. Keys: up/down/left/right, select, back, home, menu, playPause, rewind, fastForward. Single: {button:"down"}. Repeat one key: {button:"down", repeat:3}. Whole path in one call: {button:["up","right","right","select"]} — strongly prefer this for any multi-step move.
Fast Refresh
Needs a Debug build + Metro running. argent only connects to Metro — it does not start Metro or port-forward (any platform); do these in your shell.
- Build a Debug
.vpkgand install it:vega device install-app -p <path/to/debug.vpkg> npm start(Metro on :8081; usenpm start, notnpx react-native start)vega device start-port-forwarding --port 8081 --forward false(reverse)vega device launch-app -a <appId>
Metro must be up before launch; confirm http://localhost:8081/json/list lists a Hermes React Native target. Then .tsx edits hot-reload live.
Troubleshooting
describereturns an empty tree →restart-app(the automation toolkit attaches at launch), then retry.- Keyboard / D-pad input is ignored → enable developer mode inside the VVD:
vsm developer-mode enable. - Editing
node_moduleshas no effect → you are on a Release build. Release Vega apps load JavaScript and native code split and stored on device, so patchingnode_modulesonly works in Debug builds.
Platform notes
- Metro connects only on port 8081 — fixed, cannot be changed.
- Profiling / crashes → use the
amazon-devices-buildertools-mcpserver (analyze_perfetto_traces,get_app_hot_functions,symbolicate_acr). - Unsupported tools, with the Vega equivalent:
gesture-*→ usetv-remote;open-url→ not wired;debugger-*→ JS debugger not supported on Vega. These fail withTool '<id>' is not supported on vega vvd.(or... is not yet implemented on vega.).
Knowledgebase
- Search Vega docs with the
search_documentationtool (amazon-devices-buildertools-mcpserver). - Community Q&A at community.amazondeveloper.com.
How can the creator link this skill?
Add the canonical catalog link to the repository README so users can inspect current installs and available audits. The publishing guide covers the complete discovery path.
<a href="https://skillzs.dev/skills/software-mansion/argent/argent-vega">View argent-vega on skillZs</a>