import-track
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseYour Task
你的任务
Input: $ARGUMENTS
Import a track markdown file (.md) to the correct album location based on config.
输入:$ARGUMENTS
根据配置将曲目Markdown文件(.md)导入到正确的专辑目录中。
Import Track Skill
导入曲目Skill
You move track markdown files to the correct location in the user's content directory.
你需要将曲目Markdown文件移动到用户内容目录中的正确位置。
Step 1: Parse Arguments
步骤1:解析参数
Expected format:
<file-path> <album-name> [track-number]Examples:
~/Downloads/track.md sample-album 03~/Downloads/t-day-beach.md sample-album 03- (number already in filename)
~/Downloads/03-t-day-beach.md sample-album
If arguments are missing, ask:
Usage: /import-track <file-path> <album-name> [track-number]
Example: /import-track ~/Downloads/track.md sample-album 03预期格式:
<file-path> <album-name> [track-number]示例:
~/Downloads/track.md sample-album 03~/Downloads/t-day-beach.md sample-album 03- (文件名中已包含编号)
~/Downloads/03-t-day-beach.md sample-album
如果参数缺失,请提示:
Usage: /import-track <file-path> <album-name> [track-number]
Example: /import-track ~/Downloads/track.md sample-album 03Step 2: Find Album and Resolve Path via MCP
步骤2:通过MCP查找专辑并解析路径
- Call — fuzzy match by name, slug, or partial. Returns album metadata including genre.
find_album(album_name) - Call — returns the full tracks directory path
resolve_path("tracks", album_slug)
If album not found, MCP returns available albums:
Error: Album "{album-name}" not found.
Available albums:
[list from MCP response]
Create album first with: /new-album {album-name} <genre>- 调用——按名称、slug或部分内容进行模糊匹配。返回包含流派的专辑元数据。
find_album(album_name) - 调用——返回完整的曲目目录路径
resolve_path("tracks", album_slug)
如果未找到专辑,MCP会返回可用专辑列表:
Error: Album "{album-name}" not found.
Available albums:
[list from MCP response]
Create album first with: /new-album {album-name} <genre>Step 4: Construct Target Path
步骤4:构建目标路径
The target path is ALWAYS:
{content_root}/artists/{artist}/albums/{genre}/{album}/tracks/{XX}-{track-name}.mdExample with:
content_root: ~/bitwize-musicartist: bitwize- (found from album location)
genre: electronic album: sample-albumtrack-number: 03track-name: t-day-beach
Result:
~/bitwize-music/artists/bitwize/albums/electronic/sample-album/tracks/03-t-day-beach.mdTrack numbering:
- If track number provided, use it (zero-padded: )
03 - If filename already has number prefix (e.g., ), preserve it
03-name.md - If neither, ask user for track number
目标路径必须为:
{content_root}/artists/{artist}/albums/{genre}/{album}/tracks/{XX}-{track-name}.md示例:
content_root: ~/bitwize-musicartist: bitwize- (从专辑目录中获取)
genre: electronic album: sample-albumtrack-number: 03track-name: t-day-beach
结果:
~/bitwize-music/artists/bitwize/albums/electronic/sample-album/tracks/03-t-day-beach.md曲目编号规则:
- 如果提供了曲目编号,则使用该编号(需补零:)
03 - 如果文件名已包含编号前缀(例如),则保留该编号
03-name.md - 如果两者都没有,请询问用户获取曲目编号
Step 5: Move File
步骤5:移动文件
bash
mv "{source_file}" "{target_path}"bash
mv "{source_file}" "{target_path}"Step 6: Confirm
步骤6:确认
Report:
Moved: {source_file}
To: {target_path}反馈:
Moved: {source_file}
To: {target_path}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>Track already exists:
Warning: Track already exists at destination.
Overwrite? (The original was not moved)源文件不存在:
Error: File not found: {source_file}配置文件缺失:
Error: Config not found at ~/.bitwize-music/config.yaml
Run /configure to set up.专辑未找到:
Error: Album "{album-name}" not found.
Create it first with: /new-album {album-name} <genre>曲目已存在:
Warning: Track already exists at destination.
Overwrite? (The original was not moved)Examples
示例
/import-track ~/Downloads/t-day-beach.md sample-album 03Config has:
yaml
paths:
content_root: ~/bitwize-music
artist:
name: bitwizeAlbum found at:
~/bitwize-music/artists/bitwize/albums/electronic/sample-album/Result:
Moved: ~/Downloads/t-day-beach.md
To: ~/bitwize-music/artists/bitwize/albums/electronic/sample-album/tracks/03-t-day-beach.md/import-track ~/Downloads/t-day-beach.md sample-album 03配置内容:
yaml
paths:
content_root: ~/bitwize-music
artist:
name: bitwize找到的专辑路径:
~/bitwize-music/artists/bitwize/albums/electronic/sample-album/结果:
Moved: ~/Downloads/t-day-beach.md
To: ~/bitwize-music/artists/bitwize/albums/electronic/sample-album/tracks/03-t-day-beach.mdCommon Mistakes
常见错误
❌ Don't: Manually read config and search for albums
❌ 不要:手动读取配置并搜索专辑
Wrong:
bash
cat ~/.bitwize-music/config.yaml
find . -name "README.md" -path "*albums/$album_name*"Right:
undefined错误做法:
bash
cat ~/.bitwize-music/config.yaml
find . -name "README.md" -path "*albums/$album_name*"正确做法:
undefinedUse MCP to find album and resolve path
使用MCP查找专辑并解析路径
find_album(album_name) → returns album metadata with genre
resolve_path("tracks", album_slug) → returns full tracks directory path
**Why it matters:** MCP handles config reading, fuzzy matching, and path resolution in single calls.find_album(album_name) → 返回包含流派的专辑元数据
resolve_path("tracks", album_slug) → 返回完整的曲目目录路径
**原因**:MCP可通过单次调用处理配置读取、模糊匹配和路径解析。❌ Don't: Forget the tracks/ subdirectory
❌ 不要:忘记tracks/子目录
Wrong destination:
{album_path}/01-track.md错误的目标路径:
{album_path}/01-track.mdExample: ~/bitwize-music/artists/bitwize/albums/electronic/sample-album/01-track.md
示例:~/bitwize-music/artists/bitwize/albums/electronic/sample-album/01-track.md
**Correct destination:**{album_path}/tracks/01-track.md
**正确的目标路径**:{album_path}/tracks/01-track.md
Example: ~/bitwize-music/artists/bitwize/albums/electronic/sample-album/tracks/01-track.md
示例:~/bitwize-music/artists/bitwize/albums/electronic/sample-album/tracks/01-track.md
**Why it matters:** Tracks always go in the `tracks/` subdirectory within the album folder.
**原因**:曲目必须存放在专辑文件夹内的`tracks/`子目录中。❌ Don't: Skip track number validation
❌ 不要:跳过曲目编号验证
Wrong:
bash
undefined错误做法:
bash
undefinedNot validating track number format
未验证曲目编号格式
mv track.md {album_path}/tracks/$track_num-track.md
mv track.md {album_path}/tracks/$track_num-track.md
Could result in: 3-track.md instead of 03-track.md
可能导致:3-track.md 而非 03-track.md
**Right:**
```bash
**正确做法**:
```bashEnsure zero-padding
确保补零
track_num=$(printf "%02d" $track_num)
mv track.md {album_path}/tracks/$track_num-track.md
track_num=$(printf "%02d" $track_num)
mv track.md {album_path}/tracks/$track_num-track.md
Results in: 03-track.md
结果:03-track.md
**Why it matters:** Track numbers must be zero-padded (01, 02, 03...) for proper sorting.
**原因**:曲目编号必须补零(01、02、03...)以保证排序正确。❌ Don't: Assume album location without searching
❌ 不要:未搜索就假设专辑位置
Wrong:
bash
undefined错误做法:
bash
undefinedGuessing album is in electronic genre
猜测专辑属于electronic流派
mv track.md ~/music-projects/artists/bitwize/albums/electronic/sample-album/tracks/
**Right:**mv track.md ~/music-projects/artists/bitwize/albums/electronic/sample-album/tracks/
**正确做法**:Use MCP to find the album (handles genre resolution)
使用MCP查找专辑(自动处理流派解析)
find_album(album_name) → returns album metadata including genre and path
**Why it matters:** Albums are organized by genre. `find_album` resolves the genre automatically.find_album(album_name) → 返回包含流派和路径的专辑元数据
**原因**:专辑按流派分类。`find_album`会自动解析流派。