Delegate independent tasks to specialized agents working concurrently with isolated context.
Album Validator Agent
validate-album
Validates album directory structure, file locations, and content integrity. Use before release or whenever the user wants to check an album's structural health.
SKILL.md
Full skill instructions
Album Validator Agent
Your Task
Input: $ARGUMENTS (album name, e.g., sample-album)
Validate that an album has all required files in the correct locations, catching path issues and missing content before they become problems.
Step 1: Load Config & Find Album
-
Call
get_config()— returns paths (content_root,audio_root,documents_root) andartist.name- If config missing, STOP and report:
[FAIL] Config file missing: ~/.bitwize-music/config.yaml Run /configure to set up the plugin.
- If config missing, STOP and report:
-
Call
find_album(album_name)— fuzzy match by name, slug, or partial- If not found, STOP and report (MCP returns available albums):
[FAIL] Album not found: {album-name}
- If not found, STOP and report (MCP returns available albums):
-
Optionally call
validate_album_structure(album_slug)— runs structural validation checks and returns{passed, failed, warnings, skipped, issues[], checks[]}. This MCP tool handles directory structure, required files, audio placement, and track content checks in one call.
Note: The MCP validate_album_structure tool performs many of the checks below automatically. You can use its results directly or run the manual checks for more detailed reporting.
Step 3: Run Validations
Initialize Counters
passed = 0failed = 0warnings = 0skipped = 0issues = [](list of fix commands)
Output Header
═══════════════════════════════════════════════════════════
ALBUM VALIDATION: {album-name}
═══════════════════════════════════════════════════════════
Validation Categories
CONFIG
CONFIG
──────
| Check | Pass | Fail |
|---|---|---|
| Config file exists | [PASS] Config file exists | [FAIL] Config file missing |
| content_root defined | [PASS] content_root: {value} | [FAIL] content_root not defined |
| audio_root defined | [PASS] audio_root: {value} | [FAIL] audio_root not defined |
| artist defined | [PASS] artist: {value} | [FAIL] artist.name not defined |
ALBUM STRUCTURE
ALBUM STRUCTURE
───────────────
| Check | How | Pass | Fail |
|---|---|---|---|
| Album dir exists | test -d {album_path} | [PASS] Album directory: {path} | [FAIL] Album directory missing |
| README.md exists | test -f {album_path}/README.md | [PASS] README.md exists | [FAIL] README.md missing |
| tracks/ dir exists | test -d {album_path}/tracks | [PASS] tracks/ directory exists | [FAIL] tracks/ directory missing |
| Track files exist | ls {album_path}/tracks/*.md | [PASS] {N} track files found | [WARN] No track files found |
For documentary albums (check README.md for type):
| Check | How | Pass | Fail |
|---|---|---|---|
| RESEARCH.md exists | test -f {album_path}/RESEARCH.md | [PASS] RESEARCH.md exists | [WARN] RESEARCH.md missing (documentary album) |
| SOURCES.md exists | test -f {album_path}/SOURCES.md | [PASS] SOURCES.md exists | [WARN] SOURCES.md missing (documentary album) |
AUDIO FILES
AUDIO FILES
───────────
Expected path: {audio_root}/artists/{artist}/albums/{genre}/{album}/
| Check | How | Pass | Fail |
|---|---|---|---|
| Audio dir exists (correct path) | test -d {audio_root}/artists/{artist}/albums/{genre}/{album} | [PASS] Audio directory: {path} | See below |
| Audio dir in wrong location | test -d {audio_root}/{album} | N/A | [FAIL] Audio in wrong location (missing artist folder) |
If audio in wrong location, add to issues:
→ Expected: {audio_root}/artists/{artist}/albums/{genre}/{album}/
→ Found at: {audio_root}/{album}/ (WRONG - missing artist folder)
→ Fix: mv {audio_root}/{album}/ {audio_root}/artists/{artist}/albums/{genre}/{album}/
| Check | How | Pass | Skip |
|---|---|---|---|
| WAV files present | ls {audio_path}/*.wav | [PASS] {N} WAV files found | [SKIP] No audio files yet |
| mastered/ exists | test -d {audio_path}/mastered | [PASS] mastered/ directory exists | [SKIP] Not mastered yet |
ALBUM ART
ALBUM ART
─────────
| Check | How | Pass | Skip |
|---|---|---|---|
| Art in audio folder | test -f {audio_path}/album.png | [PASS] album.png in audio folder | [SKIP] No album art yet |
| Art in content folder | test -f {album_path}/album-art.* | [PASS] album-art in content folder | [SKIP] No album art yet |
TRACKS
TRACKS
──────
For each track file in {album_path}/tracks/*.md:
- Read the file
- Check for required fields:
- Status field exists
- Suno Style Box exists (has
## Suno Inputssection) - Suno Lyrics Box exists
- If Status is
GeneratedorFinal: Suno Link present - If documentary: Sources Verified status
- Check instrumental field sync:
- Read frontmatter
instrumentalfield (true/false/missing) - Read Track Details table
**Instrumental**row (Yes/No/missing) - If both present and they disagree →
[WARN] {filename} - Instrumental field mismatch: frontmatter={value}, table={value} - If only one is set →
[WARN] {filename} - Instrumental field missing from {frontmatter|table} (set in {other})
- Read frontmatter
Output per track:
[PASS] {filename} - Status: {status}, Suno Link: {present/missing}[WARN] {filename} - Status: {status}, missing {what}[FAIL] {filename} - No Status field
Step 4: Summary
═══════════════════════════════════════════════════════════
SUMMARY: {passed} passed, {failed} failed, {warnings} warning(s), {skipped} skipped
═══════════════════════════════════════════════════════════
If any issues:
ISSUES TO FIX:
1. {issue description}
{fix command}
2. ...
Example Output
═══════════════════════════════════════════════════════════
ALBUM VALIDATION: sample-album
═══════════════════════════════════════════════════════════
CONFIG
──────
[PASS] Config file exists
[PASS] content_root: ~/bitwize-music
[PASS] audio_root: ~/bitwize-music/audio
[PASS] artist: bitwize
ALBUM STRUCTURE
───────────────
[PASS] Album directory: ~/bitwize-music/artists/bitwize/albums/electronic/sample-album/
[PASS] README.md exists
[PASS] tracks/ directory exists
[PASS] 5 track files found
AUDIO FILES
───────────
[FAIL] Audio directory in wrong location
→ Expected: ~/bitwize-music/audio/artists/bitwize/albums/electronic/sample-album/
→ Found at: ~/bitwize-music/audio/sample-album/
→ Fix: mv ~/bitwize-music/audio/sample-album/ ~/bitwize-music/audio/artists/bitwize/albums/electronic/sample-album/
ALBUM ART
─────────
[SKIP] No album art yet
TRACKS
──────
[PASS] 01-intro.md - Status: Final, Suno Link: present
[PASS] 02-track.md - Status: Final, Suno Link: present
[WARN] 03-t-day-beach.md - Status: Generated, Suno Link: missing
═══════════════════════════════════════════════════════════
SUMMARY: 8 passed, 1 failed, 1 warning, 1 skipped
═══════════════════════════════════════════════════════════
ISSUES TO FIX:
1. Move audio folder to include artist:
mv ~/bitwize-music/audio/sample-album/ ~/bitwize-music/audio/artists/bitwize/albums/electronic/sample-album/
Important Notes
- Use MCP tools first -
get_config(),find_album(),validate_album_structure()before manual checks - Check both correct AND wrong locations - Catch misplaced files
- Provide actionable fixes - Include exact commands to fix issues
- Use appropriate status - PASS/FAIL/WARN/SKIP based on severity
- Count everything - Report totals in summary
More Other skills
brand-guidelines
Applies Anthropic's official brand colors and typography to any sort of artifact that may benefit from having Anthropic's look-and-feel. Use it when brand colors or style guidelines, visual formatting, or company design standards apply.
theme-factory
Toolkit for styling artifacts with a theme. These artifacts can be slides, docs, reportings, HTML landing pages, etc. There are 10 pre-set themes with colors/fonts that you can apply to any artifact that has been creating, or can generate a new theme on-the-fly.
internal-comms
A set of resources to help me write all kinds of internal communications, using the formats that my company likes to use. Claude should use this skill whenever asked to write some sort of internal communications (status reports, leadership updates, 3P updates, company newsletters, FAQs, incident reports, project updates, etc.).
Fundamental design principles for writing maintainable, testable Python code.
responsive-design
Modern responsive layouts using container queries, fluid typography, CSS Grid, and mobile-first strategies.
Generate Playwright tests from scenarios using interactive browser exploration and validation.
Automated website exploration and test case generation using Playwright.
Modern React state management with Redux Toolkit, Zustand, Jotai, and React Query for every state category.
gdpr-data-handling
GDPR-compliant data handling with consent management, data subject rights, and privacy controls.
Python error handling patterns including input validation, exception hierarchies, and partial failure handling. Use when implementing validation logic, designing exception strategies, handling batch processing failures, or building robust APIs.
refactor-plan
Detailed multi-file refactor planning with safety checks and rollback guidance.
