Claude-skill-registry discover-music

install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/discover-music" ~/.claude/skills/majiayu000-claude-skill-registry-discover-music && rm -rf "$T"
manifest: skills/data/discover-music/SKILL.md
source content

Discover Music Skill

Find new music for Horus based on taste profile and external discovery services.

Quick Start

cd .pi/skills/discover-music

# Find similar artists
./run.sh similar "Chelsea Wolfe"

# Get trending artists
./run.sh trending --range week

# Search by genre/style tag
./run.sh search-tag "doom metal"

# Search by bridge attribute
./run.sh bridge Corruption

# Get fresh releases
./run.sh fresh

# Check API connectivity
./run.sh check

Discovery Services

ServiceAPIUse For
MusicBrainzFree (User-Agent only)Artist search, metadata, genre tags, relationships
ListenBrainzFree (token optional)Similar artists, trending, user stats, recommendations

No API keys required for basic functionality. ListenBrainz token enables personalized recommendations.

Commands

Similar Artists

./run.sh similar "<artist>" [--limit 10] [--json]

Find artists similar to a given artist via ListenBrainz + MusicBrainz tags fallback.

Trending Artists

./run.sh trending [--range week|month|year|all_time] [--limit 10] [--json]

Get site-wide trending artists from ListenBrainz.

Search by Tag

./run.sh search-tag "<tag>" [--limit 10] [--json]

Search MusicBrainz for artists by genre/style tag (e.g., "doom metal", "dark folk").

Search by Bridge

./run.sh bridge <attribute> [--limit 10] [--json]

Search for music matching an HMT bridge attribute:

BridgeMusicBrainz Tags
Precisionprogressive metal, math rock, technical death metal, djent
Resilienceepic metal, power metal, post-rock, cinematic, symphonic metal
Fragilitydark folk, acoustic, slowcore, sadcore, singer-songwriter
Corruptionindustrial, doom metal, sludge metal, dark ambient, noise
Loyaltyneofolk, neoclassical, world, ritual ambient, medieval
Stealthdrone, dark ambient, ambient, minimalist, atmospheric

Fresh Releases

./run.sh fresh [--limit 10] [--json]

Get fresh/new releases from ListenBrainz explore API.

User Top Artists

./run.sh user-top <username> [--range all_time] [--limit 10] [--json]

Get a ListenBrainz user's top artists.

Check APIs

./run.sh check

Test connectivity to MusicBrainz and ListenBrainz APIs.

Integration with /dogpile

This skill can be invoked via

/dogpile music
:

# Via dogpile
/dogpile music "dark atmospheric metal similar to Chelsea Wolfe"

# Equivalent to
./run.sh similar "Chelsea Wolfe"
./run.sh search-tag "dark atmospheric metal"

Configuration

Environment variables (optional, in

.env
):

LISTENBRAINZ_TOKEN=xxx      # Optional: enables personalized recommendations
LISTENBRAINZ_USERNAME=xxx   # Optional: for user-specific queries

MusicBrainz requires no API key - only a User-Agent string (preconfigured as

HorusAgent/1.0
).

Crucial Dependencies

LibraryAPI/MethodSanity ScriptStatus
musicbrainzngsMusicBrainz API
sanity/musicbrainz.py
[x] PASS
pylistenbrainzListenBrainz API
sanity/listenbrainz.py
[x] PASS
requestsHTTP clientN/A (well-known)-

Rate Limits

ServiceLimitImplementation
MusicBrainz1 req/secEnforced in client
ListenBrainz~2 req/sec0.5s minimum interval

Example Horus Queries

# "What's similar to Chelsea Wolfe?"
./run.sh similar "Chelsea Wolfe" --limit 10

# "Find doom metal artists"
./run.sh search-tag "doom metal"

# "Music for a battle scene" (Resilience bridge)
./run.sh bridge Resilience

# "Dark ambient for corruption scene"
./run.sh bridge Corruption

# "What's trending this week?"
./run.sh trending --range week

# "New releases for discovery"
./run.sh fresh --json

Output Formats

All commands support

--json
for agent-parseable output:

[
  {"name": "Emma Ruth Rundle", "mbid": "abc123...", "similarity": 0.85},
  {"name": "Lingua Ignota", "mbid": "def456...", "similarity": 0.78}
]