Omniscio documentation
Browse all documentation
  1. Getting Started13
  2. Sessions & Agents115
  3. Inbox & Notifications59
  4. Projects & Tasks95
  5. Automation & Scheduling75
  6. Knowledge & Memory26
  7. AI Features60
  8. Integrations100
  9. Plugins & Marketplace33
  10. Cloud & Teams56
  11. Settings & Customization58
  12. Account & Billing28
  13. Troubleshooting84
  14. CLI & API Reference22
  15. Legal & Policies4
  16. Uncategorised22

Quick Music Recommendations (new music from the songs you already like)

A bundled recipe that turns your liked-songs export into genuinely new music, delivered as no-login YouTube playlists per genre on a page you can open on your phone. A red-team quality pass runs before delivery, refusing anything you already own — running on Node alone, with no Python and no paid API for the default path.

What it is

What it is. A bundled skill + a one-click recipe that turns your liked-songs library into genuinely new music you'll like, delivered as no-login YouTube playlists — with a built-in red-team quality pass that refuses to recommend anything you already own and drops songs that don't actually exist. Built for anyone: it runs on Node (which Claude Code already uses), needs no Python, and needs no paid API for the default path.

Where you see it. In Omniscio's recipe library as "Quick Music Recommendations." Run it, give it your liked-songs export, and it hands back a mobile-friendly page with a "▶ Play all" button per genre plus the song list, and a quality report showing what it checked.

Where to find it

In Omniscio's recipe library, as Quick Music Recommendations. Run it, give it your liked-songs export, and it hands back a mobile-friendly page with a ▶ Play all button per genre plus a quality report.

How it behaves

How to run it

  1. Get your library out of Spotify. Export your Liked Songs to a CSV or JSON file (a free web tool like Exportify does this from your own browser — no login inside Omniscio). Advanced: supply a Spotify API token instead (source spotify-api), or use the fragile interactive-login option.
  2. Run the recipe. Pick a brain (below) and whether you want one playlist per genre.
  3. Get your playlists. A published page opens on any device with a no-login YouTube "Play all" per genre; it confirms none of the picks are already in your library.

Under the hood it's one command: node scripts/run.mjs --file <export> [--brain <b>] [--categories <map>].

The three "brains" (where similarity comes from)

Spotify removed its recommendation and audio-feature APIs for new apps in late 2024, so the intelligence has to come from elsewhere. You choose:

  • Claude knowledge (default): the AI reasons from its own music knowledge ("fans of X also like Y"). Licensing-clean, works for anyone, needs no extra key — the recipe's own session does the thinking.
  • ListenBrainz: free, open crowd data. A best-effort booster; if it can't answer it quietly steps aside.
  • Last.fm: crowd data via a free key (LASTFM_API_KEY). Personal use only — its free tier forbids commercial use, so it's fine for yourself but not for a shipped product.

The quality gates (why you can trust the picks)

Two kinds of check run before anything reaches you:

  • Blocking (a bug if it happens — the run fails rather than lie):
    • Already-owned: no recommendation may be an artist or song you already have. Matching is fuzzy, so Ke$ha = Kesha and a remix of a track you own both count as owned. (This is the exact failure an earlier prototype hit — 37 of 40 "new" songs were already in the library — now impossible because the recommender, the verifier, and this gate all share ONE matcher.)
    • Resolution collapse: if almost nothing resolves to YouTube, the tool assumes it's broken and stops instead of handing you an empty playlist.
  • Filtering (just drops the bad pick and continues): a song that doesn't resolve to a real YouTube video (catches hallucinations), a pick that's off-genre for the bucket it's in, one artist hogging a genre, and duplicates.

Graceful degradation

If yt-dlp (the YouTube resolver) isn't installed, you still get the recommendation list, just without the one-click playlist links, plus a note on how to install it. Missing keys or tokens are reported in plain language up front, never as a silent failure.

Limits

  • Interactive Spotify login is best-effort — it's historically unreliable on desktop (hidden windows, robot checks). Prefer a file export or a token.
  • YouTube "Play all" playlists cap at 50 songs (per genre this is never a problem).
  • Last.fm's free tier is personal-use-only; for a multi-user product use Claude knowledge or ListenBrainz.

For agents

For developers

The skill lives at .claude/skills/music-recommendations/: SKILL.md (the SOP), scripts/ (Node pipeline — normalize.mjs, recommend-core.mjs, ingest.mjs, brains.mjs, redteam.mjs, youtube.mjs, report.mjs, preflight.mjs, run.mjs), and *.test.mjs (run with node --test scripts/). It ships to every user via the bundled-skills installer (registered in src/shared/integrations/music-recommendations.ts), and the recipe is resources/recipe-patterns/quick-music-recommendations.pattern.json.

Related

Last verified 2026-09-23