Compose Multiplatform Patterns
monta-app/ocpp-emulator
Compose Multiplatform and Jetpack Compose patterns for KMP projects — state management, navigation, theming, performance, and platform-specific UI.
Control and inspect TV apps via argent — Apple TV (tvOS), Android TV (leanback), and Amazon Fire TV (Vega).
$ npx skills add bbplayer-app/BBPlayer --skill argent-tv-interact -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install bbplayer-app/BBPlayer argent-tv-interact --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/bbplayer-app/BBPlayer.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/argent-tv-interact .claude/skills/argent-tv-interact && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "argent-tv-interact" agent skill from https://github.com/bbplayer-app/BBPlayer/tree/dev/.agents/skills/argent-tv-interact into .claude/skills/argent-tv-interact/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "argent-tv-interact", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/bbplayer-app/BBPlayer/tree/dev/.agents/skills/argent-tv-interactType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add bbplayer-app/BBPlayer --skill argent-tv-interact -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install bbplayer-app/BBPlayer argent-tv-interact --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/bbplayer-app/BBPlayer.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.agents/skills/argent-tv-interact .agents/skills/argent-tv-interact && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "argent-tv-interact" agent skill from https://github.com/bbplayer-app/BBPlayer/tree/dev/.agents/skills/argent-tv-interact into .agents/skills/argent-tv-interact/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "argent-tv-interact", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add bbplayer-app/BBPlayer --skill argent-tv-interact -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install bbplayer-app/BBPlayer argent-tv-interact --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/bbplayer-app/BBPlayer.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.agents/skills/argent-tv-interact .cursor/skills/argent-tv-interact && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "argent-tv-interact" agent skill from https://github.com/bbplayer-app/BBPlayer/tree/dev/.agents/skills/argent-tv-interact into .cursor/skills/argent-tv-interact/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "argent-tv-interact", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/bbplayer-app/BBPlayer.git --path .agents/skills/argent-tv-interact--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add bbplayer-app/BBPlayer --skill argent-tv-interact -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install bbplayer-app/BBPlayer argent-tv-interact --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/bbplayer-app/BBPlayer.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.agents/skills/argent-tv-interact .gemini/skills/argent-tv-interact && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "argent-tv-interact" agent skill from https://github.com/bbplayer-app/BBPlayer/tree/dev/.agents/skills/argent-tv-interact into .gemini/skills/argent-tv-interact/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "argent-tv-interact", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install bbplayer-app/BBPlayer argent-tv-interactInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add bbplayer-app/BBPlayer --skill argent-tv-interact -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/bbplayer-app/BBPlayer.git skills-src && mkdir -p .github/skills && cp -r skills-src/.agents/skills/argent-tv-interact .github/skills/argent-tv-interact && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "argent-tv-interact" agent skill from https://github.com/bbplayer-app/BBPlayer/tree/dev/.agents/skills/argent-tv-interact into .github/skills/argent-tv-interact/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "argent-tv-interact", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add bbplayer-app/BBPlayer --skill argent-tv-interact -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install bbplayer-app/BBPlayer argent-tv-interact --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/bbplayer-app/BBPlayer.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.agents/skills/argent-tv-interact .opencode/skills/argent-tv-interact && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "argent-tv-interact" agent skill from https://github.com/bbplayer-app/BBPlayer/tree/dev/.agents/skills/argent-tv-interact into .opencode/skills/argent-tv-interact/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "argent-tv-interact", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
argent-tv-interactControl and inspect TV apps via argent — Apple TV (tvOS), Android TV (leanback), and Amazon Fire TV (Vega).
Argent Tv Interact is an agent skill from bbplayer-app/BBPlayer. 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.
Its SKILL.md is about 1.9k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Mobile. It works with Android. The repository describes itself as: 一款简约、好用的 BiliBili 音乐播放器。 The licence is MIT.
3 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 7b98d88. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
adbnpmxcrunFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use npm, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Argent Tv Interact loads about 1.9k tokens when it runs. Until then it costs about 107 tokens; SKILL.md has 918 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from bbplayer-app/BBPlayer at commit 7b98d88, republished under its MIT licence (© bbplayer-app). 918 words, ~1,878 tokens.
.claude/skills/argent-tv-interact/SKILL.md (or your agent's skills folder).describe + tv-remote + keyboard; never use gesture-* / coordinate taps — they don't apply on any TV platform.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].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.describe — find the cursor and your target (returns the focused element + all focusable ones, not a tap tree).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.describe again to confirm. On a miss, repeat.describe {udid} — focus view: the focused / [selected] element + focusable elements with labels and normalized frames. The discovery tool — 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.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.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).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.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).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.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).describe tree → restart-app (the automation toolkit attaches at launch), then retry. Input ignored → enable developer mode in the VVD: vsm developer-mode enable.node_modules has no effect on a Release build — only Debug .vpkg builds load patchable JS.amazon-devices-buildertools-mcp server (analyze_perfetto_traces, get_app_hot_functions, symbolicate_acr); docs via its search_documentation tool.launch-app / restart-app is the splash / loading window — describe retries internally; wait ~2-3s and retry on a cold start.runtimeKind: "mobile") udid to tv-remote fails with a clear "tvOS-only" / "Android-TV-only" error — pick a TV target from list-devices.Needs a Debug build + Metro running. argent only connects to Metro — start Metro and port-forward yourself (any platform). Metro is fixed on :8081.
npm start for Metro..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.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.© bbplayer-app, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in .agents/skills/argent-tv-interact of bbplayer-app/BBPlayer.
Open the folder on GitHubat commit 7b98d88
Argent Tv Interact next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Argent Tv Interact this skillbbplayer-app/BBPlayer | 1.1k | — | ~1.9k | Automated safety check: Pass | MIT | |
| Compose Multiplatform Patternsmonta-app/ocpp-emulator | 180 | 5 repos | ~2k | Automated safety check: Pass | Apache-2.0 | |
| Phone HarnessShawnPana/phone-harness | 3.2k | — | ~4.3k | Automated safety check: Pass | MIT | |
| Stylesarindamxd/camerax-android | 132 | 4 repos | ~2.3k | Automated safety check: Pass | Apache-2.0 | |
| Verified Emailarindamxd/camerax-android | 132 | 4 repos | ~4.7k | Automated safety check: Pass | Apache-2.0 | |
| Android XML ResourceafkT/DevUtils | 1.6k | — | ~1.3k | Automated safety check: Pass | Apache-2.0 |
monta-app/ocpp-emulator
Compose Multiplatform and Jetpack Compose patterns for KMP projects — state management, navigation, theming, performance, and platform-specific UI.
ShawnPana/phone-harness
Control the user's phone — an iPhone through the Mac's iPhone Mirroring window, an Android over adb, or a rented cloud Android: open apps, tap, type, swipe, read the screen.
arindamxd/camerax-android
A skill your agent uses to integrate the Jetpack Compose Styles API into an Android project.
arindamxd/camerax-android
Provides a complete workflow for implementing verified email retrieval on Android Credential Manager API.
afkT/DevUtils
统一 Android XML 资源命名:layout、drawable、mipmap、color、values、id 的前缀与 snakecase 规则;把颜色/圆角/描边/状态编码进文件名(bg、border、textcolor…selector)。
tloncorp/tlon-apps
Run a mobile QA checklist on a physical Android device over adb for tlon-apps, then triage what fails into fixes.
bbplayer-app/BBPlayer
Guide for creating and writing Expo native modules and views using the Expo Modules API (Swift, Kotlin, TypeScript).
bbplayer-app/BBPlayer
Debug a JS runtime via CDP using argent debugger tools. An agent skill from bbplayer-app/BBPlayer.
bbplayer-app/BBPlayer
Optimizes a React Native app by profiling first to find real bottlenecks, then sweeping for mechanical issues.
bbplayer-app/BBPlayer
Propose multiple visual design variants for on-screen elements and let the human pick in the Argent Lens window.
bbplayer-app/BBPlayer
Create repeatable QA regression E2E tests as Argent flows from test cases, tickets, or acceptance criteria.
bbplayer-app/BBPlayer
Compare saved or live app screenshots with the argent screenshot-diff tool.
Works with
Categories
Control and inspect TV apps via argent — Apple TV (tvOS), Android TV (leanback), and Amazon Fire TV (Vega). Argent Tv Interact is an agent skill from bbplayer-app/BBPlayer. Control and inspect TV apps via argent — Apple TV (tvOS), Android TV (leanback), and Amazon Fire TV (Vega).
Argent Tv Interact fits situations like: A task targets a TV (runtimeKind tv; mentions Apple TV / tvOS / Android TV / leanback / Vega / Fire TV / VVD.
Run `npx skills add bbplayer-app/BBPlayer --skill argent-tv-interact -a claude-code`. Or copy the skill folder (.agents/skills/argent-tv-interact in bbplayer-app/BBPlayer) into .claude/skills/argent-tv-interact in your project. Claude Code loads it when a task matches its description.
Run `npx skills add bbplayer-app/BBPlayer --skill argent-tv-interact -a codex`. Or copy the skill folder (.agents/skills/argent-tv-interact in bbplayer-app/BBPlayer) into .agents/skills/argent-tv-interact in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add bbplayer-app/BBPlayer --skill argent-tv-interact -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/argent-tv-interact, .gemini/skills/argent-tv-interact, .github/skills/argent-tv-interact and .opencode/skills/argent-tv-interact in your project.
Going by SKILL.md and its folder, Argent Tv Interact needs the command-line tools its instructions call (adb, npm and xcrun).
SKILL.md contains no URLs. Its commands use npm, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Argent Tv Interact is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.9k tokens (SKILL.md is roughly 7.5k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Argent Tv Interact: Compose Multiplatform Patterns (monta-app/ocpp-emulator, 180 stars), Phone Harness (ShawnPana/phone-harness, 3.2k stars), Styles (arindamxd/camerax-android, 132 stars) and Verified Email (arindamxd/camerax-android, 132 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
bbplayer-app (a GitHub organization) maintains it in bbplayer-app/BBPlayer, which has 1,143 GitHub stars. The repository holds 19 skills in this directory. The repository was last updated on October 8, 2026.
Source: bbplayer-app/BBPlayer on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.