validate-album
关于
This skill validates music album directory structures by checking file locations and content integrity using tools like Bash, Grep, and a music-specific MCP. It's designed for pre-release quality assurance or whenever developers need to verify an album's structural health. The skill automatically loads configuration, finds albums via fuzzy matching, and reports any missing files or path issues.
快速安装
Claude Code
推荐npx 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-album在 Claude Code 中复制并粘贴此命令以安装该技能
技能文档
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
GitHub 仓库
相关推荐技能
llamaguard
其他LlamaGuard是Meta推出的7-8B参数内容审核模型,专门用于过滤LLM的输入和输出内容。它能检测六大安全风险类别(暴力/仇恨、性内容、武器、违禁品、自残、犯罪计划),准确率达94-95%。开发者可通过HuggingFace、vLLM或Sagemaker快速部署,并能与NeMo Guardrails集成实现自动化安全防护。
cost-optimization
其他这个Claude Skill帮助开发者优化云成本,通过资源调整、标记策略和预留实例来降低AWS、Azure和GCP的开支。它适用于减少云支出、分析基础设施成本或实施成本治理策略的场景。关键功能包括提供成本可视化、资源规模调整指导和定价模型优化建议。
quantizing-models-bitsandbytes
其他这个Skill使用bitsandbytes库量化大语言模型,能在GPU内存有限时通过8位或4位量化减少50-75%内存占用,同时保持精度损失最小。它支持INT8、NF4、FP4等多种量化格式,可与HuggingFace Transformers无缝集成,适用于需要部署更大模型或加速推理的场景。还提供QLoRA训练和8位优化器支持,让开发者能轻松实现高效模型压缩。
dispatching-parallel-agents
其他该Skill用于并行处理3个以上无依赖关系的独立故障,可为每个问题域分派专属Claude代理同时执行调查修复。它通过并发处理多个独立问题显著提升故障排查效率,特别适用于测试文件、子系统等无共享状态的场景。
