Delegate independent tasks to specialized agents working concurrently with isolated context.
Import Art Skill
import-art
Place album art in correct audio and content locations
SKILL.md
Full skill instructions
Your Task
Input: $ARGUMENTS
Import album art to both the audio folder and album content folder.
Import Art Skill
You copy album art to both required locations based on config.
Step 1: Parse Arguments
Expected format: <file-path> <album-name>
Examples:
~/Downloads/album-art.jpg sample-album~/Downloads/cover.png sample-album
If arguments are missing, ask:
Usage: /import-art <file-path> <album-name>
Example: /import-art ~/Downloads/album-art.jpg sample-album
Step 2: Read Config (REQUIRED)
ALWAYS read the config file first. Never skip this step.
cat ~/.bitwize-music/config.yaml
Extract:
paths.content_root→ The base content directorypaths.audio_root→ The base audio directoryartist.name→ The artist name (e.g., "bitwize")
Step 3: Find Album Genre
Search for the album to determine its genre:
find {content_root}/artists/{artist}/albums -type d -name "{album-name}" 2>/dev/null
Extract genre from path (the folder between albums/ and {album-name}/).
If album not found:
Error: Album "{album-name}" not found in content directory.
Create it first with: /new-album {album-name} <genre>
Step 4: Construct Target Paths
TWO destinations required:
-
Audio folder (for platforms/mastering):
{audio_root}/{artist}/{album}/album.png -
Content folder (for documentation):
{content_root}/artists/{artist}/albums/{genre}/{album}/album-art.{ext}
Example with:
content_root: ~/bitwize-musicaudio_root: ~/bitwize-music/audioartist: bitwizegenre: electronicalbum: sample-album
Results:
Audio: ~/bitwize-music/audio/bitwize/sample-album/album.png
Content: ~/bitwize-music/artists/bitwize/albums/electronic/sample-album/album-art.jpg
CRITICAL: Audio path includes artist folder: {audio_root}/{artist}/{album}/
Step 5: Create Directories and Copy Files
# Create audio directory (includes artist folder!)
mkdir -p {audio_root}/{artist}/{album}
# Copy to audio folder as album.png
cp "{source_file}" "{audio_root}/{artist}/{album}/album.png"
# Copy to content folder preserving extension
cp "{source_file}" "{content_root}/artists/{artist}/albums/{genre}/{album}/album-art.{ext}"
Step 6: Confirm
Report:
Album art imported for: {album-name}
Copied to:
1. {audio_root}/{artist}/{album}/album.png (for platforms)
2. {content_root}/artists/{artist}/albums/{genre}/{album}/album-art.{ext} (for docs)
Error Handling
Source file doesn't exist:
Error: File not found: {source_file}
Config file missing:
Error: Config not found at ~/.bitwize-music/config.yaml
Run /configure to set up.
Album not found:
Error: Album "{album-name}" not found.
Create it first with: /new-album {album-name} <genre>
Not an image file:
Warning: File doesn't appear to be an image: {source_file}
Expected: .jpg, .jpeg, .png, .webp
Continue anyway? (y/n)
Examples
/import-art ~/Downloads/sample-album-cover.jpg sample-album
Config has:
paths:
content_root: ~/bitwize-music
audio_root: ~/bitwize-music/audio
artist:
name: bitwize
Album found at: ~/bitwize-music/artists/bitwize/albums/electronic/sample-album/
Result:
Album art imported for: sample-album
Copied to:
1. ~/bitwize-music/audio/bitwize/sample-album/album.png (for platforms)
2. ~/bitwize-music/artists/bitwize/albums/electronic/sample-album/album-art.jpg (for docs)
Common Mistakes
❌ Don't: Skip reading config
Wrong:
# Assuming paths
cp art.png ~/music-projects/audio/sample-album/
Right:
# Always read config first
cat ~/.bitwize-music/config.yaml
# Use paths.audio_root, paths.content_root, and artist.name from config
❌ Don't: Forget to include artist in audio path
Wrong audio destination:
{audio_root}/{album}/album.png
# Example: ~/music-projects/audio/sample-album/album.png
Correct audio destination:
{audio_root}/{artist}/{album}/album.png
# Example: ~/music-projects/audio/bitwize/sample-album/album.png
Why it matters: This is the most common mistake - audio_root includes artist folder.
❌ Don't: Place art in only one location
Wrong:
# Only copying to audio folder
cp art.png {audio_root}/{artist}/{album}/album.png
# Missing: content folder copy
Right:
# Copy to BOTH locations
# 1. Audio location (for streaming platforms)
cp art.png {audio_root}/{artist}/{album}/album.png
# 2. Content location (for documentation)
cp art.jpg {album_path}/album-art.jpg
Why it matters: Album art needs to be in both locations - audio folder for release, content folder for documentation.
❌ Don't: Mix up the filenames
Wrong:
# Using same filename in both locations
cp art.png {audio_root}/{artist}/{album}/album-art.png
cp art.png {album_path}/album.png
Correct naming:
Audio location: album.png (or album.jpg)
Content location: album-art.jpg (or album-art.png)
Why it matters: Different locations use different naming conventions to avoid confusion.
❌ Don't: Search from wrong location
Wrong:
# Searching from current directory
find . -name "README.md" -path "*albums/$album_name*"
Right:
# Search from content_root
content_root=$(yq '.paths.content_root' ~/.bitwize-music/config.yaml)
find "$content_root" -name "README.md" -path "*albums/$album_name*"
❌ Don't: Forget to create directories
Wrong:
# Copying without ensuring directory exists
cp art.png {audio_root}/{artist}/{album}/album.png
# Fails if directory doesn't exist
Right:
# Create directory first
mkdir -p {audio_root}/{artist}/{album}/
cp art.png {audio_root}/{artist}/{album}/album.png
Why it matters: Audio directory might not exist yet, especially for new albums.
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.
