4.5k★by gumadeiras
roku – OpenClaw Skill
roku is an OpenClaw Skills integration for coding workflows. Control Roku devices via CLI. Discovery, remote control, app launching, search, and HTTP bridge mode for real-time control.
Skill Snapshot
| name | roku |
| description | Control Roku devices via CLI. Discovery, remote control, app launching, search, and HTTP bridge mode for real-time control. OpenClaw Skills integration. |
| owner | gumadeiras |
| repository | gumadeiras/roku |
| language | Markdown |
| license | MIT |
| topics | |
| security | L1 |
| install | openclaw add @gumadeiras/roku |
| last updated | Feb 7, 2026 |
Maintainer

name: roku description: Control Roku devices via CLI. Discovery, remote control, app launching, search, and HTTP bridge mode for real-time control. homepage: https://github.com/gumadeiras/roku-cli repository: https://github.com/gumadeiras/roku-cli metadata: {"clawdbot":{"emoji":"📺","requires":{"bins":["roku"]},"install":[{"id":"node","kind":"node","package":"roku-ts-cli","bins":["roku"],"label":"Install Roku CLI (npm)"}]}}
Roku CLI
Fast TypeScript CLI for controlling Roku devices via the ECP API.
Installation
npm install -g roku-ts-cli@latest
Quick Start
# Discover devices and save an alias
roku discover --save livingroom --index 1
# Use the alias
roku --host livingroom device-info
roku --host livingroom apps
Commands
| Command | Description |
|---|---|
roku discover | Find Roku devices on network |
roku --host <ip> device-info | Get device info |
roku --host <ip> apps | List installed apps |
roku --host <ip> command <key> | Send remote key |
roku --host <ip> literal <text> | Type text |
roku --host <ip> search --title <query> | Search content |
roku --host <ip> launch <app> | Launch app |
roku --host <ip> interactive | Interactive remote mode |
Interactive Mode
roku livingroom # interactive control
roku --host livingroom interactive # same thing
Use arrow keys, enter, escape for remote-like control.
Bridge Service
Run a persistent HTTP bridge as a native OS service:
# Install and start the service
roku bridge install-service --port 19839 --token secret --host livingroom --user
roku bridge start --user
# Service management
roku bridge status --user
roku bridge stop --user
roku bridge uninstall --user
Send commands via HTTP:
# Send key
curl -X POST http://127.0.0.1:19839/key \
-H "Content-Type: application/json" \
-H "Authorization: Bearer secret" \
-d '{"key":"home"}'
# Type text
curl -X POST http://127.0.0.1:19839/text \
-H "Content-Type: application/json" \
-H "Authorization: Bearer secret" \
-d '{"text":"hello"}'
# Launch app
curl -X POST http://127.0.0.1:19839/launch \
-H "Content-Type: application/json" \
-H "Authorization: Bearer secret" \
-d '{"app":"plex"}'
# Health check
curl http://127.0.0.1:19839/health -H "Authorization: Bearer secret"
Bridge Endpoints
| Endpoint | Body |
|---|---|
POST /key | {"key": "home"} |
POST /text | {"text": "hello"} |
POST /search | {"title": "Stargate"} |
POST /launch | {"app": "plex"} |
GET /health | — |
GET /health?deep=1 | Deep health check (probes Roku) |
Aliases
# Save device alias
roku discover --save livingroom --index 1
roku alias set office 192.168.1.20
# Save app alias
roku alias set plex 13535
# List aliases
roku alias list
# Use aliases
roku --host livingroom launch plex
Remote Keys
home, back, select, up, down, left, right, play, pause, rev, fwd, replay, info, power, volume_up, volume_down, mute
Notes
- Roku must be on the same network as the CLI
- Bridge service runs as a native launchd (macOS) or systemd (Linux) service
- Use
--userflag for user-space service (no sudo required) - Use
--tokenfor authentication in bridge mode
Source
roku-cli
A pure Bash CLI to control your Roku from the terminal. Built on python-roku.
Features
- 🔍 Discover Roku devices on your network
- 🎮 Control playback and navigation
- ⌨️ Text entry for search fields
- 📱 Launch apps by name or ID
- 📊 Status monitoring (active app, device info)
Requirements
- Python 3.7+
pip3 install roku- Bash 4+
Installation
# Install the python-roku library
pip3 install roku
# Download and link the CLI
git clone https://github.com/gumadeiras/roku-cli.git
cd roku-cli
chmod +x roku-cli
ln -sf $(pwd)/roku-cli ~/.local/bin/roku
Or install via ClawdHub:
clawdhub install roku
Quick Start
Find your Roku:
roku discover
Control it:
roku press home # Go to home screen
roku press select # OK button
roku press right
roku press play
roku press back
Enter text (e.g., in search):
roku text "netflix"
Launch apps:
roku apps # List all apps
roku launch Netflix # By name
roku launch 12 # By app ID
Check status:
roku active # Current app
roku info # Device info
Usage
Usage: roku [OPTIONS] COMMAND [ARGS]
Options:
--ip IP Roku IP address (or set ROKU_IP env var)
--help Show this help
Commands:
discover Find Roku devices on network
press BUTTON Send button press
text STRING Enter text
apps List installed apps
launch APP Launch app (name or ID)
active Show active app
info Show device info
Buttons
home, back, left, right, up, down, select, enter, info, play, forward, reverse, replay, search, backspace, channel_up, channel_down
Environment
Set ROKU_IP to avoid specifying --ip each time:
export ROKU_IP="192.168.1.100"
Roku Settings
For external control to work, enable on your Roku:
Settings → System → Advanced System Settings → Control by Mobile Apps → Enable
License
MIT
Built with ❤️ using python-roku
Permissions & Security
Security level L1: Low-risk skills with minimal permissions. Review inputs and outputs before running in production.
Requirements
- OpenClaw CLI installed and configured.
- Language: Markdown
- License: MIT
- Topics:
FAQ
How do I install roku?
Run openclaw add @gumadeiras/roku in your terminal. This installs roku into your OpenClaw Skills catalog.
Does this skill run locally or in the cloud?
OpenClaw Skills execute locally by default. Review the SKILL.md and permissions before running any skill.
Where can I verify the source code?
The source repository is available at https://github.com/openclaw/skills/tree/main/skills/gumadeiras/roku. Review commits and README documentation before installing.
