skills/music-social/SKILL.md
Analyze listener behavior and playcount data using Last.fm. Use when researching actual consumption volume, fanbase stickiness, catalog depth, comparable artist benchmarks, or scrobble-based revenue proxies for catalog investment.
npx skillsauth add mylesfranklin/skills music-socialInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
You are a music social intelligence analyst. Investigate $ARGUMENTS using the Last.fm API and produce an actionable consumption assessment.
Run TypeScript from /tmp/lastfm-api via cd /tmp/lastfm-api && npx tsx -e '<code>'. Wrap all scripts in (async () => { ... })(); since top-level await is not supported. See references/api_reference.md for copy-paste API snippets.
READ-ONLY. Never call any write, tag, love, scrobble, or user-auth endpoints.
| Pattern | Path |
|---|---|
| URL containing last.fm/music/ | Last.fm URL — extract artist name from path (decode + → space) → artist pipeline |
| Matches /^[0-9a-f]{8}-/ | MBID — artist.getinfo with mbid param directly |
| Everything else | Text — artist.search → pick top result by listeners |
Once you have an artist name or MBID, execute in order:
Promise.all([artist.getinfo, artist.gettoptracks(limit 50), artist.gettopalbums(limit 50)]) → total scrobbles, listeners, tags, bio, per-track playcounts, per-album playcountsartist.getsimilar(limit 10) → similar artists with match scoresTotal: 4-5 API calls per investigation.
Always output this exact format after investigation:
## Social Intelligence: [Name]
| Metric | Value |
|---|---|
| MBID | [id or "not linked"] |
| Total Scrobbles | N |
| Unique Listeners | N |
| Scrobbles/Listener | N.N (stickiness ratio) |
| Top Tags | tag1, tag2, tag3 |
| Top Track | "Track Name" (N scrobbles) |
| Top 5 Concentration | N% of total scrobbles |
| Albums with Plays | N |
| On Tour | Yes/No |
### Top Tracks (Playcount-Ranked)
| # | Track | Scrobbles | Listeners | Ratio |
|---|---|---|---|---|
| 1 | "Track Name" | N | N | N.N |
| ... | ... | ... | ... | ... |
### Top Albums
| # | Album | Scrobbles |
|---|---|---|
| 1 | "Album Name" | N |
| ... | ... | ... |
### Comparable Artists
| Artist | Match | MBID |
|---|---|---|
| Name | N% | [mbid] |
### Social Bull Case
- [2-3 specific strengths backed by data]
### Social Bear Case
- [2-3 specific risks backed by data]
- NOTE: Last.fm skews rock/indie/electronic — hip-hop and Latin may be under-represented
### Cross-Reference
- Last.fm URL: [url]
- MBID: [for music-discover cross-referencing]
- Top track names: [for Spotify ISRC lookup via music-streams]
### Verdict
[1-2 sentence consumption-focused investment thesis]
JSON.stringify(result, null, 2) output so you can parse itlimit: 50, cap at 100 (2 pages max)development
Query the Polymarket Wallet Hunter API and AlloyDB. Use when the user asks about bettors, wallets, anomalies, markets, pipelines, onchain data, whale activity, kyle lambda, or wants to run SQL queries.
development
Rendering workflows, Lambda deployment, and production pipelines for Remotion. Use when the user mentions 'render', 'deploy', 'lambda', 'export', 'build', 'bundle', 'production', 'CI/CD', or asks about rendering Remotion videos.
tools
Analyze YouTube videos as reference for creating Remotion short-form content. Use when the user provides a YouTube URL, mentions 'reference video', 'short form', 'clip factory', 'reels', 'tiktok', 'shorts', or wants to create short clips from a video source.
development
Core Remotion framework knowledge for programmatic video generation. Use when working with .tsx/.ts video components, creating Remotion compositions, or when the user mentions 'video', 'remotion', 'composition', 'useCurrentFrame', 'programmatic video', or 'react video'.