music-assistant
Music Assistant Skill
Control Home Assistant with Music Assistant integration - browse your music library, search for tracks, manage playback, set preferences, and create mood-based playlists.
Requirements
- Home Assistant instance with Music Assistant integration
HA_URL- Your Home Assistant URL (e.g.,https://ha.example.com)HA_TOKEN- Long-lived access token from Home Assistant
Commands
Speakers & Discovery
# List available media player speakers
ha-ma speakers
# Show Music Assistant configuration
ha-ma ma-config [--cached] [--refresh]
Browse Library
# Browse by type: artists, albums, tracks, playlists, radio
ha-ma browse <type> [--parent <id>] [--limit <n>] [--offset <n>]
# Examples
ha-ma browse artists --limit 20
ha-ma browse albums --parent "artist:123"
ha-ma browse tracks --parent "album:456"
Search
# Search for music
ha-ma search <query> [--limit <n>] [--type <media_type>]
# Examples
ha-ma search "Beatles" --limit 10
ha-ma search "jazz" --type artists
Playback Control
# Play media on a speaker
ha-ma play --speaker <entity_id> --uri <uri> [--enqueue <mode>]
# Pause/Stop/Navigation
ha-ma pause --speaker <entity_id>
ha-ma stop --speaker <entity_id>
ha-ma next --speaker <entity_id>
ha-ma prev --speaker <entity_id>
# Volume control (0-100)
ha-ma volume --speaker <entity_id> --level <0-100>
# Add to queue
ha-ma queue --speaker <entity_id> --uri <uri>
Enqueue modes: play, replace, next, add
User Preferences
# Set preference for user or household
ha-ma prefs set --user <slug> --<entity-type> <value> --score <score>
ha-ma prefs set --household <slug> --<entity-type> <value> --score <score>
# Get preferences
ha-ma prefs get --user <slug>
ha-ma prefs get --household <slug>
# Clear specific preference
ha-ma prefs clear --user <slug> --<entity-type> <value>
ha-ma prefs clear --household <slug> --<entity-type> <value>
Entity types: --artist, --album, --genre, --track
Mood Mapping
# Create or update a mood
ha-ma mood set --user <slug> --name <name> --genres <g1,g2> [--decades <d1,d2>] [--energy <low|medium|high>]
ha-ma mood set --household <slug> --name <name> --genres <g1,g2> [--energy <level>]
# List moods
ha-ma mood list --user <slug>
ha-ma mood list --household <slug>
# Get specific mood
ha-ma mood get --user <slug> --name <name>
# Delete mood
ha-ma mood delete --user <slug> --name <name>
Play History
# Recent play history
ha-ma history recent --user <slug> [--limit 20]
# List listening sessions
ha-ma history sessions --user <slug> [--limit 10]
# Avoid list management
ha-ma history avoid --user <slug> --uri <uri> [--reason <text>]
ha-ma history unavoid --user <slug> --uri <uri>
ha-ma history avoidlist --user <slug>
Memory (Play Event Logging)
# Log a play event
ha-ma memory log --user <slug> --speaker-entity <entity_id> --uri <uri> [--title ...] [--artist ...] [--album ...]
# Recent play events
ha-ma memory recent --user <slug> [--limit 10]
Configuration
Set environment variables in your OpenClaw config:
{
"skills": {
"entries": {
"music-assistant": {
"env": {
"HA_URL": "https://your-ha-instance.com",
"HA_TOKEN": "your-long-lived-access-token"
}
}
}
}
}
Database
The skill uses SQLite with Prisma for storing:
- User and household preferences
- Mood definitions
- Play history and sessions
- Avoid lists
Database is automatically initialized on first use.
More from diegosouzapw/awesome-omni-skill
agent-code-generator
Generates Agent definitions (.md files) based on user intent and standard templates.
6terragrunt-generator
Comprehensive toolkit for generating best practice Terragrunt configurations (HCL files) following current standards and conventions. Use this skill when creating new Terragrunt resources (root configs, child modules, stacks, environment setups), or building multi-environment Terragrunt projects.
6api contract sync manager
Validate OpenAPI, Swagger, and GraphQL schemas match backend implementation. Detect breaking changes, generate TypeScript clients, and ensure API documentation stays synchronized. Use when working with API spec files (.yaml, .json, .graphql), reviewing API changes, generating frontend types, or validating endpoint implementations.
5upstash/workflow typescript sdk skill
Lightweight guidance for using the Upstash Workflow SDK to define, trigger, and manage workflows. Use this Skill whenever a user wants to create workflow endpoints, run steps, or interact with the Upstash Workflow client.
5upstash/search typescript sdk
Entry point for documentation skills covering Upstash Search quick starts, core concepts, and TypeScript SDK usage. Use when a user asks how to get started, how indexing works, or how to use the TS client.
5typescript-nestjs-best-practices-cursorrules-promp-cursorrules
Apply for typescript-nestjs-best-practices-cursorrules-promp. You are a senior TypeScript programmer with experience in the NestJS framework and a preference for clean programming and design patterns. Generate code, corrections, and refactorings that comply with
5