---
name: new-album
description: Creates a new album with the correct directory structure and templates. Use IMMEDIATELY when the user says 'make a new album' or similar, before any discussion.
argument-hint: <album-name> <genre>
model: claude-haiku-4-5-20251001
allowed-tools:
  - Read
  - Bash
  - Write
  - bitwize-music-mcp
---

## Your Task

**Input**: $ARGUMENTS

Create a new album directory structure with all required files and templates.

---

# New Album Skill

You create the complete album directory structure based on config.

## Step 1: Parse Arguments

Expected formats:
- `<album-name> <genre>` — standard album
- `<album-name> documentary <genre>` — true-story/documentary album (creates RESEARCH.md + SOURCES.md)

Examples:
- `sample-album electronic`
- `my-new-album hip-hop`
- `protest-songs folk`
- `the-heist documentary hip-hop`

Valid genres: Any genre that has a directory under `${CLAUDE_PLUGIN_ROOT}/genres/`. Use the slug form (lowercase, hyphenated) — e.g. `deep-house`, `crust-punk`, `k-pop`, `hip-hop`.

To check if a genre is valid, verify `${CLAUDE_PLUGIN_ROOT}/genres/{genre}/README.md` exists.

**Parsing logic:**
1. If 3 arguments and second is `documentary`: album = arg1, genre = arg3, documentary = true
2. If 2 arguments: album = arg1, genre = arg2, documentary = false
3. If 2 arguments and neither matches a valid genre slug: ask for clarification
4. If only 1 argument or none: ask the user

**After parsing, if documentary flag was not set, ask:**
"Is this a documentary/true-story album? (This adds research and sources templates.)"

If arguments are missing, ask:
```
Usage: /new-album <album-name> <genre>
       /new-album <album-name> documentary <genre>

Example: /new-album sample-album electronic
         /new-album the-heist documentary hip-hop
         /new-album night-drive deep-house

Genre must match a directory under genres/ (use slug form: deep-house, crust-punk, etc.)
```

## Step 2: Create Album via MCP

Call `create_album_structure(album_slug, genre, documentary)` — creates the complete directory structure with templates in one call.

- Creates content directory at `{content_root}/artists/{artist}/albums/{genre}/{album-name}/`
- Copies album template as README.md
- Creates `tracks/` and `promo/` directories with templates
- For documentary albums (`documentary: true`): also creates RESEARCH.md and SOURCES.md
- Returns `{created: bool, path: str, files: [...]}`
- If album already exists, returns an error

**Note**: Audio and documents directories are NOT created (those are created when needed by import-audio/import-art).

## Step 3: Confirm

Report:
```
Created album: {album-name}
Location: {album_path}

Files created:
- README.md (album template)
- tracks/ (empty, ready for track files)
- promo/ (social media copy templates)

Next steps:
  Option 1 - Interactive (Recommended):
    Run /bitwize-music:album-conceptualizer to design your album concept
    through the 7 Planning Phases.

  Option 2 - Manual:
    1. Edit README.md with your album concept
    2. Create tracks with /import-track or manually in tracks/

Tip: For OST/soundtrack albums with a mix of vocal and instrumental
tracks, the album-conceptualizer will ask about the vocal/instrumental
split per track. Set `instrumental: true` in track frontmatter for
instrumental tracks — they skip the lyrics workflow and go directly
to /bitwize-music:suno-engineer.
```

## Error Handling

**Config file missing:**
```
Error: Config not found at ~/.bitwize-music/config.yaml
Run /configure to set up.
```

**Invalid genre:**
```
Error: Invalid genre "{genre}"

No genre directory found at genres/{genre}/. Use a valid genre slug (e.g. hip-hop, deep-house, grindcore).
Check genres/INDEX.md for the full list.
```

**Album already exists:**
```
Error: Album already exists at {album_path}
```

**Templates not found:**
```
Error: Templates not found. Is the plugin installed correctly?
Expected at: ${CLAUDE_PLUGIN_ROOT}/templates/
```

---

## Examples

```
/new-album sample-album electronic
```

Config has:
```yaml
paths:
  content_root: ~/bitwize-music
artist:
  name: bitwize
```

Result:
```
Created album: sample-album
Location: ~/bitwize-music/artists/bitwize/albums/electronic/sample-album/

Files created:
- README.md (album template)
- tracks/ (empty, ready for track files)

Next steps:
  Option 1 - Interactive (Recommended):
    Run /bitwize-music:album-conceptualizer to design your album concept
    through the 7 Planning Phases.

  Option 2 - Manual:
    1. Edit README.md with your album concept
    2. Create tracks with /import-track or manually in tracks/
```

---

## True Story Albums

If user mentions this is a documentary or true-story album:

```
/new-album the-heist documentary hip-hop
```

The `create_album_structure(album_slug, genre, documentary=true)` call automatically creates RESEARCH.md and SOURCES.md from templates.

Report:
```
Created album: the-heist (documentary)
Location: ~/bitwize-music/artists/bitwize/albums/hip-hop/the-heist/

Files created:
- README.md (album template)
- RESEARCH.md (research template)
- SOURCES.md (sources template)
- tracks/ (empty, ready for track files)
```

---

## Common Mistakes

### ❌ Don't: Create directories manually

**Wrong:**
```bash
# Manual mkdir, config reading, template copying
cat ~/.bitwize-music/config.yaml
mkdir -p ~/music-projects/artists/bitwize/albums/...
cp templates/album.md ...
```

**Right:**
```
# Single MCP call handles everything
create_album_structure(album_slug, genre, documentary)
```

The MCP tool reads config, resolves paths, creates directories, and copies templates automatically.

### ✅ Do: Use the specific genre slug

Any genre with a directory under `genres/` is valid. Use the most specific genre that fits:

```bash
/new-album my-album boom-bap        # has its own genre directory
/new-album my-album deep-house      # specific subgenre
/new-album my-album grindcore       # specific subgenre
/new-album my-album hip-hop         # broad category also works
```
