import-art
について
このClaudeスキルは、アルバムアートワークをオーディオディレクトリとコンテンツディレクトリの両方の場所にアートファイルを配置することでインポートします。MCPツールを使用して、ユーザーが保存が必要な生成またはダウンロードしたアートワークを、ファジーマッチングでアルバムを検索し、適切なパスを解決します。開発者は、音楽ライブラリ管理ワークフローにおける自動化されたアルバムアート配置にこれを利用すべきです。
クイックインストール
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/import-artこのコマンドをClaude Codeにコピー&ペーストしてスキルをインストールします
ドキュメント
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: Find Album and Resolve Paths via MCP
- Call
find_album(album_name)— fuzzy match, returns album metadata including genre - Call
resolve_path("audio", album_slug)— returns audio directory path - Call
resolve_path("content", album_slug)— returns content directory path
If album not found:
Error: Album "{album-name}" not found.
Create it first with: /new-album {album-name} <genre>
Step 3: Construct Target Paths
TWO destinations required (paths from MCP resolve_path calls):
- Audio folder (for platforms/mastering):
{audio_path}/album.png - Content folder (for documentation):
{content_path}/album-art.{ext}
CRITICAL: resolve_path includes the artist folder automatically.
Step 4: Create Directories and Copy Files
# Create audio directory (includes artist folder!)
mkdir -p {audio_root}/artists/{artist}/albums/{genre}/{album}
# Copy to audio folder as album.png
cp "{source_file}" "{audio_root}/artists/{artist}/albums/{genre}/{album}/album.png"
# Copy to content folder preserving extension
cp "{source_file}" "{content_root}/artists/{artist}/albums/{genre}/{album}/album-art.{ext}"
Step 5: Confirm
Report:
Album art imported for: {album-name}
Copied to:
1. {audio_root}/artists/{artist}/albums/{genre}/{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/artists/bitwize/albums/electronic/sample-album/album.png (for platforms)
2. ~/bitwize-music/artists/bitwize/albums/electronic/sample-album/album-art.jpg (for docs)
Common Mistakes
❌ Don't: Manually read config and construct paths
Wrong:
cat ~/.bitwize-music/config.yaml
cp art.png ~/music-projects/audio/sample-album/
Right:
# Use MCP to find album and resolve both paths
find_album(album_name) → returns album metadata
resolve_path("audio", album_slug) → audio path with artist folder
resolve_path("content", album_slug) → content path with genre
Why it matters: resolve_path handles config reading, artist folder, and genre resolution automatically.
❌ Don't: Place art in only one location
Wrong:
# Only copying to audio folder
cp art.png {audio_root}/artists/{artist}/albums/{genre}/{album}/album.png
# Missing: content folder copy
Right:
# Copy to BOTH locations
# 1. Audio location (for streaming platforms)
cp art.png {audio_root}/artists/{artist}/albums/{genre}/{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}/artists/{artist}/albums/{genre}/{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 for albums manually
Wrong:
find . -name "README.md" -path "*albums/$album_name*"
Right:
find_album(album_name) → returns album data including path and genre
❌ Don't: Forget to create directories
Wrong:
# Copying without ensuring directory exists
cp art.png {audio_root}/artists/{artist}/albums/{genre}/{album}/album.png
# Fails if directory doesn't exist
Right:
# Create directory first
mkdir -p {audio_root}/artists/{artist}/albums/{genre}/{album}/
cp art.png {audio_root}/artists/{artist}/albums/{genre}/{album}/album.png
Why it matters: Audio directory might not exist yet, especially for new albums.
GitHub リポジトリ
関連スキル
content-collections
メタこのスキルは、Content Collections(Markdown/MDXファイルを型安全なデータコレクションに変換するTypeScriptファーストのツール)の本番環境でテストされた設定を提供します。Zodバリデーションによる型安全性を実現し、ブログ、ドキュメントサイト、コンテンツ重視のVite + Reactアプリケーション構築時にご利用ください。Viteプラグインの設定、MDXコンパイルから、デプロイ最適化、スキーマバリデーションまで、すべてを網羅しています。
polymarket
メタこのスキルは、開発者がPolymarket予測市場プラットフォームを活用したアプリケーション構築を可能にします。API統合による取引や市場データの取得に加え、WebSocketを介したリアルタイムデータストリーミングにより、ライブ取引や市場活動を監視できます。取引戦略の実装や、ライブ市場更新を処理するツールの作成にご利用ください。
creating-opencode-plugins
メタこのスキルは、開発者がコマンド、ファイル、LSP操作など25種類以上のイベントタイプにフックするOpenCodeプラグインを作成することを支援します。JavaScript/TypeScriptモジュール向けに、プラグイン構造、イベントAPI仕様、および実装パターンを提供します。カスタムイベント駆動ロジックでOpenCode AIアシスタントのライフサイクルをインターセプト、監視、または拡張する必要がある場合にご利用ください。
sglang
メタSGLangは、高性能なLLMサービングフレームワークであり、RadixAttentionプレフィックスキャッシュを活用したJSON、正規表現、エージェントワークフロー向けの高速で構造化された生成を特長とします。特にプレフィックスが繰り返されるタスクにおいて、大幅に高速な推論を実現し、複雑な構造化出力やマルチターン対話に最適です。制約付きデコードが必要な場合や、広範なプレフィックス共有を伴うアプリケーションを構築する場合は、vLLMなどの代替案ではなくSGLangを選択してください。
