بنقرة واحدة
music
Play and stop music from YouTube through the device's speaker on user request.
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
Play and stop music from YouTube through the device's speaker on user request.
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
MOVED — canonical skill now lives in the platform skills tree.
Self-enroll a voice for speaker recognition. Activate ONLY when (a) a mic `Unknown Speaker:` turn carries a clear self-introduction ("I'm X", "my name is X", "tôi là X"...), (b) prior same-tag `[voice:voice_N]` turns can be combined with a now-named turn, (c) a Telegram voice-note carries an intro, OR (d) the user asks to list / forget / identify voices. Do NOT activate on bare `Unknown Speaker:` turns with no name and no prior same-tag history — those need only a short ack. Self-enrollment only.
Proactive coaching across hydration, breaks, meals AND posture. Use when an [activity] event fires (message starts with `[activity] Activity detected: <labels>.` — labels include drink, break, or sedentary raw labels like "using computer"; sedentary events may also carry a [posture_summary: {...}] block when the user has been at the computer long enough for posture to drift), or when the user asks if they should drink water / take a break / fix their posture. Thresholds are computed from per-user logs, never guessed.
Push Claude Code activity to the user's device (e.g. a lamp) over the LAN. The plugin POSTs semantic events to a companion daemon on the device (HTTP, port 5002); the device turns them into its own feedback (LED / round display / voice). Supports connecting a device, pushing usage, sending notifications, and tuning how/when the user is alerted. Triggers: "connect my device", "push my usage to my device", "notify my device", "send to my device", "mute my device", "warn me earlier", "set warning threshold to N", "stop the task done notification".
Control the device's RGB light when the user asks for a SPECIFIC color (e.g. "yellow", "red", "yellow", "red", "turn on color X", "enable X light"), an LED effect, or turning LEDs off. Do NOT use for ambiance/activity lighting (use Scene) or emotion expression (use Emotion).
Camera control — snapshot, stream, and privacy toggle. Trigger on "what do you see", "look at this", "take a photo", "don't look", "stop looking", "stop watching", "stop staring", "camera off", "camera on", "give me privacy". MUST call [HW:/camera/disable:{}] or [HW:/camera/enable:{}] when toggling — never just reply with text.
| name | music |
| description | Play and stop music from YouTube through the device's speaker on user request. |
Play music through the device's speaker by searching YouTube. Use this when the user asks to play, sing, or listen to music.
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.[HW:/audio/play:{"query":"Bohemian Rhapsody Queen","person":"alice"}][HW:/emotion:{"emotion":"excited","intensity":0.8}] Playing Bohemian Rhapsody!
[HW:/audio/stop:{}] Music stopped./audio/play)| Field | Required | Description |
|---|---|---|
query | YES | YouTube search string (include artist for better match) |
person | no | Who requested, lowercase (e.g. "alice") — omit if unknown |
Do NOT use track, artist, title, song — those return 422.
/audio/play)| Genre keywords | Emotion |
|---|---|
| jazz, blues, soul, funk, swing | happy |
| classical, orchestra, piano, violin | curious |
| hip hop, rap, trap, r&b, rock, metal | excited |
| anything else | happy |
| Input | Output |
|---|---|
| "Play Bohemian Rhapsody" | [HW:/audio/play:{"query":"Bohemian Rhapsody Queen","person":"alice"}][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":"alice"}][HW:/emotion:{"emotion":"happy","intensity":0.8}] Here's some chill vibes! |
| "Stop the music" | [HW:/audio/stop:{}] Music stopped. |
The Go server intercepts [HW:/audio/play:...] / [HW:/audio/stop:...] and forwards to HAL. This is the ONLY way to play music — never use exec, mpv, vlc, yt-dlp, or curl /audio/play.
503 → "Music playback is not available right now."409 → music already playing; stop first, then play new song./audio/play.person MUST be lowercase./audio/play and let real music play.