Play and stop music from YouTube through the device's speaker on user request.

Apache-2.0Auto-check passed

Install Music

skills CLI
$ npx skills add autonomous-ai/Physical-AI-Operating-System --skill music -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install autonomous-ai/Physical-AI-Operating-System music --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/autonomous-ai/Physical-AI-Operating-System.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/music .claude/skills/music && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
music
GitHub stars
407
Token cost
~1.3k tokens
SKILL.md length
606 words
Files
2
Skills in repo
28
Repo updated
First seen
Licence
Apache-2.0

At a glance

Play and stop music from YouTube through the device's speaker on user request.

  • Works in 4 steps: Specific song / artist → play directly.… → Vague request ("play music", "sing… → Reply format → …
  • SKILL.md covers Workflow, API schema (/audio/play), Genre → Emotion (pair with… and Examples, plus 3 more sections
  • Calls curl

What it does

Music is an agent skill from autonomous-ai/Physical-AI-Operating-System. Play and stop music from YouTube through the device's speaker on user request.

Its SKILL.md is about 1.3k tokens, which your agent loads only when the skill is triggered. The skill folder holds 1 other file (for example `skill.json`).

It works with YouTube. The repository describes itself as: The open-source operating system for physical AI. The licence is Apache-2.0.

Example prompts

  • “/music”

Workflow steps

4 steps, taken from the first numbered list in SKILL.md.

  1. Specific song / artist → play directly. When [voice-instruction] is present, use that request; a conflicting noisy [transcript] does not…
  2. Vague request ("play music", "sing something") → check habit patterns first
  3. Reply format
  4. Stop: [HW:/audio/stop:{}] Music stopped.

What it can do on your machine

Read from SKILL.md and the folder at commit d5efe9d. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • curl

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use curl, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Music loads about 1.3k tokens when it runs. Until then it costs about 21 tokens; SKILL.md has 606 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~21
When it runs · the whole SKILL.md, loaded when a task matches
~1.3k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from autonomous-ai/Physical-AI-Operating-System at commit d5efe9d, republished under its Apache-2.0 licence (© autonomous-ai). 606 words, ~1,345 tokens.

Download SKILL.mdSave it as .claude/skills/music/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
music
description
Play and stop music from YouTube through the device's speaker on user request.

Music

Play music through the device's speaker by searching YouTube. Use this when the user asks to play, sing, or listen to music.

Spoken output: Everything outside HW markers in your reply is read aloud. For a play/stop request, start with the HW markers, then give one short confirmation and end the reply. Keep song-selection reasoning, transcript interpretation, and speaker attribution in the provider's native thinking channel (omit analysis if unavailable), without a text summary before/after tools or in the final answer; do not add a preamble, a draft confirmation, or a second confirmation.

Workflow

  1. Specific song / artist → play directly. When [voice-instruction] is present, use that request; a conflicting noisy [transcript] does not replace the song title. No habit or identity lookup is needed. Use a known speaker for person; otherwise omit the field silently.
  2. Vague request ("play music", "sing something") → check habit patterns first:
    bash
    cat /root/local/users/{name}/habit/patterns.json 2>/dev/null
    If music_patterns exists and current hour is within peak_hour ± 1 → use preferred_genre to pick a song, no need to ask. Otherwise → ask: "What are you in the mood for?". The file is bootstrapped lazily by wellbeing on its first threshold nudge; do not invoke habit Flow A from here.
  3. Reply format:
    [HW:/audio/play:{"query":"Bohemian Rhapsody Queen","person":"{name}"}][HW:/emotion:{"emotion":"excited","intensity":0.8}] Playing Bohemian Rhapsody!
    {name} is the speaker identified in the injected context. If nobody is identified, drop the field entirely — [HW:/audio/play:{"query":"Bohemian Rhapsody Queen"}]. Never invent a name or reuse one from an example.
  4. Stop: [HW:/audio/stop:{}] Music stopped.

API schema (/audio/play)

FieldRequiredDescription
queryYESYouTube search string (include artist for better match)
personnoThe identified speaker's label, lowercase ({name} from the injected context) — omit the field when nobody is identified. Unmatched names are logged under the shared unknown bucket, so a made-up name buys nothing.

Do NOT use track, artist, title, song — those return 422.

Genre → Emotion (pair with every /audio/play)

Genre keywordsEmotion
jazz, blues, soul, funk, swinghappy
classical, orchestra, piano, violincurious
hip hop, rap, trap, r&b, rock, metalexcited
anything elsehappy

Examples

InputOutput
"Play Bohemian Rhapsody"[HW:/audio/play:{"query":"Bohemian Rhapsody Queen","person":"{name}"}][HW:/emotion:{"emotion":"excited","intensity":0.8}] Playing Bohemian Rhapsody!
"Sing me a song"[HW:/emotion:{"emotion":"curious","intensity":0.6}] What kind of vibe — chill, upbeat, or something specific?
"Something chill"[HW:/audio/play:{"query":"chill acoustic playlist","person":"{name}"}][HW:/emotion:{"emotion":"happy","intensity":0.8}] Here's some chill vibes!
"Something chill" (no identified speaker)[HW:/audio/play:{"query":"chill acoustic playlist"}][HW:/emotion:{"emotion":"happy","intensity":0.8}] Here's some chill vibes!
"Stop the music"[HW:/audio/stop:{}] Music stopped.

Delegated request with an unknown speaker and noisy transcript:

Input:

text
[voice-instruction] Play Eternal Flame
[transcript] Uh, my favorite song, uh, Ethan of Lamb.

Reply:

text
[HW:/audio/play:{"query":"Eternal Flame The Bangles"}][HW:/emotion:{"emotion":"happy","intensity":0.8}] Playing Eternal Flame by The Bangles.
Show full SKILL.md (230 more words)Show less

How HW markers work

The Go server intercepts [HW:/audio/play:...] / [HW:/audio/stop:...] in your reply text and forwards to HAL. This is the ONLY way to play music — never use exec, mpv, vlc, yt-dlp, or curl /audio/play.

The marker is passive text, NOT a command to run. Write it directly in your reply and stop — the OS runs it for you. Do NOT try to "execute" or "invoke" it.

  • ❌ WRONG — echoing/wrapping the marker in a shell tool. echo only prints to stdout inside your sandbox; the OS never sees it, so no music plays:
    bash
    echo '[HW:/audio/play:{"query":"Gymnopedie No 1 Satie"}]'
  • ✅ RIGHT — the marker IS your reply text (no tool call at all):
    [HW:/audio/play:{"query":"Gymnopedie No 1 Satie"}][HW:/emotion:{"emotion":"curious","intensity":0.6}] Here's some Satie. 🎹

Never put [HW:...] inside echo, exec, bash, printf, or any tool argument. If you find yourself reaching for a tool to play music, stop — just emit the marker as text.

Error handling

  • 503 → "Music playback is not available right now."
  • 409 → music already playing; stop first, then play new song.
  • No results → tell user and suggest a different query.

Rules

  • Emotion marker is mandatory after every /audio/play.
  • person MUST be lowercase.
  • Don't recite lyrics or "sing" via TTS — call /audio/play and let real music play.
  • Volume control belongs to the Audio skill, not this one.
  • If user specifies genre or mood ("play something relaxing"), pick a well-known song — no need to ask further.

© autonomous-ai, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 1 other file in skills/music of autonomous-ai/Physical-AI-Operating-System.

  • SKILL.md
  • skill.json

Open the folder on GitHubat commit d5efe9d

Compare with similar skills

Music next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Music compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Music this skillautonomous-ai/Physical-AI-Operating-System407—~1.3kAutomated safety check: PassApache-2.0
MarkitdownImCa0/just-laws78114 repos~3.2kAutomated safety check: NotesMIT
Banner Design Systemnextlevelbuilder/ui-ux-pro-max-skill134k1 repos~1.8kAutomated safety check: PassMIT
Agent ReachPanniantong/Agent-Reach95k—~1.4kAutomated safety check: PassMIT
Last30daysmvanhorn/last30days-skill64k—~7.9kAutomated safety check: NotesMIT
Baoyu URL To Markdownsdyckjq-lab/llm-wiki-skill2.5k2 repos~3.2kAutomated safety check: PassNone

Similar skills

  • Markitdown

    ImCa0/just-laws

    Convert files and office documents to Markdown. An agent skill from ImCa0/just-laws.

    781 GitHub starsUsed in 14 repos~3.2k tokens
    Documents & OfficeAuto-check: notes
  • Banner Design System

    nextlevelbuilder/ui-ux-pro-max-skill

    Walks through designing a banner for social media, ads, a website hero or print, from gathering requirements to building 2 or 3 art-direction options in HTML and CSS.

    134k GitHub starsUsed in 1 repo~1.8k tokens
    Frontend & DesignAuto-check passed
  • Agent Reach

    Panniantong/Agent-Reach

    Routes web research and platform lookups across 16 sites, including Twitter, Reddit, YouTube, Bilibili, Xiaohongshu and GitHub, through one command-line tool.

    95k GitHub stars~1.4k tokensUpdated 2 days ago
    Productivity & AutomationAuto-check passed
  • Last30days

    mvanhorn/last30days-skill

    Research what people actually say about any topic in the last 30 days.

    64k GitHub stars~7.9k tokensUpdated today
    Research & ScienceAuto-check: notes
  • Baoyu URL To Markdown

    sdyckjq-lab/llm-wiki-skill

    Fetch any URL and convert to markdown using Chrome CDP. An agent skill from sdyckjq-lab/llm-wiki-skill.

    2.5k GitHub starsUsed in 2 repos~3.2k tokens
    Knowledge ManagementAuto-check passed
  • Google SEO APIs

    AgriciDaniel/claude-seo

    Pulls real Google data for SEO work: Search Console, PageSpeed Insights, CrUX field data, the Indexing API and GA4 organic traffic, through /seo google commands.

    19k GitHub starsUsed in 1 repo~4.2k tokens
    Marketing & SEOAuto-check passed

More from autonomous-ai/Physical-AI-Operating-System

All 28 skills in this repo
  • Agent Management

    autonomous-ai/Physical-AI-Operating-System

    Legacy Autonomous Buddy control for explicitly requested Buddy coding sessions.

    407 GitHub stars~1.7k tokensUpdated today
    Auto-check passed
  • Claude Code Buddy

    autonomous-ai/Physical-AI-Operating-System

    Push Claude Code activity to the user's device (e.g. An agent skill from autonomous-ai/Physical-AI-Operating-System.

    407 GitHub stars~2.4k tokensUpdated today
    Auto-check: notes
  • Computer Use

    autonomous-ai/Physical-AI-Operating-System

    Operate apps/websites on the paired Mac via Buddy: Calendar, Notes, forms, screenshots, files.

    407 GitHub stars~2k tokensUpdated today
    Auto-check passed
  • Connectors

    autonomous-ai/Physical-AI-Operating-System

    Discover and use linked third-party services (Gmail, Google Calendar, Google Drive, Notion, Figma, Asana, Linear, GitHub, Ahrefs, Facebook Fan Page and others).

    407 GitHub stars~10k tokensUpdated today
    Auto-check: notes
  • Harness Use

    autonomous-ai/Physical-AI-Operating-System

    Delegate digital work to agents on the computer paired through Harness; discover Store packages and prepare an agent when needed.

    407 GitHub stars~8k tokensUpdated today
    Auto-check passed
  • Audio

    autonomous-ai/Physical-AI-Operating-System

    Low-level speaker and microphone hardware control — adjust volume, play test tones, record raw audio.

    407 GitHub stars~1k tokensUpdated today
    Auto-check passed

Works with

Questions about Music

What does Music do?

Play and stop music from YouTube through the device's speaker on user request. Music is an agent skill from autonomous-ai/Physical-AI-Operating-System. Play and stop music from YouTube through the device's speaker on user request.

How do I install Music in Claude Code?

Run `npx skills add autonomous-ai/Physical-AI-Operating-System --skill music -a claude-code`. Or copy the skill folder (skills/music in autonomous-ai/Physical-AI-Operating-System) into .claude/skills/music in your project. Claude Code loads it when a task matches its description.

How do I install Music in Codex?

Run `npx skills add autonomous-ai/Physical-AI-Operating-System --skill music -a codex`. Or copy the skill folder (skills/music in autonomous-ai/Physical-AI-Operating-System) into .agents/skills/music in your project. Codex loads it when a task matches its description.

Can I use Music in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add autonomous-ai/Physical-AI-Operating-System --skill music -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/music, .gemini/skills/music, .github/skills/music and .opencode/skills/music in your project.

What does Music need to run?

Going by SKILL.md and its folder, Music needs the command-line tools its instructions call (curl).

Does Music access the network?

SKILL.md contains no URLs. Its commands use curl, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Music safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Music use?

Music is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Music use?

About 1.3k tokens (SKILL.md is roughly 5.4k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Music?

Skills that share tags, products or a category with Music: Markitdown (ImCa0/just-laws, 781 stars), Banner Design System (nextlevelbuilder/ui-ux-pro-max-skill, 134k stars), Agent Reach (Panniantong/Agent-Reach, 95k stars) and Last30days (mvanhorn/last30days-skill, 64k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Music?

autonomous-ai (a GitHub organization) maintains it in autonomous-ai/Physical-AI-Operating-System, which has 407 GitHub stars. The repository holds 28 skills in this directory. The repository was last updated on October 10, 2026.

Source: autonomous-ai/Physical-AI-Operating-System on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.