AS
AgSkills.dev
MARKETPLACE

starlink

Control Starlink dish via local gRPC API. Get status, list WiFi clients, run speed tests, stow/unstow dish, reboot, and get GPS location. Use when the user asks about Starlink, internet status, connected devices, or satellite connectivity.

812
259

Preview

SKILL.md
name
starlink
version
1.0.0
description
Control Starlink dish via local gRPC API. Get status, list WiFi clients, run speed tests, stow/unstow dish, reboot, and get GPS location. Use when the user asks about Starlink, internet status, connected devices, or satellite connectivity.
metadata
{"clawdbot":{"emoji":"πŸ“‘","requires":{"bins":["starlink"]},"install":[{"id":"cargo","kind":"cargo","git":"https://github.com/danfedick/starlink-cli","bins":["starlink"],"label":"Install starlink-cli (cargo)"}]}}

Starlink CLI

Control your Starlink dish from the command line via its local gRPC API at 192.168.100.1:9200.

Installation

cargo install --git https://github.com/danfedick/starlink-cli

Requires Rust and protoc (Protocol Buffers compiler).

Commands

Status

Get dish state, uptime, SNR, latency, throughput, obstructions:

starlink status starlink status --json

WiFi Clients

List devices connected to the Starlink router:

starlink clients starlink clients --json

Output includes: name, MAC, IP, signal strength, interface (2.4GHz/5GHz/ETH), connection time.

Speed Test

Run a speed test through the dish:

starlink speedtest starlink speedtest --json

Returns download/upload Mbps and latency.

Stow/Unstow

Stow dish flat for transport or storage:

starlink stow # stow starlink stow --unstow # unstow and resume

Reboot

Reboot the dish:

starlink reboot

Location

Get GPS coordinates (must be enabled in Starlink app β†’ Settings β†’ Advanced β†’ Debug Data β†’ "allow access on local network"):

starlink location starlink location --json

Output Formats

  • Default: Human-readable colored output
  • --json: JSON for scripting/parsing

Example JSON parsing:

starlink status --json | jq '.latency_ms' starlink clients --json | jq '.[] | .name'

Requirements

  • Connected to Starlink network
  • Dish reachable at 192.168.100.1:9200
  • For location: enable in Starlink app first

Troubleshooting

"Failed to connect to Starlink dish"

  • Verify you're on the Starlink WiFi or wired to the router
  • Check: ping 192.168.100.1
  • If using bypass mode with your own router, ensure 192.168.100.1 is still routable

Location returns empty

  • Enable in Starlink app: Settings β†’ Advanced β†’ Debug Data β†’ "allow access on local network"

Limitations

  • Device pause/unpause is NOT available (cloud-only feature via Starlink app)
  • Only works on local network, not remotely

Source

https://github.com/danfedick/starlink-cli

GitHub Repository
moltbot/skills
Stars
812
Forks
259
Open Repository
Install Skill
Download ZIP2 files