Skip to content
Agentmart
Submit a tool

manage-metadata

Inspect and update MP3 tags: genre, artist, album, track count, compilation flag.

Skill by eyelock

IndexedMIT★ 2
Write a review

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-manage-metadata

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.

We use your email only for this newsletter. Privacy

About

Inspect and update MP3 tags: genre, artist, album, track count, compilation flag. Use when checking or fixing music file metadata — including diagnostic questions like "why do these show up as separate tracks" or "is this folder's metadata consistent," not just explicit tag-editing requests.

Use cases: writing

No 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/manage-metadata

Tools it pre-approves 2

From allowed-tools in SKILL.md: the agent may use these without asking you each time.

  • Bash
  • Read

What's inside

Skill name
manage-metadata
Description
Inspect and update MP3 tags: genre, artist, album, track count, compilation flag. Use when checking or fixing music file metadata — including diagnostic questions like "why do these show up as separate tracks" or "is this folder's metadata consistent," not just explicit tag-editing requests.
License
MIT
Allowed tools
Bash, Read
Instructions
138 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 (10)

  • SKILL.md
  • eval_queries.json · evals/
  • evals.json · evals/
  • clear-album-artist.sh · scripts/
  • extract-apple-music-genres.sh · scripts/
  • inspect-metadata.sh · scripts/
  • set-album-artist.sh · scripts/
  • set-compilation.sh · scripts/
  • update-genre.sh · scripts/
  • update-track-count.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` and `library_storage`, to locate the folder the
user means: 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.

## Modes

Parse `$ARGUMENTS` to determine mode and parameters:
- **inspect** (or no mode specified): Read-only metadata inspection
- **update**: Inspect first, then update based on user choices

### Argument format

```
inspect <folder>
update <folder> [genre=<genre>] [clear-album-artist | set-album-artist=<name>] [set-compilation] [update-track-count]
```

When update arguments include pre-confirmed values (e.g. `genre=Electronic`), apply them
directly — do not re-ask the user for values already specified in the arguments.

## Inspect Mode

### Step 1: Run inspection

```bash
bash scripts/inspect-metadata.sh "$FOLDER"
```

### Step 2: Present results

Display metadata as a readable table:

| # | File | Title | Artist | Album | Genre | Track | Album Artist |
|---|------|-------|--------|-------|-------|-------|-------------|

### Step 3: Flag issues

Check for:
- Missing titles
- Missing or empty genre, or genre that differs between tracks
- Inconsistent album names across tracks
- Inconsistent artist names across tracks
- Missing track numbers or wrong totals
- Album Artist set when it shouldn't be (single artist)
- Compilation flag inconsistencies

Then classify the album by its distinct track Artists, per
[album-types.md](../process-album/references/album-types.md), and say what its
Album Artist and compilation flag should be:
- **Single artist** (1 artist): Album Artist cleared, no compilation flag
- **Collaboration** (2 artists): Album Artist = the primary (most frequent)
  artist, no compilation flag, each track keeps its own Artist
- **Compilation** (3+ artists): Album Artist "Various Artists", compilation flag
  set, each track keeps its own Artist

Apple Music files an album by its Album Artist, falling back to each track's
Artist: a multi-artist album without the right Album Artist shows up as
separate albums. That is the usual answer to "why are these separate?".

## Update Mode

### Step 1: Inspect first

Always run inspect before updating. Present findings.

### Step 2: Ask what to update

Present the issues found and ask user to confirm what to fix. Never auto-apply
changes. Values the user already gave in the request ("set it to Techno", "make
Night Drive the album artist, go ahead") are confirmed: apply those without
asking again, but do not add fixes they did not ask for. A question ("why
does this show up as separate albums?") is not a request to change anything:
answer it, propose the fix, and ask.

### Step 3: Extract genres (if needed)

If genre needs setting and the user has not named one:
```bash
bash scripts/extract-apple-music-genres.sh
```

Present the genre list as numbered options. Ask user to select or type a custom genre.

### Step 4: Apply updates

Run the appropriate scripts based on user's choices:

**Track count:**
```bash
bash scripts/update-track-count.sh "$FOLDER"
```

**Genre:**
```bash
bash scripts/update-genre.sh "$FOLDER" "$GENRE"
```

**Album Artist (clear for single artist):**
```bash
bash scripts/clear-album-artist.sh "$FOLDER"
```

**Album Artist (set for collaboration):**
```bash
bash scripts/set-album-artist.sh "$FOLDER" "$ARTIST"
```

From eyelock/assistants, MIT.

More from eyelock/assistants

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
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from eyelock

Cite this page

manage-metadata skill. Agent Mart. https://agentmart.dev/skills/eyelock-manage-metadata (last updated 2026-10-24)