import-track
Moves track markdown files to the correct album location. Use when the user has track files in Downloads or other locations that need to be placed in an album.
What this skill does
## Your Task
**Input**: $ARGUMENTS
Import a track markdown file (.md) to the correct album location based on config.
---
# Import Track Skill
You move track markdown files to the correct location in the user's content directory.
## Step 1: Parse Arguments
Expected format: `<file-path> <album-name> [track-number]`
Examples:
- `~/Downloads/track.md sample-album 03`
- `~/Downloads/t-day-beach.md sample-album 03`
- `~/Downloads/03-t-day-beach.md sample-album` (number already in filename)
If arguments are missing, ask:
```
Usage: /import-track <file-path> <album-name> [track-number]
Example: /import-track ~/Downloads/track.md sample-album 03
```
## Step 2: Find Album and Resolve Path via MCP
1. Call `find_album(album_name)` — fuzzy match by name, slug, or partial. Returns album metadata including genre.
2. Call `resolve_path("tracks", album_slug)` — returns the full tracks directory path
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>
```
## Step 4: Construct Target Path
The target path is **ALWAYS**:
```
{content_root}/artists/{artist}/albums/{genre}/{album}/tracks/{XX}-{track-name}.md
```
Example with:
- `content_root: ~/bitwize-music`
- `artist: bitwize`
- `genre: electronic` (found from album location)
- `album: sample-album`
- `track-number: 03`
- `track-name: t-day-beach`
Result:
```
~/bitwize-music/artists/bitwize/albums/electronic/sample-album/tracks/03-t-day-beach.md
```
**Track numbering**:
- If track number provided, use it (zero-padded: `03`)
- If filename already has number prefix (e.g., `03-name.md`), preserve it
- If neither, ask user for track number
## Step 5: Move File
```bash
mv "{source_file}" "{target_path}"
```
## Step 6: Confirm
Report:
```
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)
```
---
## Examples
```
/import-track ~/Downloads/t-day-beach.md sample-album 03
```
Config has:
```yaml
paths:
content_root: ~/bitwize-music
artist:
name: bitwize
```
Album 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
```
---
## Common 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:**
```
# Use MCP to find album and resolve path
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.
### ❌ Don't: Forget the tracks/ subdirectory
**Wrong destination:**
```
{album_path}/01-track.md
# Example: ~/bitwize-music/artists/bitwize/albums/electronic/sample-album/01-track.md
```
**Correct destination:**
```
{album_path}/tracks/01-track.md
# Example: ~/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.
### ❌ Don't: Skip track number validation
**Wrong:**
```bash
# Not validating track number format
mv track.md {album_path}/tracks/$track_num-track.md
# Could result in: 3-track.md instead of 03-track.md
```
**Right:**
```bash
# Ensure zero-padding
track_num=$(printf "%02d" $track_num)
mv track.md {album_path}/tracks/$track_num-track.md
# Results in: 03-track.md
```
**Why it matters:** Track numbers must be zero-padded (01, 02, 03...) for proper sorting.
### ❌ Don't: Assume album location without searching
**Wrong:**
```bash
# Guessing album is in electronic genre
mv track.md ~/music-projects/artists/bitwize/albums/electronic/sample-album/tracks/
```
**Right:**
```
# Use MCP to find the album (handles genre resolution)
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.
Related in Writing & Docs
jax-development
IncludedUse this skill when the user is writing, debugging, profiling, refactoring, reviewing, benchmarking, parallelising, exporting, or explaining JAX code, or when they mention JAX, jax.numpy, jit, grad, value_and_grad, vmap, scan, lax, random keys, pytrees, jax.Array, sharding, Mesh, PartitionSpec, NamedSharding, pmap, shard_map, Pallas, XLA, StableHLO, checkify, profiler, or the JAX repo. It helps turn NumPy or PyTorch-style code into pure functional JAX, fix tracer/control-flow/shape/PRNG bugs, remove recompiles and host-device syncs, choose transforms and sharding strategies, inspect jaxpr/lowering/IR, and benchmark compiled code correctly.
nature-article-writer
IncludedDrafts, rewrites, diagnostically critiques, and style-calibrates primary research manuscripts for Nature and Nature Portfolio journals. Use when the user wants a Nature-style title, summary paragraph or abstract, introduction, results, discussion, methods, figure legends, presubmission enquiry, cover letter, reviewer response, or when a scientific draft sounds generic, jargon-heavy, structurally weak, or AI-ish and needs precise, broad-reader-friendly prose without inventing data, analyses, or references. Best for primary research articles and letters rather than reviews or press releases unless explicitly adapting one.
deckrd
IncludedDocument-driven framework that derives requirements, specifications, implementation plans, and executable tasks from goals through structured AI dialogue. Use when user says "write requirements", "create spec", "plan implementation", "derive tasks", "structure this feature", "break down into tasks", or "document this module". Also use for reverse engineering existing code into docs (/deckrd rev). Do NOT use for direct code writing — use /deckrd-coder after tasks are generated. Do NOT use when the user only wants to run or fix existing code without planning.
clinical-decision-support
IncludedGenerate professional clinical decision support (CDS) documents for pharmaceutical and clinical research settings, including patient cohort analyses (biomarker-stratified with outcomes) and treatment recommendation reports (evidence-based guidelines with decision algorithms). Supports GRADE evidence grading, statistical analysis (hazard ratios, survival curves, waterfall plots), biomarker integration, and regulatory compliance. Outputs publication-ready LaTeX/PDF format optimized for drug development, clinical research, and evidence synthesis.
handling-sf-data
IncludedSalesforce data operations with 130-point scoring. Use this skill to create, update, delete, bulk import/export, generate test data, and clean up org records using sf CLI and anonymous Apex. TRIGGER when: user creates test data, performs bulk import/export, uses sf data CLI commands, needs data factory patterns for Apex tests, or needs to seed/clean records in a Salesforce org. DO NOT TRIGGER when: SOQL query writing only (use querying-soql), Apex test execution (use running-apex-tests), or metadata deployment (use deploying-metadata).
accelint-ac-to-playwright
IncludedConvert and validate acceptance criteria for Playwright test automation. Use when user asks to (1) review/evaluate/check if AC are ready for automation, (2) assess if AC can be converted as-is, (3) validate AC quality for Playwright, (4) turn AC into tests, (5) generate tests from acceptance criteria, (6) convert .md bullets or .feature Gherkin files to Playwright specs, (7) create test automation from requirements. Handles both bullet-style markdown and Gherkin syntax with JSON test plan generation and validation.