validate-album
Acerca de
Esta habilidad valida las estructuras de directorios de álbumes musicales verificando las ubicaciones de archivos y la integridad del contenido utilizando herramientas como Bash, Grep y un MCP específico para música. Está diseñada para el control de calidad previo al lanzamiento o cuando los desarrolladores necesitan verificar la salud estructural de un álbum. La habilidad carga automáticamente la configuración, encuentra álbumes mediante coincidencia aproximada e informa sobre cualquier archivo faltante o problema de ruta.
Instalación rápida
Claude Code
Recomendadonpx 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/validate-albumCopia y pega este comando en Claude Code para instalar esta habilidad
Documentación
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
Repositorio GitHub
Habilidades relacionadas
llamaguard
OtroLlamaGuard es el modelo de Meta de 7-8B parámetros para moderar las entradas y salidas de LLM en seis categorías de seguridad como violencia y discurso de odio. Ofrece una precisión del 94-95% y puede implementarse usando vLLM, Hugging Face o Amazon SageMaker. Utiliza esta skill para integrar fácilmente filtrado de contenido y barreras de seguridad en tus aplicaciones de IA.
cost-optimization
OtroEsta Skill de Claude ayuda a los desarrolladores a optimizar los costes en la nube mediante el ajuste de tamaño de recursos, estrategias de etiquetado y análisis de gastos. Proporciona un marco para reducir los gastos en la nube e implementar una gobernanza de costes en AWS, Azure y GCP. Úsala cuando necesites analizar los costes de infraestructura, ajustar el tamaño de los recursos o cumplir con restricciones presupuestarias.
quantizing-models-bitsandbytes
OtroEsta habilidad cuantiza LLMs a precisión de 8 o 4 bits utilizando bitsandbytes, logrando una reducción de memoria del 50-75% con pérdida mínima de precisión. Es ideal para ejecutar modelos más grandes en memoria GPU limitada o para acelerar la inferencia, admitiendo formatos como INT8, NF4 y FP4. La habilidad se integra con HuggingFace Transformers y permite entrenamiento QLoRA y optimizadores de 8 bits.
dispatching-parallel-agents
OtroEsta Skill de Claude despliega múltiples agentes para investigar y solucionar 3 o más problemas independientes de forma concurrente. Está diseñada para escenarios que involucran fallos no relacionados que pueden resolverse sin estado compartido o dependencias. Su capacidad principal es la resolución paralela de problemas, asignando un agente por cada dominio problemático independiente para maximizar la eficiencia.
