import-audio
Moves audio files to the correct album location with proper path structure.
Skill by apavanello
Chalk Labs
Need help deploying import-audio?
Chalk Labs sets up agents like this inside real teams: connected to your tools, tested on your data, with a human in the loop where it matters.
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/apavanello-import-audio
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions: not checked yet.
What's inside
- Skill name
import-audio- Description
- Moves audio files to the correct album location with proper path structure. Use when the user has downloaded WAV files from Suno or other sources that need to be organized.
- License
- CC0-1.0
- Instructions
- 217 lines in SKILL.md · view on GitHub
Files (1)
- SKILL.md
SKILL.md (first lines)
## Your Task
**Input**: the user's input
Import an audio file (WAV, MP3, etc.) to the correct album location based on config.
---
# Import Audio Skill
You move audio files to the correct location in the user's audio directory.
## Step 1: Parse Arguments
Expected format: `<file-path> <album-name> [track-slug]`
The `track-slug` is optional — only needed for stems zip imports when the track can't be inferred from the filename.
Examples:
- `~/Downloads/track.wav sample-album`
- `~/Downloads/03-t-day-beach.wav sample-album`
- `~/Downloads/stems.zip sample-album 01-first-taste`
If arguments are missing, ask:
```
Usage: /import-audio <file-path> <album-name> [track-slug]
Examples:
/import-audio ~/Downloads/track.wav sample-album
/import-audio ~/Downloads/stems.zip sample-album 01-first-taste
```
## Step 2: Resolve Audio Path via MCP
1. Call `resolve_path("audio", album_slug)` — returns the full audio directory path
2. The resolved path uses the mirrored structure: `{audio_root}/artists/{artist}/albums/{genre}/{album}/`
Example result: `~/bitwize-music/audio/artists/bitwize/albums/hip-hop/sample-album/`
**CRITICAL**: Always use `resolve_path` — never construct paths manually.
## Step 3: Detect File Type
Check the file extension and whether it's a stems zip:
| File Type | Action |
|-----------|--------|
| `.wav`, `.mp3`, `.flac`, `.ogg`, `.m4a` | Move to album audio dir (Step 4) |
| `.zip` (stems) | Extract to per-track stems subfolder (Step 4b) |
**How to identify a stems zip**: The user will say "stems" or the zip contains files like `0 Lead Vocals.wav`, `1 Backing Vocals.wav`, etc.
## Step 4: Create Directory and Move File
```bash
mkdir -p {resolved_path}
mv "{source_file}" "{resolved_path}/{filename}"
```
## Step 4b: Import Stems Zip
Stems must go into per-track subfolders to prevent filename collisions (every track has `0 Lead Vocals.wav`, etc.):
```
{resolved_path}/
01-first-taste.wav
02-sugar-high.wav
stems/
01-first-taste/
0 Lead Vocals.wav
1 Backing Vocals.wav
2 Drums.wav
...
02-sugar-high/
0 Lead Vocals.wav
1 Backing Vocals.wav
...
```
**Workflow:**
1. **Determine the track slug** from one of:
- The zip filename if it matches a track pattern (e.g., `01-first-taste-stems.zip` → `01-first-taste`)
- The user specifying which track (e.g., `/import-audio stems.zip sample-album 01-first-taste`)
- **If neither**: Ask the user which track the stems belong to
2. **Extract** into the per-track subfolder:
```bash
mkdir -p {resolved_path}/stems/{track-slug}
unzip "{source_file}" -d "{resolved_path}/stems/{track-slug}"
```
3. **Update track metadata**: Call `update_track_field(album_slug, track_slug, "stems", "Yes")`
**Argument format for stems**: `<zip-path> <album-name> [track-slug]`
## Step 5: Confirm
Report:
```
Moved: {source_file}
To: {resolved_path}/{filename}
```
For stems:
```
Extracted stems: {source_file}
To: {resolved_path}/stems/{track-slug}/
Files: {count} stem files extracted
Updated: {track-slug} stems → Yes
```
## Error Handling
**Source file doesn't exist:**
```
Error: File not found: {source_file}
```
**Config file missing:**
```From apavanello/claude-ai-music-skills, CC0-1.0.
More from apavanello/claude-ai-music-skills
Signals
- Stars
- 0
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- Jun 8, 2026 (4 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- CC0-1.0
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
Same skill elsewhere
Copies of this SKILL.md published by others; search shows only one of them.
More from apavanello
Done for you
Rather not set it up yourself?
Chalk Labs scopes, builds and runs agents for your team: the task audit, the eval harness, the integrations and the weekly ops report. Fixed scope, priced before we start.
See how we build AI agents →Read the case studies
Chalk Labs is a two-founder AI and growth studio. We build AI agents, CRMs and MVPs for Web3 and AI companies, and have shipped 50+ product and token launches.
- launches shipped
- 50+
- launches shipped
- media placements
- 500+
- media placements
- founders on every account
- 2
- founders on every account
Press we've placed: Forbes · CoinDesk · Decrypt · Cointelegraph · The Block
Rahil Jain, Co-founder, Chalk Labs. Ex-Goldman Sachs engineer. You talk to the person who builds it.
Get import-audio running in your business
Tell us what you want to automate. A founder replies within one working day with a plan, not a pitch deck.
Cite this page
import-audio skill. Agent Mart. https://agentmart.dev/skills/apavanello-import-audio (last updated 2026-10-24)