Coding with Beat — скилл

Пиксельный диджей для Claude Code и Codex: играет музыку из Apple Music, показывает тексты и реагирует на коммиты и тесты

  • 112 ★ репозитория
  • Последний коммит
  • MIT
Скилл

Расширенный доступ

Почему такой уровень

  • Установка запускает скрипт из сети, правит настройки агента (хуки, строку статуса) и на macOS добавляет пользовательский LaunchAgent
  • Локальный MCP-сервер слушает порт 8765 на 127.0.0.1, а при пробросе по SSH управление музыкой доступно через туннель
  • Хуки следят за событиями сессии: вызовами инструментов, коммитами и результатами тестов
Все причины и проверки

jaychempan/coding-with-beat

Установка

Работает в

В терминале, через SkillFoxx CLI

npx skillfoxx add skills/coding-with-beat

Определит агенты на машине, покажет уровень доступа и зафиксирует версию.

Другие способы установки

Доступ и проверки

Как мы проверяем

Расширенный доступИнструмент запускает код или ходит в сеть, а внешние данные только читает.

  • Установка запускает скрипт из сети, правит настройки агента (хуки, строку статуса) и на macOS добавляет пользовательский LaunchAgent
  • Локальный MCP-сервер слушает порт 8765 на 127.0.0.1, а при пробросе по SSH управление музыкой доступно через туннель
  • Хуки следят за событиями сессии: вызовами инструментов, коммитами и результатами тестов

Это чужой код. Посмотрите файлы в репозитории перед установкой.

Что делает

Coding with Beat состоит из MCP-сервера на 38 инструментов, скилла `/cwb` и консольной утилиты `cwb`: вместе они превращают сессию с Claude Code или Codex CLI в сессию с музыкой. Агенту говорят «включи лофи», «следующий» или «что играет», а скилл выбирает действие: поиск по настроению, песня по названию, номер из списка. Источники музыки: Apple Music через AppleScript, локальные файлы через `afplay` и поиск с превью в QQ Music. В терминале рисуются обложка полублочной графикой, эквалайзер и текст песни, а в строке статуса Claude Code живет персонаж-диджей. Его лицо меняется вместе с событиями сессии: успешный `git commit` вызывает победную позу, упавшие тесты вызывают панику. Есть таймер Pomodoro 25 на 5, история прослушивания и отчеты о предпочтениях командой `cwb profile`. Скилл `cwb-companion` велит агенту самому вызывать `companion_check` в нужные моменты сессии.

Для кого. Тем, кто программирует с агентом на Mac и хочет управлять Apple Music прямо из сессии Claude Code или Codex, не переключаясь в плеер.

Подходит, если

  • За кодом нужна музыка под настроение, и попросить ее у агента проще, чем искать в плеере
  • Сессия длится часами, и в строке статуса хочется видеть таймер Pomodoro и текущий трек
  • Агент работает на удаленном сервере, а Apple Music играет на вашем Mac: порт пробрасывается по SSH
  • Надо получить недельный или годовой отчет о том, что вы слушали

Не подходит, если

  • Работа идет на Windows или Linux: плеер опирается на Apple Music и AppleScript, а установщик настроен на macOS
  • Вы слушаете Spotify или другой сервис: поддерживаются только Apple Music, локальные файлы и QQ Music
  • Запускать скрипт из сети командой с `curl` и `sh` вы не готовы

Пример запроса к агенту

Включи что-нибудь спокойное для глубокой работы, покажи нумерованный список из пяти песен и запусти третью

Ограничения

Основная поддержка у macOS, нужен Python 3.10 или новее. Полное воспроизведение каталога требует подписки Apple Music, у QQ Music доступно только превью в 30 секунд, перемотка у него и у локальных файлов ограничена. При первом воспроизведении песни из каталога Apple Music появляется окно: нажмите Add to Library и повторите команду. Часть возможностей автор называет предварительными, например `/cwb-profile`. Описание репозитория ведется на китайском, английском и японском языках.

Как отключить. Удалите записи `cwb` из настроек Claude Code (MCP-сервер, хуки и строку статуса) и запись из `~/.codex/config.toml`. На macOS остановите и удалите пользовательский LaunchAgent локального MCP-сервера. Папка данных называется `~/.coding-with-beat`.

Частые вопросы

Как поставить Coding with Beat в Claude Code?

Командой `curl -LsSf https://raw.githubusercontent.com/jaychempan/coding-with-beat/main/bootstrap.sh | sh` либо клонированием репозитория и запуском `./install.sh`. Затем откройте новый терминал и новую сессию: когда в строке статуса появится `(•_•)`, все работает.

Как поставить его в Codex CLI?

