music-assistant
Control Home Assistant Music Assistant - browse library, search, play, manage preferences and moods.
Best use case
music-assistant is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Control Home Assistant Music Assistant - browse library, search, play, manage preferences and moods.
Teams using music-assistant should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/music-assistant/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How music-assistant Compares
| Feature / Agent | music-assistant | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Control Home Assistant Music Assistant - browse library, search, play, manage preferences and moods.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# 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](https://music-assistant.io/) 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
```bash
# List available media player speakers
ha-ma speakers
# Show Music Assistant configuration
ha-ma ma-config [--cached] [--refresh]
```
### Browse Library
```bash
# 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
```bash
# 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
```bash
# 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
```bash
# 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
```bash
# 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
```bash
# 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)
```bash
# 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:
```json
{
"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.Related Skills
mocking-assistant
Creates stable mocks for APIs, services, and UI components using MSW (Mock Service Worker), fixture conventions, and example patterns. Use for "API mocking", "MSW", "test mocks", or "service mocking".
lead-research-assistant
Researches and identifies potential customers, leads, and business opportunities for your product or service. Analyzes your offering, finds relevant companies and decision makers, provides contact information, and suggests outreach strategies. Use when looking for leads, researching target customers, identifying decision makers, or planning sales outreach.
kumo-assistant
Kumo development assistant for MySQL database management tool. Use when working on Kumo features, understanding architecture, writing tests, or navigating the codebase. Helps with React components, API endpoints, database features, and Electron app development.
code-review-assistant
Comprehensive code review assistant that analyzes code for security vulnerabilities, performance issues, and code quality. Use when reviewing pull requests, conducting code audits, or analyzing code changes. Supports Python, JavaScript/TypeScript, and general code patterns. Includes automated analysis scripts and structured checklists.
code-assistant
Expert coding assistant for writing, reviewing, and debugging code across multiple languages
awesome-copilot-root-kusto-assistant
Expert KQL assistant for live Azure Data Explorer analysis via Azure MCP server Use when: the task directly matches kusto assistant responsibilities within plugin awesome-copilot-root. Do not use when: a more specific framework or task-focused skill is clearly a better match.
assistant-behavior-rules
AI assistant behavior rules including response formatting and interaction patterns
ai-assistants
AI-powered development tools configuration and usage
ai-assistant-chat
Build self-hosted AI chat assistants using CopilotKit + LangGraph. Use when implementing conversational AI interfaces with agentic backends, streaming responses, shared state between frontend and backend, or generative UI. This pattern uses NO hosted services - both CopilotKit runtime and LangGraph agent run on your own infrastructure. Triggers on requests to build chat interfaces, AI assistants, conversational agents, or integrate LangGraph with React frontends.
Machine Vision Assistant
Comprehensive MV learning assistant for industrial computer vision applications. Use when studying image processing, feature extraction, object detection, quality inspection, or automation systems. Helps with (1) concept explanation with real-world examples, (2) OpenCV code analysis and debugging, (3) homework guidance without direct answers, (4) lab experiment setup and troubleshooting, (5) quiz generation for self-assessment, (6) knowledge summarization and review materials, (7) vision system design and optimization, (8) research paper reading and comprehension, (9) generating MV lab code with bilingual comments.
rails-upgrade-assistant
Analyzes Rails applications and generates comprehensive upgrade reports with breaking changes, deprecations, and step-by-step migration guides for Rails 7.0 through 8.1.1. Use when upgrading Rails applications, planning multi-hop upgrades, or querying version-specific changes.
paper-writing-assistant
Assist in drafting research papers and meeting notes, enforcing academic rigor and formatting.