skills$openclaw/ytmusic-librarian
gentrycopsy9.4k

by gentrycopsy

ytmusic-librarian – OpenClaw Skill

ytmusic-librarian is an OpenClaw Skills integration for coding workflows. Manage YouTube Music library, playlists, and discovery via ytmusicapi.

9.4k stars4.9k forksSecurity L1
Updated Feb 7, 2026Created Feb 7, 2026coding

Skill Snapshot

nameytmusic-librarian
descriptionManage YouTube Music library, playlists, and discovery via ytmusicapi. OpenClaw Skills integration.
ownergentrycopsy
repositorygentrycopsy/ytmusic
languageMarkdown
licenseMIT
topics
securityL1
installopenclaw add @gentrycopsy/ytmusic
last updatedFeb 7, 2026

Maintainer

gentrycopsy

gentrycopsy

Maintains ytmusic-librarian in the OpenClaw Skills directory.

View GitHub profile
File Explorer
2 files
.
_meta.json
277 B
SKILL.md
1.9 KB
SKILL.md

name: ytmusic-librarian description: Manage YouTube Music library, playlists, and discovery via ytmusicapi.

YTMusic Librarian

This skill uses the ytmusicapi Python library to interact with YouTube Music.

Prerequisites

  • Python 3.x
  • ytmusicapi package: pip install ytmusicapi
  • Authentication file (oauth.json or browser.json) in the skill folder.

Setup Instructions

  1. Install the library:

    pip install ytmusicapi
    
  2. Generate Authentication (The "cURL Handshake"):

    • Open Microsoft Edge and visit music.youtube.com (ensure you are logged in).
    • Press F12 to open DevTools, go to the Network tab.
    • Click your Profile Icon -> Library on the page.
    • Look for a request named browse in the network list.
    • Right-click the browse request -> Copy -> Copy as cURL (bash).
    • Paste that cURL command into a file named headers.txt in the skill folder.
    • Run the following Python snippet to generate browser.json:
      from ytmusicapi.auth.browser import setup_browser
      with open('headers.txt', 'r') as f:
          setup_browser('browser.json', f.read())
      
    • Ensure browser.json is located in the skill folder.
  3. Verify:

    python -c "from ytmusicapi import YTMusic; yt = YTMusic('browser.json'); print(yt.get_library_songs(limit=1))"
    

Workflows

Library Management

  • List songs/albums: yt.get_library_songs(), yt.get_library_albums()
  • Add/Remove: yt.rate_song(videoId, 'LIKE'), yt.edit_song_library_status(feedbackToken)

Playlist Management

  • Create: yt.create_playlist(title, description)
  • Add Tracks: yt.add_playlist_items(playlistId, [videoIds])
  • Remove Tracks: yt.remove_playlist_items(playlistId, [videoIds])

Metadata & Discovery

  • Get Lyrics: yt.get_lyrics(browseId)
  • Get Related: yt.get_watch_playlist(videoId) -> related
README.md

No README available.

Permissions & Security

Security level L1: Low-risk skills with minimal permissions. Review inputs and outputs before running in production.

Requirements

- Python 3.x - `ytmusicapi` package: `pip install ytmusicapi` - Authentication file (`oauth.json` or `browser.json`) in the skill folder.

FAQ

How do I install ytmusic-librarian?

Run openclaw add @gentrycopsy/ytmusic in your terminal. This installs ytmusic-librarian into your OpenClaw Skills catalog.

Does this skill run locally or in the cloud?

OpenClaw Skills execute locally by default. Review the SKILL.md and permissions before running any skill.

Where can I verify the source code?

The source repository is available at https://github.com/openclaw/skills/tree/main/skills/gentrycopsy/ytmusic. Review commits and README documentation before installing.