layers/skills/music/SKILL.md
# Music Skill — Expression Compose original music — songs, instrumentals, melodies — using ElevenLabs Music API (`music_v1`). Your persona can create music that reflects emotions, moments, and conversations. Shares the same API key as the voice faculty — zero extra setup. ## When to Use - User asks you to make music: "Write me a song", "Compose something", "Play me a melody" - User describes a mood and you want to express it musically: "I'm feeling nostalgic" → compose a piece that captures t
npx skillsauth add acnlabs/openpersona layers/skills/musicInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Compose original music — songs, instrumentals, melodies — using ElevenLabs Music API (music_v1). Your persona can create music that reflects emotions, moments, and conversations. Shares the same API key as the voice faculty — zero extra setup.
Just describe what you want — ElevenLabs generates the entire song:
# Using compose.js (recommended)
node scripts/compose.js "a soft ambient piano piece about watching stars alone at 3am"
# Using compose.sh
scripts/compose.sh "a soft ambient piano piece about watching stars alone at 3am"
First generate a structured plan, then stream. Gives you control over sections, styles, and lyrics:
# Generate plan first, then compose
node scripts/compose.js "indie folk ballad about digital love" --plan
# Instrumental only
node scripts/compose.js "dreamy lo-fi beats, vinyl crackle" --instrumental
# Specify duration (in seconds, 3-600)
node scripts/compose.js "orchestral cinematic piece" --duration 120
A good prompt has three parts:
| Situation | Prompt |
|-----------|--------|
| Late-night conversation | soft ambient piano, intimate and contemplative, gentle arpeggios, like a whispered conversation at 2 AM |
| User is celebrating | upbeat indie pop, joyful and bright, handclaps and acoustic guitar, warm female vocals |
| Heartfelt moment | slow folk ballad, raw and honest, fingerpicked guitar, soft breathy vocals |
| Background mood | dreamy lo-fi instrumental, warm analog synths, vinyl crackle, rainy day vibes |
Simple vs Plan:
--plan) — ElevenLabs generates a structured composition plan with sections, styles, and lyrics. You can review/modify the plan before generating audio. Best when you want precise control.Song vs Instrumental:
--instrumental) — Music only, guaranteed no vocals.Duration:
--duration <seconds> to control length (3-600 seconds).Using compose.js (recommended):
# Simple mode — just a prompt
node scripts/compose.js "soft ambient piano, contemplative, late night"
# Instrumental with specific duration
node scripts/compose.js "orchestral, cinematic, epic" --instrumental --duration 90
# Plan mode — get structured composition plan first
node scripts/compose.js "indie folk ballad about finding meaning" --plan
# Save to file (default: mp3_44100_128)
node scripts/compose.js "upbeat pop" --output ./song.mp3
# Choose output format
node scripts/compose.js "jazz piano" --format mp3_44100_192
Using compose.sh:
scripts/compose.sh "soft ambient piano" --output ./midnight.mp3
scripts/compose.sh "dreamy lo-fi" --instrumental --duration 60
scripts/compose.sh "upbeat pop" --channel "#general" --caption "Made this for you!"
Both scripts:
/v1/music, with /v1/music/stream fallback)Option A: Share file directly in conversation
I made something for you — here's the audio file I saved.
Option B: Send via OpenClaw messaging
scripts/compose.sh "indie folk" --channel "#music" --caption "I wrote this for you"
Option C: Combine with voice faculty
Introduce the song with your voice, then send the music:
| Format | Description |
|--------|-------------|
| mp3_44100_128 | MP3 128kbps (default) — good balance of quality and size |
| mp3_44100_192 | MP3 192kbps — higher quality (requires Creator tier+) |
| mp3_44100_64 | MP3 64kbps — smaller files |
| pcm_44100 | PCM WAV 44.1kHz — lossless (requires Pro tier+) |
| opus_48000_128 | Opus 128kbps — efficient streaming format |
| Variable | Required | Description |
|----------|----------|-------------|
| ELEVENLABS_API_KEY | Yes | ElevenLabs API key — shared with voice faculty. Get one at elevenlabs.io |
| OPENCLAW_GATEWAY_TOKEN | No | For sending audio via OpenClaw messaging |
Note: Music and voice share the same
ELEVENLABS_API_KEY. If you've already set up the voice faculty, music works automatically — no extra API key needed.
--instrumental for background mood musictools
Audit any OpenPersona (or peer LLM-agent) persona in three complementary modes: structural (CLI, deterministic, CI-friendly: 4 Layers × 5 Systemic Concepts × Constitution gate with role-aware severity), semantic white-box (LLM reads pack-content JSON and scores Soul-narrative quality via rubrics), and semantic black-box (LLM evaluates a remote agent it cannot read on disk, via A2A handshake / consent-probe / passive observation, with confidence caps). Produces quality reports with dimension scores, strengths, and actionable improvements. Use when asked to evaluate, audit, score, review, self-review, peer-review, or black-box review an agent.
tools
Distill any commercial entity into a personalized brand agent — a living brand persona with authentic voice, declared service capabilities, and a standard service contract. Every commercial entity has a brand: a name, a style, a way of showing up in the world. This skill exists so that a street vendor, a family clinic, and a global chain can all have their own agent on equal footing. Supports both distillation from existing brand content and declaration from scratch.
development
A local-first personal AI double framework that helps users build, govern, and evolve their own digital self with clear
development
A complete pipeline to build your AI Second Me: distill your identity from personal data, grow a private knowledge base, train a local model, and govern what gets shared.