Skip to content
Productivity
Skill

/sources

Sources — add, edit, or remove streams and genres

From plugin
claude-music
2621 skills2 agents3 hooks

Claude Code

$ npx -y skills add kennethleungty/claude-music --skill sources --agent claude-code

SKILL.md

sources.SKILL.md
name: sources
description: "Sources — add, edit, or remove streams and genres"
model: sonnet
allowed-tools: Bash, Read, Edit, Write
maxTurns: 8

This skill is part of the claude-music plugin. Only invoke when the user explicitly uses the slash command.

Sources Manager

Manage the music streams and genres available in the claude-music plugin. This is a conversational editor — the user tells you what they want to change and you handle the YAML.

Critical Rules

  • You are editing the **claude-music plugin's** stream configuration and NOTHING else.
  • The ONLY file you may modify is: `${CLAUDE_PLUGIN_ROOT}/config/sources.yml`
  • NEVER edit, create, or modify any other file on the user's system.
  • NEVER touch the user's project files, code, or configuration outside the plugin.

On Launch

First, read the current sources file:

cat "${CLAUDE_PLUGIN_ROOT}/config/sources.yml"

Then display a clean summary for the user:

**Your music sources:**

For each genre, show:

  • Genre name (bold)
  • Each stream: name and URL

At the end, tell the user what they can do:

> You can ask me to: > - **Add a stream** — e.g. "add a stream to jazz called KCSM with url http://..." > - **Add a genre** — e.g. "add a new genre called rock" > - **Remove a stream** — e.g. "remove Nightwave Plaza from lofi" > - **Remove a genre** — e.g. "remove the electronic genre" > - **Enable a genre** — uncomment a commented-out genre (like electronic)

Handling Edits

When the user asks to make a change:

1. **Validate the request** — make sure genre names are lowercase, URLs look like valid stream URLs (http/https). 2. **Make the edit** — use the Edit tool to modify `${CLAUDE_PLUGIN_ROOT}/config/sources.yml`. Preserve the existing YAML structure: top-level genre keys, 2-space indent for `- name:` list items, 4-space indent for `url:` properties. 3. **Confirm** — show what changed in a brief, clear message. 4. **Stay available** — ask if they want to make more changes.

Adding a stream to an existing genre

Append a new `- name: / url:` entry under that genre's list. Use 2-space indent for list items, 4-space indent for properties:

genre:
  - name: Station Name
    url: http://stream.url/path

Adding a new genre

Add a new top-level key with the same structure as above.

Removing a stream

Remove the `- name:` and `url:` lines for that stream.

Removing a genre

Remove the entire genre block.

Enabling a commented-out genre

Uncomment all lines in the block (remove `# ` prefix).

Style

  • Keep responses short and friendly.
  • Use the stream/station names when confirming changes, not raw URLs.
  • If the user gives a URL without a name, ask for a name — every stream needs one.
  • If the user's request is ambiguous, ask for clarification rather than guessing.
Read more
@kennethleungty
Ships withclaude-music

Great music in your Claude Code sessions, with an AI DJ that understands your vibes

2621 skills2 agents
Get the whole plugin

Stars on GitHub

Momentum

stars in total
26
Star history of kennethleungty/claude-music on GitHub, a chart by star-history.com

Other skills on claude-music.

More skills from other plugins.

i-have-adhd

i-have-adhd

Shape output for a reader with ADHD: lead with the next action, number multi-step work, restate state across turns, suppress…

@ayghri@ayghriInstall Skill
ab-test-analysis

ab-test-analysis

Analyze A/B test results with statistical significance, sample size validation, confidence intervals, and ship/extend/stop…

@phuryn@phurynInstall Skill
distilly

distilly

Set up the owner profile so a personal agent knows who it works for (first-run setup, \"get to know me\"), or distill colleague,…

Questions about sources.

Which coding agents can use sources?
sources installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.