Skills reference

Three skills.
Four MCP tools.

Skills are explicit commands you invoke; tools are functions the model can call on your behalf. Both are loaded the moment the cwallmonitor plugin is installed.

/cwallmonitor:configure

Pair or reconfigure a device

Provision a new device, or reconfigure an existing one, from the LAN. Discovers via mDNS, prompts for the 6-digit pairing code, pushes broker URL + auto-generated PSK, registers the device locally.

When to use

  • New device showing "Waiting for setup" / pairing code on screen
  • Moving the broker to a different machine
  • Rotating the passphrase / PSK
  • Re-establishing trust after a device factory reset

Syntax

/cwallmonitor:configure

What it does, step by step

  • Scans _cwm._tcp.local for advertised devices
  • Prompts you to confirm the pairing code on the device
  • Generates a memorable passphrase, derives PSK with HKDF-SHA256
  • POSTs broker URL + PSK to the device over the LAN
  • Writes the device entry to ~/.cwm/devices.json
/cwallmonitor:theme

Switch themes remotely

Flip a device between Day, Night or Auto themes from the comfort of your CLI. Auto follows sunrise/sunset for the device's configured city with a ±90 s hysteresis.

When to use

  • Force Day mode for a screenshot
  • Force Night mode when you're working late and the sensor lags
  • Reset to Auto after manual overrides

Syntax

/cwallmonitor:theme <day | night | auto> [--device <device_id>]

Examples

/cwallmonitor:theme auto
/cwallmonitor:theme night --device cwm-3c7c
/cwallmonitor:theme day --device kitchen
/cwallmonitor:settings

Reconfigure a provisioned device

Push runtime settings to an already-paired device via the control plane: city, day / night brightness, alert volume, which providers are enabled, auto-rotation, broker URL, passphrase rotation. The change applies on the device's next 60 s poll, with automatic rollback if it can't be promoted.

When to use

  • "Set the city to Madrid"
  • "Lower night brightness to 15"
  • "Mute alerts" / "set volume to 0"
  • "Disable Codex on the wall monitor"
  • "Rotate providers every 60 s"
  • "Rotate the broker passphrase"
  • "Change the broker URL"

Syntax

/cwallmonitor:settings <natural-language change> [--device <device_id>]

Out of scope

WiFi SSID / password cannot be changed remotely — a bad push would brick the device. Open the on-device Settings panel (long-press the mascot) or factory-reset and re-run /cwallmonitor:configure.

MCP tools

What the model can call directly.

These four tools are exposed by cwm-mcp. Your AI agent can call them in response to natural-language questions — no slash-skill needed.

wall_monitor_status

Broker role + request count

Returns the broker's running role (broker or relay), how many devices it's serving, and a rolling counter of requests handled since startup.

roledevices[]req_countuptime_s
wall_monitor_health

PASS / FAIL diagnostic per component

Runs a check across each subsystem: broker socket, CLI log readers, mDNS responder, time sync, weather fetch. Each line reports PASS, FAIL, or N/A with a reason.

brokercli_logsmdnssntpweather
wall_monitor_recent_logs

Tail the broker log

Returns the last N lines (default 50) of the broker's structured log. Useful when a device shows stale data and you want to see whether the broker even received the poll.

lines: intlevel?: warn|err
wall_monitor_provision_hint

Suggests laptop LAN URLs

Lists candidate broker URLs (your laptop's LAN interfaces) ranked by reachability. The captive portal uses this to populate the broker-URL field when you'd rather not run the configure skill.

urls[]preferred: string

Example

A new device, end to end.

Powered on, pairing code visible, plugin installed. From here:

I just powered on a new wall monitor. It's showing pairing code 428 715.
I'll configure it. Running /cwallmonitor:configure… Found cwm-3c7c at 192.168.1.42 via mDNS. Generated passphrase, derived PSK, pushed to device. It's rebooting now — give it ~10 s.
Is my broker actually serving it?
Called wall_monitor_status. Broker is running with role broker, serving 1 device, 12 requests in the last minute. PASS.
Switch to night mode.
Ran /cwallmonitor:theme night. Device acknowledged in 110 ms.

Something off?

Check the FAQ.

Stale data, captive portal not appearing, Auto theme stuck on Night, audio silent. Every common stumble has a fix.

FAQ & troubleshooting