Vibe sing
Skill harajlim/vibe-sing
A Claude Code skill that ends your session with a song. Transcript -> Gemini (mood/vocal direction) -> Google Lyria 3 -> auto-play.
npx -y skills add harajlim/vibe-singAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 4 stars4 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Generate a song that captures the vibe of the current Claude Code session. Reads the session transcript, asks Gemini for a non-corny user-centric music prompt, calls Google Lyria, and auto-plays the result. Args: `pro` for a ~2 minute version (default is 30s clip), `stop` to kill the currently-playing song.
SKILL.md
2.2 KB, as published. Nobody here has run it
When the user invokes /vibe-sing, run the pipeline script. It distills the current session's emotional vibe into a Lyria music prompt (via Gemini) and composes a song.
What to do
-
Run the skill's launcher, passing through the user's argument verbatim:
~/.claude/skills/vibe-sing/run.sh <arg-if-any>Recognized arguments:
- (none) — 30-second clip (default)
pro— ~2 minute full songstop— kill the currently-playing song
-
The script handles everything: finding the current session's transcript JSONL, slicing the recent vibe-relevant text (skipping tool calls/results), calling Gemini for a mood prompt, calling Lyria, saving the mp3 to
~/.claude/skills/vibe-sing/generations/, andopen-ing the file so it plays. -
After the script returns, the last line of stdout is a JSON object with
mood_prompt,audio_file,model, andgemini_model. Report back to the user in at most two sentences:- One sentence quoting the mood prompt Gemini chose.
- One sentence with the file path.
Do not describe what the song is "about" — let the audio speak. Do not add commentary about whether the vibe seems right. The user will hear it and decide.
Errors
If the script fails (missing GOOGLE_API_KEY, no transcript, API error), surface the stderr message verbatim and stop — do not retry.
Notes
- Requires
GOOGLE_API_KEYin.envinside the skill dir (or in the environment). - The transcript reader explicitly skips tool calls and tool results to keep the vibe extraction focused on conversational tone.
- Both the transcript filter and the Gemini system prompt are designed to prevent corny "song about debugging React" output — the mood prompt should never reference programming, files, or specific topics.