home / skills / vdustr / vp-claude-code-marketplace / somafm

This skill lets you play SomaFM as background music during coding, manage channels, and adjust volume for focused work.

npx playbooks add skill vdustr/vp-claude-code-marketplace --skill somafm

Review the files below or copy the command above to add this skill to your agents.

Files (1)
SKILL.md
2.1 KB
---
name: somafm
description: >-
  This skill should be used when the user asks to "play music", "play radio",
  "play SomaFM", "stop music", "stop radio", "list radio channels",
  "change volume", "what's playing", "now playing", "radio status",
  requests "/somafm", or mentions wanting background music, ambient sounds,
  or lo-fi radio while coding. Plays SomaFM internet radio as background
  music during coding sessions.
---

# SomaFM Radio

Play [SomaFM](https://somafm.com/) internet radio as background music during coding sessions.

## When to Use

Invoke this skill when:

- User requests `/somafm` or asks to play music/radio
- User mentions wanting background music, ambient sounds, or lo-fi radio
- User asks to stop music, check what's playing, or change volume
- User wants to browse available radio channels

## Commands

| Action | Command |
|--------|---------|
| Play channel | `bash "${CLAUDE_PLUGIN_ROOT}/scripts/somafm.sh" play [channel] [--volume=N]` |
| Stop playback | `bash "${CLAUDE_PLUGIN_ROOT}/scripts/somafm.sh" stop` |
| Show status | `bash "${CLAUDE_PLUGIN_ROOT}/scripts/somafm.sh" status` |
| List channels | `bash "${CLAUDE_PLUGIN_ROOT}/scripts/somafm.sh" list` |
| Change volume | `bash "${CLAUDE_PLUGIN_ROOT}/scripts/somafm.sh" volume <0-100>` |

## Examples

- **Play default channel**: `bash "${CLAUDE_PLUGIN_ROOT}/scripts/somafm.sh" play` (groovesalad at volume 50)
- **Play specific channel**: `bash "${CLAUDE_PLUGIN_ROOT}/scripts/somafm.sh" play defcon --volume=30`
- **Check now playing**: `bash "${CLAUDE_PLUGIN_ROOT}/scripts/somafm.sh" status`
- **Adjust volume**: `bash "${CLAUDE_PLUGIN_ROOT}/scripts/somafm.sh" volume 70`

## Notes

- **Dependencies**: Requires `mpv`, `curl`, and `jq`. The script checks for missing tools and provides install guidance.
- **Default channel**: `groovesalad` (ambient/chill). Run `list` to browse all channels sorted by listener count.
- **Default volume**: 50 (range: 0-100).
- **Volume control**: Uses mpv IPC socket for seamless changes without interrupting playback.
- **One stream at a time**: Starting a new channel automatically stops the previous one.

Overview

This skill plays SomaFM internet radio as unobtrusive background music for coding sessions. It offers quick commands to play channels, list available streams, adjust volume, and check playback status. Designed to run with common CLI tools and an audio player for lightweight control.

How this skill works

The skill controls a local audio player to stream SomaFM channels, using simple commands to start, stop, and query playback. It relies on mpv plus common utilities (curl, jq) to fetch channel info and manage an IPC socket for realtime volume changes. Only one stream runs at a time; starting a new channel stops the current stream automatically.

When to use it

  • User asks to play music, radio, or SomaFM
  • User requests background music, ambient or lo-fi radio while working
  • User asks to stop music or check what’s playing
  • User wants to browse available SomaFM channels
  • User asks to change volume or mute the stream

Best practices

  • Ensure mpv, curl, and jq are installed before using the skill
  • Use the list command to find channels and listener counts before playing
  • Start playback with a channel name or use the default ambient channel for low-distraction audio
  • Adjust volume with the dedicated command to avoid restarting the stream
  • Run status checks to confirm the player is active before issuing volume or stop commands

Example use cases

  • Play the default ambient channel during a coding session: play (defaults to groovesalad at volume 50)
  • Start a specific channel for focused work: play defcon --volume=30
  • List available SomaFM channels and their popularity: list
  • Check what’s currently streaming and current volume: status
  • Silence or stop audio instantly: stop or set volume 0

FAQ

What dependencies are required?

mpv, curl, and jq are required. The skill checks for missing tools and provides guidance to install them.

Can I change volume without interrupting playback?

Yes. The skill uses mpv’s IPC socket to adjust volume in real time without restarting the stream.