archive-media
Stage a processed release on the NAS: copy its MP3s from the Apple Music library and its WAVs from the extraction folder into the NAS staging folder, with…
Skill by eyelock
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/eyelock-archive-media
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
Use cases: writing
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md and code. Checked Oct 26, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
- Runs as
- Shell scripts
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/archive-media
Tools it pre-approves 2
From allowed-tools in SKILL.md: the agent may use these without asking you each time.
BashRead
What's inside
- Skill name
archive-media- Description
- Stage a processed release on the NAS: copy its MP3s from the Apple Music library and its WAVs from the extraction folder into the NAS staging folder, with clean WAV names and a verified count. Use once an Apple Music import looks right ("stage it to the NAS", "archive the WAVs"), or to re-archive files corrected after archiving. Not for renaming or converting files in place outside an archive run.
- License
- MIT
- Allowed tools
- Bash, Read
- Instructions
- 93 lines in SKILL.md · view on GitHub
Before installing
- Ships executable scripts
- Pre-approves any shell command
- Instructions read files in your home folder (~/.ssh, ~/.aws…)
Files (5)
- SKILL.md
- eval_queries.json · evals/
- evals.json · evals/
- archive-files.sh · scripts/
- rename-wav-files.sh · scripts/
SKILL.md (first lines)
## Setup
Resolve paths with the setup skill's checker, which applies the plugin's one
resolution order (the `MEDIA_MGMT_*` env var first, then config.json at
`$MEDIA_MGMT_CONFIG_PATH`, default `~/.config/media-management/config.json`):
```bash
bash ../setup/scripts/check-config.sh
```
This skill needs `library_storage` (the Apple Music library) and
`archive_workdir` (the NAS staging folder): use each item's `value` from the
JSON. If a key it needs is `missing`, stop and run the `setup` skill rather than
guessing a path. When the user names a folder explicitly, use that folder.
Scripts are in `scripts/` relative to this skill directory.
## Scripts
- **`archive-files.sh <mode> <source_dir> <dest_dir>`** — Copy audio files to destination, verify counts. For WAV mode, calls rename-wav-files.sh internally. Run `--help` for details.
- **`rename-wav-files.sh <folder>`** — Rename WAV files from vendor format to clean format. Called internally by archive-files.sh.
## Argument format
```
mp3 <artist> <album>
wav <artist> <album> <source_folder>
```
- **mp3**: Archives from Apple Music library (`$LIBRARY_STORAGE/AlbumArtist/Album/`)
- **wav**: Archives from extraction folder, skips Apple Music entirely
## A CD rip (rip-cd)
When the release came from a CD (`rip-cd`), the WAVs are not in Downloads:
they are in the rip's temporary work folder, `<work_dir>/cd-rip-<Artist> -
<Album>/disc<N>/wav/` (`work_dir` from setup's checker, default
`$TMPDIR/media-management`), with its `release.json` and `cover.jpg`. Archive
both formats, the MP3s from the Apple Music library and that WAV folder, so
the NAS has the lossless copy too, and use the folder names Apple Music used
(it writes ":" and "/" as "_"). Then compare the record's `disc_total` with
the discs now on the NAS and say whether the set is complete ("disc 1 of 2
is on the NAS; disc 2 is still to rip"). Prefer the `rip-cd` skill for this
whole step when it is available: it knows the work folder.
## Workflow
Determine mode from the first argument: `mp3` or `wav`.
### MP3 Archival
Source is the Apple Music library (captures any edits made in Apple Music).
**Important — use the *effective Album Artist*, not the track Artist, for `$ARTIST` in the path below.**
Apple Music files an imported album on disk by its Album Artist tag, falling back to the
track Artist only when Album Artist is empty. Per [album-types.md](../process-album/references/album-types.md):
- **Single artist** (Album Artist cleared): folder = the track Artist — same as `$ARTIST` you'd expect
- **Collaboration** (Album Artist = primary artist): folder = that primary artist, not whichever artist happened to be first alphabetically
- **Compilation** (Album Artist = "Various Artists"): folder = literally `Various Artists`, **not** the individual track's artist
Getting this wrong fails loudly (`source folder not found`) rather than silently, but avoid the
extra round-trip: pass whatever value you set as Album Artist during metadata update (Step 6 of
process-album), not the per-track Artist.
Run the archive script:
```bash
bash scripts/archive-files.sh mp3 "$LIBRARY_STORAGE/$ALBUM_ARTIST/$ALBUM" "$ARCHIVE_WORKDIR/to_nas/mp3/$ALBUM_ARTIST/$ALBUM"
```
The script creates the destination, copies all MP3 files, verifies the count matches, and outputs JSON with results.
Check the JSON output: if `verified` is `false`, warn the user about the count mismatch. If the
script instead errors with "source folder not found," the most likely cause is passing the track
Artist for a compilation/collaboration — retry with the Album Artist (e.g. "Various Artists")
instead.
### WAV Archival
Source is the extraction folder (not Apple Music — WAVs never go through it). There's no
filesystem lookup here, so no risk of the mp3-mode path issue above, but use the same
`$ALBUM_ARTIST` value you used for the MP3 archive so the mp3/ and wav/ trees under
`to_nas/` mirror each other (e.g. both filed under `Various Artists/Album` for a compilation).
Run the archive script:
```bash
bash scripts/archive-files.sh wav "$SOURCE_FOLDER" "$ARCHIVE_WORKDIR/to_nas/wav/$ALBUM_ARTIST/$ALBUM"
```
The script creates the destination, copies all WAV files, runs rename-wav-files.sh to clean up vendor filenames, verifies the count, and outputs JSON with results.
Check the JSON output: if `renamed` is `false`, warn the user that renaming may have failed.From eyelock/assistants, MIT.
More from eyelock/assistants
- 0.603score
split-long-tracks
eyelock
Find and split audio tracks longer than Apple Music's 78-minute limit at natural quiet points, keeping album order.
SkillAFreshness: A★ 2Claude Code +9 - 0.603score
cleanup
eyelock
Tidy Downloads after a release is fully processed: move its ZIPs (or loose single-track files) to processed/ and delete its extraction folders, after showing…
SkillAFreshness: A★ 2Claude Code +9 - 0.603score
import-to-apple-music
eyelock
Copy finished MP3s into Apple Music via the auto-import folder and verify the album lands correctly.
SkillAFreshness: A★ 2Claude Code +9 - 0.603score
manage-metadata
eyelock
Inspect and update MP3 tags: genre, artist, album, track count, compilation flag.
SkillAFreshness: A★ 2Claude Code +9 - 0.603score
process-album
eyelock
End-to-end processing of downloaded music purchases: extract ZIPs (or copy loose single-track files), verify metadata, import to Apple Music, archive to NAS…
SkillAFreshness: A★ 2Claude Code - 0.603score
reclaim-space
eyelock
Reclaim local disk by offloading cloud-backed Apple Music downloads.
SkillAFreshness: A★ 2Claude Code +9 - 0.603score
select-release
eyelock
Find music release ZIPs AND loose single-track audio files in Downloads and classify each as MP3 or WAV by inspecting contents (never filenames), matching…
SkillAFreshness: A★ 2Claude Code +9 - 0.603score
setup
eyelock
Check that all media-management paths (Downloads, Apple Music, NAS archive, rekordbox-mcp) are resolvable via env var or config.json, and help the user fix…
SkillAFreshness: A★ 2Claude Code +9 - 0.600score
release
eyelock
Tag-driven release automation - cutting a stable, beta or hotfix release, choosing the version bump, and monitoring the release workflow.
SkillAFreshness: A★ 2Claude Code +9 - 0.600score
ci
eyelock
GitHub Actions workflows that implement the Gitflow model — CI gating, branch protection enforcement, and tag-triggered release.
SkillAFreshness: A★ 2Claude Code +9 - 0.599score
rip-cd
eyelock
Rip an audio CD in the optical drive into Apple Music and the NAS: identify it on MusicBrainz, ask the usual questions, securely rip and verify it against…
SkillAFreshness: A★ 2Claude Code - 0.599score
audit-release
eyelock
Check a release already in Apple Music against everything a finished import should be (one album, clean titles, real artwork, MP3s and WAVs on the NAS) and…
SkillAFreshness: A★ 2Claude Code
Signals
- Stars
- 2
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- Oct 19, 2026 (9 days ago)
- Last release
- Aug 25, 2026 (2 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/eyelock/assistants
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from eyelock
- 0.603score
manage-metadata
eyelock
Inspect and update MP3 tags: genre, artist, album, track count, compilation flag.
SkillAFreshness: A★ 2Claude Code +9 - 0.603score
reclaim-space
eyelock
Reclaim local disk by offloading cloud-backed Apple Music downloads.
SkillAFreshness: A★ 2Claude Code +9 - 0.603score
import-to-apple-music
eyelock
Copy finished MP3s into Apple Music via the auto-import folder and verify the album lands correctly.
SkillAFreshness: A★ 2Claude Code +9 - 0.603score
cleanup
eyelock
Tidy Downloads after a release is fully processed: move its ZIPs (or loose single-track files) to processed/ and delete its extraction folders, after showing…
SkillAFreshness: A★ 2Claude Code +9 - 0.603score
process-album
eyelock
End-to-end processing of downloaded music purchases: extract ZIPs (or copy loose single-track files), verify metadata, import to Apple Music, archive to NAS…
SkillAFreshness: A★ 2Claude Code - 0.603score
select-release
eyelock
Find music release ZIPs AND loose single-track audio files in Downloads and classify each as MP3 or WAV by inspecting contents (never filenames), matching…
SkillAFreshness: A★ 2Claude Code +9
Cite this page
archive-media skill. Agent Mart. https://agentmart.dev/skills/eyelock-archive-media (last updated 2026-10-24)