Music Discovery

Data & APIs

Recommend music tracks and playlists tailored to mood, activity, BPM, energy, or genre using Spotify and Last.fm data.

Install

openclaw skills install music-discovery

Music Discovery — Mood, Scene & Playlists

Overview

Helps listeners find tracks and playlists that fit a mood, activity, or taste profile—study, commute, workout, sleep, or “something like this artist.” Use when the user wants personalized picks, scene-based sets, or exploration without manual crate-digging.

Trigger keywords: music recommendation, playlist, mood, BPM, study music, workout, discover similar artists

Prerequisites

pip install requests spotipy

Capabilities

  1. Data-backed discovery — Spotify Web API / Last.fm–style metadata (see references/music_discovery_guide.md).
  2. Scene-based sets — work, workout, wind-down, commute, focus, party.
  3. Vibe matching — BPM, energy, valence/mood tags, genre boundaries.

Commands

CommandDescriptionExample
recommendRecommend trackspython3 scripts/skills/music-discovery/scripts/music_discovery_tool.py recommend [args]
playlistBuild a playlist conceptpython3 scripts/skills/music-discovery/scripts/music_discovery_tool.py playlist [args]
moodRecommend by moodpython3 scripts/skills/music-discovery/scripts/music_discovery_tool.py mood [args]

Usage (from repository root)

python3 scripts/skills/music-discovery/scripts/music_discovery_tool.py recommend --scene office --mood relaxed
python3 scripts/skills/music-discovery/scripts/music_discovery_tool.py playlist --scene workout --bpm 140
python3 scripts/skills/music-discovery/scripts/music_discovery_tool.py mood --feeling happy

Output format (for the agent’s report)

# Music Discovery report

**Generated**: YYYY-MM-DD HH:MM

## Key picks
1. [Track / artist — one-line why]
2. …
3. …

## Snapshot
| Title | Artist | Why it fits |
|-------|--------|---------------|

## Playlist sketch (optional)
- **Theme**: …
- **Tempo / energy**: …
- **Avoid**: …

## Notes
[Ground claims in API or user-stated taste—no invented chart positions.]

References

APIs & libraries

Patterns & community

Notes

  • Prefer real API or user-provided data; do not invent popularity or audio features.
  • Mark missing fields as unavailable instead of guessing.
  • OAuth and rate limits apply when using Spotify—document when credentials are required.