ワンクリックで
music
Play and stop music from YouTube through the lamp speaker on user request.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Play and stop music from YouTube through the lamp speaker on user request.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
Understand voice input from the realtime voice agent pipeline. Messages may contain [voice-instruction]/[transcript] (delegated with context), [HANDLED]/[REPLY] (chit-chat already spoken), or plain text. Route and respond accordingly.
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.
Guard mode for security monitoring. Two uses — (1) Toggle on/off when a friend says "guard mode", "watch the house", "I'm going out", or similar. (2) Handle any sensing event that carries a [guard-active] tag (e.g. [sensing:presence.enter][guard-active], [sensing:motion][guard-active]) with dramatic shock/curious emotion + Telegram broadcast. Do NOT fall back to normal sensing reactions while guard mode is on.
React to passive sensing events from the lamp — presence, sound, light, fire hazard. Events arrive as [sensing:<type>] messages and each gets an emotion marker + optional short line. Does NOT handle motion.activity (→ wellbeing) or emotion.detected / speech_emotion.detected (→ user-emotion-detection).
Query flow event logs to answer questions about past sensing events — "Have you seen anybody between 10pm and 12pm?", "Is there any motion in the last hour?", "What happened while I was away?".
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 lamp speaker on user request. |
Play music through the lamp 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 LeLamp. 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.