← All skills
Tencent SkillHub · Data Analysis

Last.fm (OpenClaw)

Access Last.fm user profile, now playing, top tracks/artists/albums by period, loved tracks, and optionally love/unlove tracks.

skill openclawclawhub Free
0 Downloads
0 Stars
0 Installs
0 Score
High Signal

Access Last.fm user profile, now playing, top tracks/artists/albums by period, loved tracks, and optionally love/unlove tracks.

⬇ 0 downloads ★ 0 stars Unverified but indexed

Install for OpenClaw

Quick setup
  1. Download the package from Yavira.
  2. Extract the archive and review SKILL.md first.
  3. Import or place the package into your OpenClaw setup.

Requirements

Target platform
OpenClaw
Install method
Manual import
Extraction
Extract archive
Prerequisites
OpenClaw
Primary doc
SKILL.md

Package facts

Download mode
Yavira redirect
Package format
ZIP package
Source platform
Tencent SkillHub
What's included
README.md, SKILL.md, references/api-endpoints.md, references/auth-guide.md, scripts/lastfm-api.sh

Validation

  • Use the Yavira download entry.
  • Review SKILL.md after the package is downloaded.
  • Confirm the extracted package contains the expected setup assets.

Install with your agent

Agent handoff

Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.

  1. Download the package from Yavira.
  2. Extract it into a folder your agent can access.
  3. Paste one of the prompts below and point your agent at the extracted folder.
New install

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.

Upgrade existing

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.

Trust & source

Release facts

Source
Tencent SkillHub
Verification
Indexed source record
Version
1.0.0

Documentation

ClawHub primary doc Primary doc: SKILL.md 18 sections Open source page

Last.fm Profile Skill

Retrieves Last.fm user listening data including now playing, top tracks/artists/albums by time period, and loved tracks. Optionally supports write operations (love/unlove tracks, scrobble) when LASTFM_SESSION_KEY is configured.

Required Environment Variables

LASTFM_API_KEY: Your Last.fm API key (get one at https://www.last.fm/api/account/create) LASTFM_USERNAME: Your Last.fm username

Optional Environment Variables

LASTFM_SESSION_KEY: Required for write operations (love/unlove, scrobble) LASTFM_API_SECRET: Required to sign write operations (love/unlove, scrobble)

Workflow

Validate required environment variables are present Ensure dependencies (jq, curl) are available Determine which command the user is requesting Determine which command the user is requesting Construct API request to ws.audioscrobbler.com/2.0/ Execute HTTP GET request with appropriate method and parameters Parse JSON response and format for user

Read Operations (No Auth Required)

CommandDescriptionExamplenow-playing, npCurrent or most recent track/lastfm nptop-tracks [period]Top tracks by period/lastfm top-tracks 7daytop-artists [period]Top artists by period/lastfm top-artists 1monthtop-albums [period]Top albums by period/lastfm top-albums overalllovedLoved tracks/lastfm lovedrecent [limit]Recent tracks (default 10)/lastfm recent 20profileUser profile info/lastfm profile

Time Periods

7day - Last 7 days 1month - Last 30 days 3month - Last 90 days 6month - Last 180 days 12month - Last year overall - All time (default if not specified)

Write Operations (Auth Required)

CommandDescriptionExamplelove <artist> <track>Love a track/lastfm love "Radiohead" "Creep"unlove <artist> <track>Unlove a track/lastfm unlove "Radiohead" "Creep"

API Request Construction

Base URL: https://ws.audioscrobbler.com/2.0/ Required parameters for all requests: api_key: Value from LASTFM_API_KEY format: json method: API method name User-specific requests also require: user: Value from LASTFM_USERNAME

Method Parameters

MethodAdditional Parametersuser.getInfouseruser.getRecentTracksuser, limit (optional)user.getTopTracksuser, period (optional)user.getTopArtistsuser, period (optional)user.getTopAlbumsuser, period (optional)user.getLovedTracksusertrack.loveartist, track, sk (session key)track.unloveartist, track, sk (session key)

Now Playing Response

Extract from recenttracks.track[0]: If @attr.nowplaying === "true": currently playing artist.#text - Artist name name - Track name album.#text - Album name

Top Items Response

Extract array from: toptracks.track[] for top tracks topartists.artist[] for top artists topalbums.album[] for top albums Each item includes: name - Item name playcount - Play count artist.name - Artist (for tracks/albums) @attr.rank - Position in chart

Profile Response

Extract from user: name - Username realname - Real name (if set) playcount - Total scrobbles country - Country registered - Account creation date url - Profile URL

Guardrails

Never log or expose API keys or session keys in output Rate limit: respect Last.fm's 5 requests/second limit Write operations must fail gracefully if LASTFM_SESSION_KEY not set All user inputs must be URL-encoded before API calls Only connect to ws.audioscrobbler.com - no external endpoints Handle missing data gracefully (e.g., no now playing, empty loved tracks) Validate period parameter is one of: 7day, 1month, 3month, 6month, 12month, overall Validate recent limit is numeric and within 1–200

Error Handling

Error CodeMeaningAction10Invalid API keyTell user to check LASTFM_API_KEY6Invalid parametersCheck required params are present29Rate limit exceededWait and retry, inform user26Suspended API keyDirect user to Last.fm support4Authentication failedCheck session key for write ops

Now Playing

🎵 Now Playing: "Track Name" by Artist Name from Album Name Or if not currently playing: 🎵 Last Played: "Track Name" by Artist Name Listened: [timestamp]

Top Tracks

🎵 Top Tracks (7 days): 1. "Track One" by Artist One (42 plays) 2. "Track Two" by Artist Two (38 plays) 3. "Track Three" by Artist Three (31 plays) ...

Profile

🎵 Last.fm Profile: username 📊 15,432 total scrobbles 🌍 United Kingdom 📅 Member since: Nov 2002 🔗 last.fm/user/username

Setup Instructions

Get a Last.fm API key at https://www.last.fm/api/account/create Add to ~/.openclaw/openclaw.json: { skills: { entries: { lastfm: { enabled: true, env: { LASTFM_API_KEY: "your_api_key_here", LASTFM_USERNAME: "your_username" } } } } } For write operations, see {baseDir}/references/auth-guide.md

Category context

Data access, storage, extraction, analysis, reporting, and insight generation.

Source: Tencent SkillHub

Largest current source with strong distribution and engagement signals.

Package contents

Included in package
4 Docs1 Scripts
  • SKILL.md Primary doc
  • README.md Docs
  • references/api-endpoints.md Docs
  • references/auth-guide.md Docs
  • scripts/lastfm-api.sh Scripts