promote-idea
The promote-idea skill converts a pending album concept from IDEAS.md into a complete album project in a single operation. Use this when a user wants to activate an idea for development, providing the idea title and optionally specifying a custom album slug or documentary flag to streamline the workflow of creating new album infrastructure.
git clone --depth 1 https://github.com/bitwize-music-studio/claude-ai-music-skills /tmp/promote-idea && cp -r /tmp/promote-idea/skills/promote-idea ~/.claude/skills/promote-ideaSKILL.md
## Your Task
**Input**: $ARGUMENTS
Convert a `Pending` idea from `IDEAS.md` into a full album project in one
call. Replaces the manual 3-step workflow (`get_ideas` → `new-album` →
`update_idea`) with a single entry point.
---
# Promote Idea Skill
## Step 1: Parse Arguments
Expected formats:
- `"<idea title>"` — auto-derive slug from the title
- `"<idea title>" <album-slug>` — override the auto-derived slug
- `"<idea title>" documentary` — standard slug, documentary flag on
- `"<idea title>" <album-slug> documentary` — explicit slug + documentary
Examples:
- `"Kleine Welt"` → slug auto-derived to `kleine-welt`
- `"The Great Molasses Flood" molasses-flood documentary`
- `"Ängstliche Kätzchen"` → slug `angstliche-katzchen` (diacritics stripped)
**If no arguments are supplied, or the title is empty**, list the available
pending ideas first and ask which one to promote:
```
Which idea should I promote?
Pending ideas:
1. Kleine Welt (electronic, Thematic)
2. The Great Molasses Flood (folk, Documentary)
3. Linux Kernel Wars (electronic, Character Study)
Reply with the exact title.
```
Use `get_ideas(status_filter="Pending")` to fetch the list.
## Step 2: Confirm the Derived Slug
Call `get_ideas(status_filter="Pending")` (or `search(query=idea_title, scope="ideas")`)
to confirm the idea exists and show the user what's about to happen.
Compute the slug locally for display only (lowercase, strip diacritics,
non-alphanumeric → hyphen). If the result looks odd, offer to override:
```
About to promote:
Idea: Kleine Welt
Slug: kleine-welt
Genre: electronic
Type: Thematic
Proceed? (Or supply a different slug.)
```
Skip the confirmation step if the user has already provided an explicit slug
— that's the signal they've already thought about it.
## Step 3: Ask About Documentary Flag (if not already supplied)
The `documentary` flag decides whether `RESEARCH.md` and `SOURCES.md` are
created. This is **not** derivable from idea metadata — the idea's "Type"
field can say "Documentary" but that's a separate concept (narrative shape).
Ask once:
> Is this a documentary/true-story album? (Adds research + sources
> templates. Answer 'yes' for real-world events, 'no' for fiction.)
Skip this step if `documentary` is already in the arguments.
## Step 4: Promote via MCP
Call `promote_idea(idea_title, album_slug=<slug or "">, documentary=<bool>)`.
The tool performs all of:
1. Find the idea in state (error if missing or already promoted)
2. Create the album directory via `create_album_structure`
3. Inject the idea's concept into the new `README.md` under a `## Concept`
section
4. Advance idea status `Pending` → `In Progress`
5. Add `**Promoted To**: <slug>` back-link to the idea in `IDEAS.md`
The tool returns `{promoted: true, slug, album_path, files, ...}` on
success or `{error: ...}` on failure.
## Step 5: Confirm and Suggest Next Step
On success, report:
```
Promoted "Kleine Welt" → album "kleine-welt"
Location: ~/bitwize-music/artists/bitwize/albums/electronic/kleine-welt/
Files: README.md, tracks/
Concept block injected into README.md from idea.
Idea status: Pending → In Progress
Next step:
/bitwize-music:album-conceptualizer
This walks through the 7 Planning Phases (Vision, Identity, Sonic
Direction, Structure, Tracks, Content, Approval) to develop the concept
you just carried over into the album.
```
For documentary albums, add:
```
Research files also created: RESEARCH.md, SOURCES.md
Don't forget human source verification before generation.
```
---
## Error Handling
**Idea not found:**
```
Error: Idea "Nonexistent" not found in IDEAS.md.
Check available ideas: /bitwize-music:album-ideas list
```
**Idea already promoted:**
```
Error: Idea "Already Active" is already promoted (status: In Progress).
If you want to rename or re-scaffold, use /bitwize-music:rename on the
existing album instead.
```
**Idea has no genre:**
```
Error: Idea "No Genre" has no **Genre** field in IDEAS.md.
Set the genre first: /bitwize-music:album-ideas edit "No Genre"
```
**Invalid genre:**
```
Error: Invalid genre "xyz" on idea. Not in genres/.
Fix the genre in IDEAS.md, then retry.
```
**Duplicate album slug:**
```
Error: Album "kleine-welt" already exists.
Options:
1. Supply a different slug: /bitwize-music:promote-idea "Kleine Welt" kleine-welt-2
2. Resume the existing album: /bitwize-music:resume kleine-welt
```
---
## Examples
### Simple title
```
/bitwize-music:promote-idea "Kleine Welt"
```
Auto-derives slug `kleine-welt`, asks about documentary flag, calls
`promote_idea`, reports outcome.
### Explicit slug override
```
/bitwize-music:promote-idea "The Great Molasses Flood" molasses-1919
```
Uses `molasses-1919` instead of the auto-derived `the-great-molasses-flood`.
### Documentary album
```
/bitwize-music:promote-idea "The Great Molasses Flood" documentary
```
Creates `RESEARCH.md` and `SOURCES.md` in addition to the standard README
and tracks directory.
---
## Why a Dedicated Skill
The manual workflow required three steps in sequence:
1. `get_ideas` to find the idea's genre
2. `/bitwize-music:new-album <slug> <genre>` with a slug the user invented
3. `update_idea("<title>", "status", "In Progress")`
Problems this skill solves:
- **Concept transfer** — The idea's concept text is now merged into the new
album README automatically (manual copy/paste used to be skipped often).
- **Status discipline** — Ideas no longer linger as `Pending` after being
worked on; the transition is automatic and bidirectional (`Promoted To`
back-link).
- **Slug derivation** — No more re-inventing the slug; diacritics and
punctuation are normalized consistently.
- **Single entry point** — Newcomers learn one command instead of three.
---
## Remember
1. **Pending-only** — Only `Pending` ideas can be promoted. `In Progress`
and `Complete` ideas return an error.
2. **One-way operation** — Promotion creates files and updates state. There
isProvides information about the bitwize-music plugin, its version, and its creator. Use when the user asks about the plugin, its purpose, version, or capabilities.
Creates visual concepts for album artwork and generates AI art prompts. Use during planning for concept discussion, or after all tracks are Final for actual artwork generation.
Designs album concepts, tracklist architecture, and thematic planning through 7 structured phases. Use when planning a new album or reworking an existing album concept.
Shows a structured progress dashboard for an album with percentage complete per phase, blocking items, and status breakdown. Use for a quick visual overview of album progress.
Tracks and manages album ideas including brainstorming, planning, and status updates. Use when the user wants to add, review, or organize their album idea backlog.
Copies track content (lyrics, style prompts, streaming lyrics) to the system clipboard. Use when the user needs to paste lyrics or style prompts into Suno or other external tools.
Uploads promo videos and content to Cloudflare R2 or AWS S3. Use when the user wants to host promo content for social media or distribution.
Sets up or edits the plugin configuration file interactively. Use on first-time setup, when config is missing, or when the user wants to change settings.