cleanup
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…
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-cleanup
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/cleanup
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
cleanup- Description
- 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 the list and getting confirmation. Use when the user is done with an album and wants its leftovers cleared ("tidy up my downloads for X", "remove the extracted folders"), not for general Downloads housekeeping.
- License
- MIT
- Allowed tools
- Bash, Read
- Instructions
- 104 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/
- cleanup-release.sh · scripts/
- find-release-artifacts.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`, plus `processed` if it is set (where archived ZIPs
go; default `<downloads>/processed`): 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
- **`find-release-artifacts.sh <downloads_folder> <release_name> [--zip <path>]... [--folder <path>]...`** — Find all ZIPs, loose audio files, and extraction folders related to a release. Run `--help` for details.
- **`cleanup-release.sh <downloads_folder> <release_name> [--zip <path>]... [--folder <path>]...`** — Move ZIPs and loose audio files to processed/, remove extraction folders. Run `--help` for details.
## Argument format
```
<Artist - Album> [--zip <path>]... [--folder <path>]...
```
`release_name` (`<Artist - Album>`) drives glob matching against `$DOWNLOADS` — use this for
ad hoc/manual cleanup requests where you don't already have exact paths.
**Prefer `--zip`/`--folder` with exact paths whenever the caller already knows them** — most
notably `process-album`, which tracked the original ZIP/file paths (Step 1) and extraction
folder paths (Steps 2 and 11) all along. Glob matching by name alone is unreliable: a vendor
ZIP's filename frequently does NOT match the clean release name used for the extraction folder
— e.g. a Various Artists compilation ZIP named after all 10 contributing artists
(`Artist One- Artist Two- ... - keep it deep (pre-order).zip`), extracted into a folder simply called
`keep it deep`. Matching on `"keep it deep"` alone finds the folder but misses the ZIP (and vice
versa for the vendor name). Passing the exact paths sidesteps this entirely. `release_name` can
be `""` in that case — it's used only as a display label.
Explicit and glob-matched results are merged and deduplicated by path, so it's safe to pass both.
## Workflow
### Step 1: Find items to clean
Run the find script to locate all related artifacts. If exact paths are known, pass them
explicitly instead of relying on `$RELEASE_NAME` alone:
```bash
bash scripts/find-release-artifacts.sh "$DOWNLOADS" "$RELEASE_NAME" \
--zip "$MP3_SOURCE_PATH" --zip "$WAV_SOURCE_PATH" \
--folder "$EXTRACTION_FOLDER" --folder "$WAV_EXTRACTION_FOLDER"
```
Parse the JSON output and present to user:
> **Files to archive:**
> - `Artist - Album.zip` → move to `processed/`
> - `Artist - Album-2.zip` → move to `processed/`
> - `Artist - Track.mp3` → move to `processed/` (loose single-track file)
>
> **Folders to remove:**
> - `Artist - Album/`
> - `Artist - Album-wav/`
Only items whose name is the release name plus a store or browser duplicate
suffix (`-2`, `-wav`, ` (1)`, ` (pre-order)`) match. Anything else that merely
starts with the same words, such as `Artist - Album (Remixes).zip`, is a
different release: leave it alone, and mention it only so the user knows it was
not touched.
If nothing is found, report this and exit without moving or deleting anything.
If nothing matches but similarly named items exist (the user said
`Artist - Album` and Downloads holds `Artist - Album EP.zip`), list them and
ask which release they meant. Never clean up a near match on your own, even
when the request says to go ahead.
### Step 2: Ask for confirmation
> **Shall I proceed with cleanup?** (This will move ZIPs/audio files to processed/ and delete extraction folders)
**DO NOT PROCEED without explicit user confirmation.** Explicit means the user
said yes to this cleanup: in a reply, or in the request itself when it plainly
authorizes it without a further check ("go ahead, no need to confirm"). A
request that only asks you to tidy up is not confirmation: present the list and
stop.
### Step 3: Execute cleanup
Run the cleanup script, passing the same `--zip`/`--folder` arguments used in Step 1 if any:
```bash
bash scripts/cleanup-release.sh "$DOWNLOADS" "$RELEASE_NAME" \
--zip "$MP3_SOURCE_PATH" --zip "$WAV_SOURCE_PATH" \
--folder "$EXTRACTION_FOLDER" --folder "$WAV_EXTRACTION_FOLDER"
```
The script moves ZIPs and loose audio files to `processed/`, removes extraction folders, and outputs JSON with results.
### Step 4: Report
Present the JSON results: how many ZIPs/audio files archived and folders removed.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
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
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.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.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 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
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
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
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
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
cleanup skill. Agent Mart. https://agentmart.dev/skills/eyelock-cleanup (last updated 2026-10-24)