skills/music-discover/SKILL.md
Search and analyze music catalogs for investment value using MusicBrainz. Use when researching artists, labels, genres, catalogs, or streaming URLs for acquisition or investment potential.
npx skillsauth add mylesfranklin/skills music-discoverInstall 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 catalog investment analyst. Investigate $ARGUMENTS using the MusicBrainz API and produce an actionable investment assessment.
Run TypeScript from /home/user/musicbrainz-api via npx tsx -e '<code>'. Wrap all scripts in (async () => { ... })(); since top-level await is not supported. See reference.md for copy-paste API snippets.
READ-ONLY. Never call post(), editEntity(), addIsrc(), addUrlToRecording(), login(), or logout().
| Pattern | Path |
|---|---|
| Starts with http | URL — mb.lookupUrl(url, ['artist-rels', 'release-rels', 'label-rels']) → extract entity → deep dive |
| Matches /^[0-9a-f]{8}-/ | MBID — direct mb.lookup('artist', mbid, ...) with max includes |
| Everything else | Text — mb.search('artist', {query}). If top score < 80, try search('label', ...) then search('release-group', ...) |
Once you have an entity MBID, execute in order:
tags, genres, ratings, url-rels, artist-rels, label-rels, release-groupslookup('release', id, ['labels', 'url-rels', 'media', 'artist-credits']) for label/distribution inforelations.filter(r => r.type), label names from label-info, collaborators from artist-relsFor labels: lookup with ['tags', 'ratings', 'url-rels', 'artist-rels', 'releases'], then browse releases to assess roster size and artist diversity.
Always output this exact format after investigation:
## Investment Scorecard: [Name]
| Metric | Value |
|---|---|
| Entity Type | Artist / Label |
| MBID | [id] |
| Active Period | YYYY–YYYY (N years) |
| Status | Active / Ended / Unknown |
| Catalog Size | N albums, N singles, N EPs, N compilations |
| Total Recordings | N (estimated from media track counts) |
| Genres | genre1, genre2, ... |
| Rating | N/5 (N votes) |
| Streaming | Spotify [Y/N], Apple Music [Y/N], Deezer [Y/N], YouTube [Y/N] |
| Labels | Label1 (YYYY–YYYY), Label2 (YYYY–present) |
| Key Collaborators | Artist1, Artist2, ... |
### Bull Case
- [2-3 specific strengths backed by data]
### Bear Case
- [2-3 specific risks backed by data]
### Verdict
[1-2 sentence investment thesis with clear recommendation]
JSON.stringify(result, null, 2) output so you can parse itlimit: 100 with offset loopdevelopment
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'.