Spotify Connect

PassAudited by ClawScan on May 10, 2026.

Overview

The skill’s Spotify playback control behavior is coherent and disclosed, with ordinary notes around local OAuth token storage and an auto-installed Python dependency.

This looks like a normal Spotify Connect integration. Before installing, confirm you are comfortable saving Spotify OAuth tokens locally, giving the skill playback-control scopes, and letting uv install the Spotipy dependency. Use the logout command to remove accounts you no longer want available to the agent.

Findings (3)

Artifact-based informational review of SKILL.md, metadata, install specs, static scan signals, and capability signals. ClawScan does not execute the skill or run runtime probes.

What this means

A saved Spotify profile can be used to pause, play, skip, change volume, and transfer playback on that Spotify account’s available devices.

Why it was flagged

The script requests Spotify OAuth scopes that allow reading playback state and changing playback. These permissions are directly aligned with controlling Spotify Connect devices.

Skill content
SCOPES = "user-modify-playback-state user-read-playback-state user-read-currently-playing"
Recommendation

Use a Spotify app you control, keep the client secret private, and remove profiles with the logout command when you no longer want the skill to control that account.

What this means

Anyone with access to the user’s local OpenClaw config files could potentially access the cached Spotify authorization material.

Why it was flagged

The skill persists OAuth tokens for named Spotify accounts so it can continue to operate without re-authenticating each time. This is disclosed and expected for the integration.

Skill content
This creates a named account profile with auto-refreshing token.
Recommendation

Protect the local ~/.openclaw/spotify-connect directory and avoid authenticating accounts you do not want the agent to control.

What this means

Future dependency updates could change behavior compared with what was reviewed here.

Why it was flagged

The script relies on uv to install Spotipy using a lower-bound version instead of a pinned exact version. This is normal integration plumbing, but it leaves dependency contents dependent on the package index at install/run time.

Skill content
dependencies = ["spotipy>=2.24.0"]
Recommendation

Prefer pinned dependency versions or review the resolved package version before first use if supply-chain stability matters.