# Vibe Sing

> 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.

- **Type:** Skill
- **Install:** `agentstack add skill-harajlim-vibe-sing-vibe-sing`
- **Verified:** Yes — security-reviewed for prompt injection and unsafe behavior
- **Seller:** [harajlim](https://agentstack.voostack.com/s/harajlim)
- **Installs:** 0
- **Category:** [Agent Skills](https://agentstack.voostack.com/c/agent-skills)
- **Latest version:** 0.1.0
- **License:** MIT
- **Upstream author:** [harajlim](https://github.com/harajlim)
- **Source:** https://github.com/harajlim/vibe-sing

## Install

```sh
agentstack add skill-harajlim-vibe-sing-vibe-sing
```

Requires the [AgentStack CLI](https://agentstack.voostack.com/docs/cli). Works with Claude Code, Cursor, and any MCP-compatible agent.

## About

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

1. Run the skill's launcher, passing through the user's argument verbatim:

   ```bash
   ~/.claude/skills/vibe-sing/run.sh 
   ```

   Recognized arguments:
   - (none) — 30-second clip (default)
   - `pro` — ~2 minute full song
   - `stop` — kill the currently-playing song

2. 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/`, and `open`-ing the file so it plays.

3. After the script returns, the **last line of stdout** is a JSON object with `mood_prompt`, `audio_file`, `model`, and `gemini_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_KEY` in `.env` inside 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.

## Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

- **Author:** [harajlim](https://github.com/harajlim)
- **Source:** [harajlim/vibe-sing](https://github.com/harajlim/vibe-sing)
- **License:** MIT

Install and usage instructions live in the source repository linked above.

## Pricing

- **Free** — Free

## Security capabilities

Automated source analysis of v0.1.0 — what this tool can access:

- **Network access:** no
- **Filesystem access:** no
- **Shell / process execution:** no
- **Environment & secrets:** yes
- **Dynamic code execution:** no

*"Yes" means the capability is present in the source — more access means more to trust, not that it is unsafe.*


## Versions

- **0.1.0** — security scan: passed — Imported from the upstream source.

## Links

- Listing page: https://agentstack.voostack.com/l/skill-harajlim-vibe-sing-vibe-sing
- Seller: https://agentstack.voostack.com/s/harajlim
- Browse the marketplace: https://agentstack.voostack.com/browse

---
Listed on AgentStack — the marketplace for AI agent skills and MCP servers. Every listing is security-reviewed. Creators keep 70%.
