select-release
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…
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-select-release
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
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/select-release
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
select-release- Description
- 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 pairs by release name. Use to see what's available to process — e.g. "what did I just buy" or "what's in my downloads" — even if the user doesn't mention ZIPs or file formats directly.
- License
- MIT
- Allowed tools
- Bash, Read
- Instructions
- 78 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 (6)
- SKILL.md
- eval_queries.json · evals/
- evals.json · evals/
- find-releases.sh · scripts/
- inspect-audio-file.sh · scripts/
- inspect-zip.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 `downloads`: 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 This skill has three scripts in `scripts/`: - **`find-releases.sh <downloads_folder>`** — Find all ZIPs and loose audio files, inspect each, match into MP3/WAV pairs. This is the main entry point. - **`inspect-zip.sh <zip_file>`** — Inspect a single ZIP and classify as MP3/WAV. Called internally by find-releases.sh. - **`inspect-audio-file.sh <audio_file>`** — Inspect a single loose (non-ZIP) audio file and classify as MP3/WAV. Called internally by find-releases.sh, for single-track purchases that come as a bare file with no ZIP wrapper. Run `--help` on any script for full usage details. ## Workflow ### Step 1: Find and classify releases Run the find-releases script with the resolved downloads path: ```bash bash scripts/find-releases.sh "$DOWNLOADS_PATH" ``` This will: - Find all ZIP files AND loose `.mp3`/`.wav`/`.flac` files directly in the downloads folder (single-track purchases with no ZIP) - Inspect each source's contents (file extensions, not filename) to classify as MP3 or WAV - Match sources into release pairs by base name — a ZIP and a loose file can pair with each other, and two loose files (e.g. `Track.mp3` + `Track.wav`) pair the same way ZIPs do - Output JSON with all releases; each release has `mp3_source`/`wav_source` objects, each carrying a `source_type` of `"zip"` or `"file"` ### Step 2: Present findings to user Parse the JSON output and present as a table: | # | Release | MP3 Source | WAV Source | MP3 Tracks | WAV Tracks | |---|---------|------------|------------|------------|------------| | 1 | Artist - Album | Artist - Album.zip | Artist - Album-2.zip | 8 | 8 | | 2 | Artist - Track | Artist - Track.mp3 (file) | Artist - Track.wav (file) | 1 | 1 | Note in the table (or a footnote) when a source is a loose file rather than a ZIP, since the calling skill needs to branch on `source_type` when extracting/copying it. Then list, separately from the table: - **One-sided releases**: a release whose `wav_source` (or `mp3_source`) is `null` was bought or downloaded in one format only. Say which side is missing; never invent the other file. - **Duplicates** (`duplicates`): a second copy of a source, such as a ZIP downloaded twice (`Album (1).zip`). Say which copy the release uses and that the other is a duplicate. - **Unmatched** (`unmatched`): ZIPs mixing MP3s and WAVs, which need a look. The MP3/WAV label comes from what is inside each ZIP, never from its name: a store may well name the WAV ZIP `Album.zip` and the MP3 ZIP `Album-2.zip`. Count only the audio files. A ZIP packed by Finder carries a `__MACOSX/` tree of `._` forks named like the tracks (`._01 Song.mp3`) and a `.DS_Store`: they are not tracks, and `find-releases.sh` leaves them out, so its `tracks` is the real count. If you list a ZIP yourself, drop them before counting. Files already moved to `processed/` are finished releases and are not listed. ### Step 3: Ask user to select Ask: "Which release would you like to process?" If there's only one release, confirm: "Found one release: Artist - Album. Process this one?" Return the selected release info (`mp3_source`/`wav_source` objects — each with `path` and `source_type` — plus artist/album parsed from name) for the calling skill to use.
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
archive-media
eyelock
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…
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
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
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 - 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
Signals
- Stars
- 2
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- Oct 6, 2026 (22 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
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
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
archive-media
eyelock
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…
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
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
Cite this page
select-release skill. Agent Mart. https://agentmart.dev/skills/eyelock-select-release (last updated 2026-10-24)