Командой `curl -LsSf https://raw.githubusercontent.com/jaychempan/coding-with-beat/main/bootstrap_codex.sh | sh` или `./install_codex.sh` из клонированного репозитория. Скрипт при необходимости ставит Codex CLI, настраивает `~/.codex/config.toml` и хуки и устанавливает скилл `cwb`.

Какие источники музыки поддерживаются?

Apple Music, локальные файлы и QQ Music. Возможности у них разные: плейлисты и нативная история есть у Apple Music, у локальных файлов история ведется по журналу.

Как управлять музыкой, если агент на сервере?

Запустите HTTP-сервер MCP на своем Mac и пробросьте порт командой `ssh -N -R 127.0.0.1:8765:127.0.0.1:8765 user@server`. На сервере установите хуки с флагом `--mcp-url http://127.0.0.1:8765/mcp`.

Что делает команда `cwb profile`?

Разбирает историю прослушивания и поисков и выдает отчет за день, неделю, месяц или год: топ исполнителей и жанров, смену вкусов, время суток и несколько готовых запросов для `smart_search`. Для него MCP-сервер не нужен.

Обсуждение

Вопросов и отзывов пока нет.

Скиллы

Скилл для пиксель-арта в Claude Code: спрайты, анимации и эффекты строятся по референсу и проверяются кадр за кадром

СкиллМинимальный доступ167Звезды репозитория

MCP-сервер, где агент пишет ноты в ABC или живой бит на Strudel, а плеер с редактором открывается прямо в чате

MCP-серверРасширенный доступ77Звезды репозитория
Выбор редакции

Скилл монтажа видео для Claude Code и Codex: агент вырезает паузы и оговорки, делает цветокоррекцию, субтитры и анимационные вставки

СкиллРасширенный доступ31 тыс.Звезды репозитория

Скилл Claude Code делает из одного вопроса научно-популярный ролик: факты, сценарий, озвучка, кадры кодом и файл 1080p60

СкиллРасширенный доступ648Звезды репозитория

CLI и скилл для Claude Code, Codex и Cursor: индекс видео, поиск по словам и тексту кадра, кадры крупно и замер монтажа

CLIРасширенный доступ76Звезды репозитория

Двадцать восемь скиллов для Claude Code: видео с озвучкой, обложки, верстка WeChat, Excel, PPT, Dify, GitHub Trending

СкиллШирокий доступ295Звезды репозитория

Сравнение с похожими

Карточки с тем же главным запросом: чем они отличаются.

ИнструментОфициальныйАвторизацияЗвезды репозиторияГлавное отличие
Coding with Beat (эта карточка)нет112
Spotify MCP ServerнетOAuth506управляет Spotify через API, пиксельного диджея и реакций на коммиты в нем нет
ccstatuslineнет13 590строка статуса с моделью, Git и заполнением контекста, без музыки

Коротко о README

Вводная часть подает проект как ретро-диджея для сессий с ИИ и сообщает о новом отчете `cwb profile`. Ниже идут установка для Claude Code и Codex CLI, таблица фраз по настроениям, команды `cwb`, таблица возможностей по источникам музыки и настройка строки статуса для tmux и Neovim.

Бейдж для README

Исходный SKILL.md

# cwb-companion — DJ Buddy Companion Mode

DJ Buddy is your coding companion. When this skill is active, proactively
call `companion_check()` at the moments below — do not wait for the user
to ask. The tool handles cooldown and conditions internally.

## Trigger rules

| Moment | Call |
|--------|------|
| Your first reply in a new session | `companion_check("session_start")` |
| You observe ≥ 3 consecutive test/command failures | `companion_check("debug_struggle")` |
| A `git commit` succeeds, or all tests pass green | `companion_check("victory")` |
| You've made ≥ 20 tool calls and haven't suggested music in 25+ minutes | `companion_check("idle_checkin")` |
| User says "收工", "下班", "bye", "晚安", "done for today", or similar | `companion_check("session_end")` |

## If the tool is unavailable

If `companion_check` is not in your tool list, **stay completely silent.**
Do NOT attempt a Bash fallback (`python -m coding_with_beat ...`).
Do NOT mention that the tool is missing. Just skip and continue normally.

## Presenting the result

**If the tool returns `(not needed right now)`:** stay silent. Do not
mention the call, do not say "no music needed", just continue normally.

**If the tool returns a companion card:** output it in full. You may add
one short transition phrase *before* the card — always prefix it with
`🎶 DJ Buddy:` (e.g. "🎶 DJ Buddy: 对了——" or "🎶 DJ Buddy: 顺便——").
Do NOT add explanation or commentary after the card.

After showing the card, wait for the user to pick a number from the list.
When they do, call `play_number(N)` to play it.

## Tone

DJ Buddy speaks in short, warm, no-nonsense sentences.
"调了挺久了" beats "I noticed you've been debugging for quite some time."
Match DJ Buddy's energy, not a customer service bot's.

Сообщить о проблеме