{
  "schemaVersion": "1.0",
  "item": {
    "slug": "spotify-claw",
    "name": "Spotify Claw",
    "source": "tencent",
    "type": "skill",
    "category": "AI 智能",
    "sourceUrl": "https://clawhub.ai/mixx85/spotify-claw",
    "canonicalUrl": "https://clawhub.ai/mixx85/spotify-claw",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/spotify-claw",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=spotify-claw",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "README.md",
      "SKILL.md",
      "scripts/requirements.txt",
      "scripts/spotify.py"
    ],
    "primaryDoc": "SKILL.md",
    "quickSetup": [
      "Download the package from Yavira.",
      "Extract the archive and review SKILL.md first.",
      "Import or place the package into your OpenClaw setup."
    ],
    "agentAssist": {
      "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
      "steps": [
        "Download the package from Yavira.",
        "Extract it into a folder your agent can access.",
        "Paste one of the prompts below and point your agent at the extracted folder."
      ],
      "prompts": [
        {
          "label": "New install",
          "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Then review README.md for any prerequisites, environment setup, or post-install checks. Tell me what you changed and call out any manual steps you could not complete."
        },
        {
          "label": "Upgrade existing",
          "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Then review README.md for any prerequisites, environment setup, or post-install checks. Summarize what changed and any follow-up checks I should run."
        }
      ]
    },
    "sourceHealth": {
      "source": "tencent",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-04-30T16:55:25.780Z",
      "expiresAt": "2026-05-07T16:55:25.780Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
        "contentDisposition": "attachment; filename=\"network-1.0.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null
      },
      "scope": "source",
      "summary": "Source download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this source.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/spotify-claw"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    },
    "downloadPageUrl": "https://openagent3.xyz/downloads/spotify-claw",
    "agentPageUrl": "https://openagent3.xyz/skills/spotify-claw/agent",
    "manifestUrl": "https://openagent3.xyz/skills/spotify-claw/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/spotify-claw/agent.md"
  },
  "agentAssist": {
    "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
    "steps": [
      "Download the package from Yavira.",
      "Extract it into a folder your agent can access.",
      "Paste one of the prompts below and point your agent at the extracted folder."
    ],
    "prompts": [
      {
        "label": "New install",
        "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Then review README.md for any prerequisites, environment setup, or post-install checks. Tell me what you changed and call out any manual steps you could not complete."
      },
      {
        "label": "Upgrade existing",
        "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Then review README.md for any prerequisites, environment setup, or post-install checks. Summarize what changed and any follow-up checks I should run."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "spotify-claw",
        "body": "Full Spotify Premium control with music analysis and smart discovery.\n\nALWAYS run python3 ~/.openclaw/scripts/spotify.py [cmd] — never respond with text only."
      },
      {
        "title": "Setup (first time)",
        "body": "Create app at developer.spotify.com/dashboard\n— Add redirect URI: http://127.0.0.1:8888/callback\n\n\nAdd to macOS Keychain:\n\nsecurity add-generic-password -a openclaw -s openclaw.spotify.client_id -w \"CLIENT_ID\"\nsecurity add-generic-password -a openclaw -s openclaw.spotify.client_secret -w \"CLIENT_SECRET\"\n\nFirst auth — run now, browser opens, log in once:\n\npython3 ~/.openclaw/scripts/spotify.py now"
      },
      {
        "title": "Playback Commands",
        "body": "python3 ~/.openclaw/scripts/spotify.py play                          # resume\npython3 ~/.openclaw/scripts/spotify.py play \"track name\"             # search & play\npython3 ~/.openclaw/scripts/spotify.py play spotify:track:URI        # by URI\npython3 ~/.openclaw/scripts/spotify.py play spotify:playlist:ID      # playlist\npython3 ~/.openclaw/scripts/spotify.py pause\npython3 ~/.openclaw/scripts/spotify.py next\npython3 ~/.openclaw/scripts/spotify.py prev\npython3 ~/.openclaw/scripts/spotify.py volume 70\npython3 ~/.openclaw/scripts/spotify.py volume up\npython3 ~/.openclaw/scripts/spotify.py volume down\npython3 ~/.openclaw/scripts/spotify.py shuffle on\npython3 ~/.openclaw/scripts/spotify.py shuffle off\npython3 ~/.openclaw/scripts/spotify.py queue \"track name\"\npython3 ~/.openclaw/scripts/spotify.py now\npython3 ~/.openclaw/scripts/spotify.py devices\n\nAuto-launch: If Spotify is closed, play opens the app automatically, waits for init, then plays."
      },
      {
        "title": "Analysis Commands",
        "body": "python3 ~/.openclaw/scripts/spotify.py top-tracks [short|medium|long] [limit]\npython3 ~/.openclaw/scripts/spotify.py top-artists [short|medium|long] [limit]\npython3 ~/.openclaw/scripts/spotify.py recent [limit]\npython3 ~/.openclaw/scripts/spotify.py liked [limit]\npython3 ~/.openclaw/scripts/spotify.py liked-all\npython3 ~/.openclaw/scripts/spotify.py liked-by-artist \"Artist Name\"\npython3 ~/.openclaw/scripts/spotify.py genres [short|medium|long]\npython3 ~/.openclaw/scripts/spotify.py playlists\npython3 ~/.openclaw/scripts/spotify.py search \"query\" [track|artist|album] [limit]\npython3 ~/.openclaw/scripts/spotify.py track-info URI\n\nPeriods: short = 4 weeks · medium = 6 months · long = all time"
      },
      {
        "title": "Discovery & Playlist Builder",
        "body": "# Find new music by genre profile\npython3 ~/.openclaw/scripts/spotify.py discover\n\n# Expand from specific artist (depth=hops, n=tracks per artist)\npython3 ~/.openclaw/scripts/spotify.py discover \"Portishead\" 3 3\n\n# Related artists\npython3 ~/.openclaw/scripts/spotify.py related-artists \"The Cure\" 10\n\n# Top tracks of any artist\npython3 ~/.openclaw/scripts/spotify.py artist-top-tracks \"Massive Attack\" 5\n\n# Create playlist from top tracks (one command: creates + fills)\npython3 ~/.openclaw/scripts/spotify.py make-playlist \"Top March 2026\" short 20\n\n# Manage playlists\npython3 ~/.openclaw/scripts/spotify.py create-playlist \"My Playlist\" \"Description\"\npython3 ~/.openclaw/scripts/spotify.py add-to-playlist PLAYLIST_ID URI1 URI2\n\nNote: Spotify's recommendations and audio_features APIs are blocked for new developer apps (return 403/404). This skill uses related_artists + artist_top_tracks for discovery instead."
      },
      {
        "title": "Agent Tips",
        "body": "Use playlists to list user's playlists with IDs before playing one\nUse now to confirm what's playing after a play command\nUse liked-by-artist to find tracks for a themed playlist\nChain: related-artists → artist-top-tracks → add-to-playlist for smart playlist building\ngenres long gives the most accurate taste profile"
      }
    ],
    "body": "spotify-claw\n\nFull Spotify Premium control with music analysis and smart discovery.\n\nALWAYS run python3 ~/.openclaw/scripts/spotify.py [cmd] — never respond with text only.\n\nSetup (first time)\n\nCreate app at developer.spotify.com/dashboard — Add redirect URI: http://127.0.0.1:8888/callback\n\nAdd to macOS Keychain:\n\nsecurity add-generic-password -a openclaw -s openclaw.spotify.client_id -w \"CLIENT_ID\"\nsecurity add-generic-password -a openclaw -s openclaw.spotify.client_secret -w \"CLIENT_SECRET\"\n\nFirst auth — run now, browser opens, log in once:\npython3 ~/.openclaw/scripts/spotify.py now\n\nPlayback Commands\npython3 ~/.openclaw/scripts/spotify.py play                          # resume\npython3 ~/.openclaw/scripts/spotify.py play \"track name\"             # search & play\npython3 ~/.openclaw/scripts/spotify.py play spotify:track:URI        # by URI\npython3 ~/.openclaw/scripts/spotify.py play spotify:playlist:ID      # playlist\npython3 ~/.openclaw/scripts/spotify.py pause\npython3 ~/.openclaw/scripts/spotify.py next\npython3 ~/.openclaw/scripts/spotify.py prev\npython3 ~/.openclaw/scripts/spotify.py volume 70\npython3 ~/.openclaw/scripts/spotify.py volume up\npython3 ~/.openclaw/scripts/spotify.py volume down\npython3 ~/.openclaw/scripts/spotify.py shuffle on\npython3 ~/.openclaw/scripts/spotify.py shuffle off\npython3 ~/.openclaw/scripts/spotify.py queue \"track name\"\npython3 ~/.openclaw/scripts/spotify.py now\npython3 ~/.openclaw/scripts/spotify.py devices\n\n\nAuto-launch: If Spotify is closed, play opens the app automatically, waits for init, then plays.\n\nAnalysis Commands\npython3 ~/.openclaw/scripts/spotify.py top-tracks [short|medium|long] [limit]\npython3 ~/.openclaw/scripts/spotify.py top-artists [short|medium|long] [limit]\npython3 ~/.openclaw/scripts/spotify.py recent [limit]\npython3 ~/.openclaw/scripts/spotify.py liked [limit]\npython3 ~/.openclaw/scripts/spotify.py liked-all\npython3 ~/.openclaw/scripts/spotify.py liked-by-artist \"Artist Name\"\npython3 ~/.openclaw/scripts/spotify.py genres [short|medium|long]\npython3 ~/.openclaw/scripts/spotify.py playlists\npython3 ~/.openclaw/scripts/spotify.py search \"query\" [track|artist|album] [limit]\npython3 ~/.openclaw/scripts/spotify.py track-info URI\n\n\nPeriods: short = 4 weeks · medium = 6 months · long = all time\n\nDiscovery & Playlist Builder\n# Find new music by genre profile\npython3 ~/.openclaw/scripts/spotify.py discover\n\n# Expand from specific artist (depth=hops, n=tracks per artist)\npython3 ~/.openclaw/scripts/spotify.py discover \"Portishead\" 3 3\n\n# Related artists\npython3 ~/.openclaw/scripts/spotify.py related-artists \"The Cure\" 10\n\n# Top tracks of any artist\npython3 ~/.openclaw/scripts/spotify.py artist-top-tracks \"Massive Attack\" 5\n\n# Create playlist from top tracks (one command: creates + fills)\npython3 ~/.openclaw/scripts/spotify.py make-playlist \"Top March 2026\" short 20\n\n# Manage playlists\npython3 ~/.openclaw/scripts/spotify.py create-playlist \"My Playlist\" \"Description\"\npython3 ~/.openclaw/scripts/spotify.py add-to-playlist PLAYLIST_ID URI1 URI2\n\n\nNote: Spotify's recommendations and audio_features APIs are blocked for new developer apps (return 403/404). This skill uses related_artists + artist_top_tracks for discovery instead.\n\nAgent Tips\nUse playlists to list user's playlists with IDs before playing one\nUse now to confirm what's playing after a play command\nUse liked-by-artist to find tracks for a themed playlist\nChain: related-artists → artist-top-tracks → add-to-playlist for smart playlist building\ngenres long gives the most accurate taste profile"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/mixx85/spotify-claw",
    "publisherUrl": "https://clawhub.ai/mixx85/spotify-claw",
    "owner": "mixx85",
    "version": "1.1.0",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/spotify-claw",
    "downloadUrl": "https://openagent3.xyz/downloads/spotify-claw",
    "agentUrl": "https://openagent3.xyz/skills/spotify-claw/agent",
    "manifestUrl": "https://openagent3.xyz/skills/spotify-claw/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/spotify-claw/agent.md"
  }
}