new-album
About
This skill automatically creates a complete album directory structure with proper templates when users request to make a new album. It supports both standard albums and documentary-style albums with additional research files, organizing content by genre-specific templates. Developers should note it triggers immediately upon "make a new album" commands without prior discussion.
Quick Install
Claude Code
Recommendednpx skills add bitwize-music-studio/claude-ai-music-skills -a claude-code/plugin add https://github.com/bitwize-music-studio/claude-ai-music-skillsgit clone https://github.com/bitwize-music-studio/claude-ai-music-skills.git ~/.claude/skills/new-albumCopy and paste this command in Claude Code to install this skill
Documentation
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 electronicmy-new-album hip-hopprotest-songs folkthe-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:
- If 3 arguments and second is
documentary: album = arg1, genre = arg3, documentary = true - If 2 arguments: album = arg1, genre = arg2, documentary = false
- If 2 arguments and neither matches a valid genre slug: ask for clarification
- 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/andpromo/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:
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:
# 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:
/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
GitHub Repository
Related Skills
content-collections
MetaThis skill provides a production-tested setup for Content Collections, a TypeScript-first tool that transforms Markdown/MDX files into type-safe data collections with Zod validation. Use it when building blogs, documentation sites, or content-heavy Vite + React applications to ensure type safety and automatic content validation. It covers everything from Vite plugin configuration and MDX compilation to deployment optimization and schema validation.
polymarket
MetaThis skill enables developers to build applications with the Polymarket prediction markets platform, including API integration for trading and market data. It also provides real-time data streaming via WebSocket to monitor live trades and market activity. Use it for implementing trading strategies or creating tools that process live market updates.
creating-opencode-plugins
MetaThis skill helps developers create OpenCode plugins that hook into 25+ event types like commands, files, and LSP operations. It provides the plugin structure, event API specifications, and implementation patterns for JavaScript/TypeScript modules. Use it when you need to intercept, monitor, or extend the OpenCode AI assistant's lifecycle with custom event-driven logic.
sglang
MetaSGLang is a high-performance LLM serving framework that specializes in fast, structured generation for JSON, regex, and agentic workflows using its RadixAttention prefix caching. It delivers significantly faster inference, especially for tasks with repeated prefixes, making it ideal for complex, structured outputs and multi-turn conversations. Choose SGLang over alternatives like vLLM when you need constrained decoding or are building applications with extensive prefix sharing.
