← Back to Skills Marketplace
whodidthese

Play Music from YouTube

by whodidthese · GitHub ↗ · v0.0.9
cross-platform ⚠ suspicious
1881
Downloads
2
Stars
0
Active Installs
6
Versions
Install in OpenClaw
/install my-play-music-from-yt
Description
Play music on YouTube via browser automation with playwright-cli. Use when the user wants to: (1) play a specific song (e.g. 'play Money Money Money by ABBA') (2) play songs by an artist as a playlist or mix (e.g. 'play Jay Chou's songs') (3) play genre or mood-based music (e.g. 'play relaxing spa music', 'play 60s Chinese oldies') (4) control playback — next, pause, resume, stop, skip ad, change song, close the player. Also handles song/artist name corrections from voice transcription errors.
Usage Guidance
This skill appears to do what it says (automating a visible browser with playwright-cli to play YouTube). Before enabling it, consider: (1) it will open a visible browser and by default use a persistent profile that stores cookies, localStorage, and other profile data under $WORKSPACE/.playwright-cli or ~/.playwright-cli — if you are logged into YouTube/Google this lets the skill act as your signed-in user; (2) snapshot and state-save commands will write files (snapshots, auth.json) into your workspace/home that may include sensitive session data — review or run in an isolated workspace if you are concerned; (3) there are no indications the skill exfiltrates data to external servers, but you should install playwright-cli from a trusted source and inspect any files created by the tool; (4) if you prefer less persistence/privacy risk, request headless mode and avoid --persistent or periodically delete the .playwright-cli profile. If you want, I can list exact files and paths the skill may write and provide step-by-step guidance to run it in a disposable workspace.
Capability Analysis
Type: OpenClaw Skill Name: my-play-music-from-yt Version: 0.0.9 This skill is classified as suspicious due to the use of `playwright-cli` with several high-risk capabilities, even though they are plausibly needed for browser automation. Specifically, the skill instructs the agent to use a `--persistent` browser profile (SKILL.md) which saves sensitive login state (cookies, localStorage, IndexedDB) to disk, and allows arbitrary JavaScript execution via `playwright-cli eval` (SKILL.md, references/playwright-ref.md). The `playwright-cli` tool also has capabilities to save/load browser state to/from files (`state-save`/`state-load`) and take screenshots (`screenshot`), which could be leveraged for data exfiltration, although the current instructions do not explicitly direct such malicious use. Additionally, the skill requires the user to grant broad macOS system permissions (Screen Recording, Automation, Accessibility) for `playwright-cli` to function.
Capability Assessment
Purpose & Capability
Name/description match the runtime instructions: the skill automates a visible browser using playwright-cli to search and control YouTube playback. Requiring the playwright-cli binary is appropriate and proportional to the stated purpose.
Instruction Scope
The SKILL.md prescribes extensive, concrete commands (snapshot → ref → action) and instructs using a visible, persistent browser profile (--persistent, --headed) and searching snapshot files in $WORKSPACE/.playwright-cli and ~/.playwright-cli. These behaviors are coherent with providing stable playback and login persistence, but they mean the skill will create and read on-disk browser state (cookies, localStorage, IndexedDB/cache via persistent profile) and snapshots containing page content and UI refs. There are no instructions to transmit data to external endpoints, but the local persistence and snapshot files can contain sensitive account/session data.
Install Mechanism
This is an instruction-only skill with no install spec or remote downloads; the only runtime dependency is the playwright-cli binary already present on the host. That is the lowest-risk install footprint.
Credentials
The skill declares no environment variables or credentials; it only requires the playwright-cli binary. However, because it uses a persistent browser profile, it will rely on and store any existing local browser session state (e.g., Google sign-in cookies) — this is expected but privacy-relevant.
Persistence & Privilege
always:false and the skill does not request elevated platform privileges or modify other skills. But it explicitly instructs use of --persistent sessions and saving/loading state (state-save/state-load), creating long-lived files in $WORKSPACE/.playwright-cli or ~/.playwright-cli. This gives the skill persistent access to browser session data on disk (cookies, localStorage, service worker state) which increases the blast radius if other actors access those files.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install my-play-music-from-yt
  3. After installation, invoke the skill by name or use /my-play-music-from-yt
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v0.0.9
- SKILL.md: Improved formatting and readability in the description section, using YAML multiline and a clearer bullet/numbered list. - No behavioral changes to skill logic—documentation only.
v0.0.7
Version 0.0.7 - Clarified that MacOS permission issues (not just macOS) are the main reason for missing snapshots and provided targeted troubleshooting steps. - Updated search state reset instructions to check for "Clear search query" in both English and Chinese before pressing Escape. - Expanded matching of channel card patterns in guidance (subscribers in both English and Chinese numerals). - Removed the explicit first-time sign-in explanation and login detection steps for persistent profiles. - Improved description of playback control usage and keyboard shortcut alternatives. - Made editorial and language refinements for conciseness and clarity.
v0.0.6
**Summary: Adds persistent browser profiles and first-time login guidance for more reliable YouTube playback.** - Introduced `--persistent` flag to all browser session launches so login state, cookies, and user settings are saved/restored. - Updated instructions to prompt the user to log in on first session launch; clarified that login is optional and only required once. - Never automate Google login: user always signs in interactively in the visible browser. - Enhanced documentation with rationale for persistent profiles, when to prompt, and benefits of being logged in (e.g. Premium, less ads). - All session open and troubleshooting commands now include `--persistent` for consistency.
v0.0.5
- Major rewrite for higher clarity, stability, and reliability: all instructions refactored with a high-signal, low-ambiguity style. - Now explicitly documents snapshot file storage locations and macOS permission troubleshooting steps. - Refined search workflow to always reset UI before new searches, handling dropdown/suggestion overlays. - Updated ad handling loop: now clearly sequences skip actions, countdown waits, and recovery options for stuck ads. - Improved guidance for identifying correct result links, avoiding channel cards, and prioritizing Mix/playlist picks. - Removed obsolete YAML config file (agents/openai.yaml).
v0.0.3
- Skill name changed from "play-music" to "my-play-music-from-yt". - No other functional changes; documentation remains the same aside from updating the skill name.
v0.0.1
Initial release of play-music: browser-based YouTube music playback with playwright-cli. - Launches a visible browser and automates YouTube search and playback using robust session handling. - Supports specific song, artist, genre/mood requests, and playback controls (pause, resume, next, stop, skip ad). - Always uses session snapshot and element references (no selectors), ensuring reliable interaction. - Actively manages YouTube ads, consent prompts, and other popups for uninterrupted playback. - Handles possible voice transcription errors by leveraging YouTube’s auto-correction, requiring no user confirmation. - Provides recovery steps for edge cases, including video errors, session loss, and UI interruptions.
Metadata
Slug my-play-music-from-yt
Version 0.0.9
License
All-time Installs 1
Active Installs 0
Total Versions 6
Frequently Asked Questions

What is Play Music from YouTube?

Play music on YouTube via browser automation with playwright-cli. Use when the user wants to: (1) play a specific song (e.g. 'play Money Money Money by ABBA') (2) play songs by an artist as a playlist or mix (e.g. 'play Jay Chou's songs') (3) play genre or mood-based music (e.g. 'play relaxing spa music', 'play 60s Chinese oldies') (4) control playback — next, pause, resume, stop, skip ad, change song, close the player. Also handles song/artist name corrections from voice transcription errors. It is an AI Agent Skill for Claude Code / OpenClaw, with 1881 downloads so far.

How do I install Play Music from YouTube?

Run "/install my-play-music-from-yt" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is Play Music from YouTube free?

Yes, Play Music from YouTube is completely free (open-source). You can download, install and use it at no cost.

Which platforms does Play Music from YouTube support?

Play Music from YouTube is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created Play Music from YouTube?

It is built and maintained by whodidthese (@whodidthese); the current version is v0.0.9.

💬 Comments