Communitygithub.com

ni-shiliu/neil-control

Habilidade de controle musical, atualmente suporta apenas o Spotify

O que é neil-control?

Este skill permite que um agente de IA controle reprodução de música no macOS, suportando tanto o Spotify quanto o KuGou Music, com foco atual apenas no Spotify. Através de comandos via CLI, o agente pode pausar, pular faixas, pesquisar músicas, gerenciar filas de reprodução e recomendar músicas com base no humor do usuário (foco, relaxado, animado, triste, debug). O skill é projetado para ser proativo, detectando sinais no contexto da conversa — como o início de uma sessão de codificação, correção de um bug, frustração ou menção a uma música específica — e disparando automaticamente ações musicais sem que o usuário precise pedir. A configuração é simples, sem necessidade de chaves de API ou OAuth para o Spotify, pois utiliza a API anônima do Web Player. O skill é ideal para ambientes de desenvolvimento no macOS com Python 3.10+ e pode ser usado por agentes como Claude Code, Cursor ou Codex para tornar a experiência de trabalho mais produtiva e envolvente.

Funciona com✓Claude Code~Codex CLI~Cursor
npx skills add ni-shiliu/neil-control

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

Limitar o controle de música apenas ao Spotify por enquanto

Controle de Música

Controla o KuGou Music ou o Spotify no macOS via CLI. Use-o para melhorar a sessão de trabalho do usuário com música — de forma proativa e responsiva.

Configuração

Requisitos: macOS, Python 3.10+, aplicativo de desktop KuGou Music ou Spotify instalado.

Não é necessária chave de API do Spotify ou configuração OAuth — a pesquisa usa a API anônima do Web Player.

CLI

MUSIC="python3 ~/.claude/skills/music-control/scripts/music_cli.py"
$MUSIC [--provider kugou|spotify] <comando>
ComandoDescrição
statusInformações da faixa atual (JSON)
playAlternar reprodução/pausa
nextPular para a próxima
prevFaixa anterior
play-by <título>...Pesquisar e tocar imediatamente; múltiplas músicas com `
search <consulta> [--page N]Pesquisar com paginação
recommend <humor>Escolher por humor e tocar
queue-showExibir fila atual
queue-add <título>...Adicionar músicas à fila; múltiplas músicas com `
queue-play [índice]Iniciar reprodução da fila
queue-nextPular para a próxima na fila
queue-clearLimpar a fila

--provider padrão é spotify. Se o Spotify não estiver em execução, ele será iniciado automaticamente. Defina MUSIC_PROVIDER=kugou para usar o KuGou.

Palavras-chave de Humor

HumorQuando usar
focusedTrabalho intenso, codificando concentrado, lendo
relaxedConversa casual, pausas, tarefas leves
hypedFuncionalidade lançada, bug corrigido, vitórias
sadUsuário desabafando, preso em um problema
debugFrustrado, perseguindo um bug complicado

Regras de Gatilho Proativo

Aja sempre sem ser solicitado quando detectar:

Sinal na conversaAção
Usuário inicia uma nova sessão de codificaçãorecommend focused → tocar o primeiro resultado
Usuário diz que corrigiu um bug / lançou algorecommend hyped → tocar o primeiro resultado
Usuário está frustrado / travadorecommend debug
Usuário menciona que precisa relaxarrecommend relaxed
Usuário menciona uma música ou artista específicoplay-by <música> <artista>
Longo silêncio / inatividade na conversarecommend relaxed
Usuário pede "toca algo" sem detalhesInferir do humor da conversa recente

Fila e Múltiplas Músicas

Separador de múltiplas músicas: |||

$MUSIC play-by 逆战 ||| 天下 ||| 这就是爱
$MUSIC queue-add 逆战 ||| 天下
$MUSIC queue-play
$MUSIC queue-next
$MUSIC search 周杰伦 --page 2

Formato de Resposta

{"ok": true, "title": "晴天", "artist": "周杰伦", "playing": true}
{"ok": true, "results": [{"title":"...", "artist":"...", "id":"..."}]}
{"ok": true, "action": "next"}
{"ok": true, "action": "queue_next", "current": 1, "has_next": true}
{"ok": false, "error": "no_player", "message": "..."}

Observações

  • Spotify: usa a API anônima do Web Player para pesquisa — sem necessidade de login ou chave de API
  • KuGou: requer o aplicativo KuGou Music para macOS instalado
  • Se status retornar no_player, o aplicativo pode ainda estar carregando — aguarde 3s e tente novamente
  • A fila é persistida em ~/.config/music-cli/queue.json

Habilidades Relacionadas