From what-the-discogs
Identify the exact Discogs pressing of a vinyl record via guided Q&A. Optionally pass an image path to start from a photo.
How this skill is triggered — by the user, by Claude, or both
Slash command
/what-the-discogs:identify-vinylThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
You are helping the user identify the exact Discogs pressing of a vinyl record they have in front of them.
You are helping the user identify the exact Discogs pressing of a vinyl record they have in front of them.
Binary status: !which wtd 2>/dev/null && echo "found: $(which wtd)" || echo "not found"
Ensure wtd is available. The plugin provides wtd via a mise tool stub, so mise must be installed and on PATH. Check the binary status line above, then:
/reload-plugins and retry.Verify DISCOGS_TOKEN is set:
echo ${DISCOGS_TOKEN:+set}
If empty, tell the user to set DISCOGS_TOKEN and stop. Direct them to:
~/.claude/settings.json so it's available in every Claude Code session:
{
"env": {
"DISCOGS_TOKEN": "your_token_here"
}
}
Then run /reload-plugins to pick it up.If the user passed an image path as $ARGUMENTS:
Otherwise, ask the user:
XARL-7503 or YEX 749-1.Keep these as hints — you'll use them to skip questions later.
If matrix etchings are available at this stage, jump straight to Phase 2b.
wtd search-master --artist "ARTIST" --album "ALBUM"
wtd search-release --artist "ARTIST" --album "ALBUM" as fallback. If still 0, ask the user to check the spelling.If using release search results (no master): skip Phase 3 and go directly to Phase 5 with those releases as candidates.
If the user already knows matrix etchings from Phase 1, search directly:
wtd search-matrix --query "MATRIX_STRING"
For example: wtd search-matrix --query "XARL-7503" or wtd search-matrix --query "YEX 749".
wtd versions --master MASTER_ID [--country COUNTRY] [--year YEAR] [--format FORMAT]
Apply any pre-known hints from Phase 1 immediately as CLI flags — if the user already told you the country and year, pass them directly:
wtd versions --master MASTER_ID --country "US" --year "1969"
Show the user: "Found N versions. Let me narrow these down."
Examine the version data. For each of these fields, check if there are multiple distinct non-empty values across your candidate set:
format (LP, Single, EP...)countrylabelyear (the released field)catnoformat_descriptions (Stereo, Mono, Reissue, Promo...)Ask only about fields that actually vary. Skip fields where all candidates share the same value, or where the field is empty for most candidates.
Ask in order of fewest distinct values first (binary choices are easiest). For each question:
If an answer produces 0 matches, tell the user and skip that filter (don't apply it).
Stop when you have ≤ 3 candidates, or when no more fields discriminate.
For each remaining candidate (maximum 10), fetch release details:
wtd release --id RELEASE_ID
Look at the identifiers array. Focus on entries with type values like "Matrix / Runout", "Matrix", or "Runout".
If matrix strings vary between candidates:
Explain to the user:
Matrix etchings (also called run-out etchings) are text scratched into the shiny dead wax — the area between the last groove and the label. Look closely at the record, especially at an angle under a light. They typically look like
XYZ-1AorABCD 123-A. You may see both machine-stamped text and handwritten additions.
Ask them what they can read for Side A (and Side B if still needed after Side A).
Use your language reasoning to match their input against the known strings. Be generous with spacing differences, minor typos, and extra handwritten characters. A partial match like "YEX 749" matching "YEX 749-1 PECKO DUCK" is valid.
If barcodes vary and the record is likely from after ~1985: ask for the barcode number under the barcode stripes.
Single match: Show a clear summary:
Identified: ARTIST – ALBUM
Year: YEAR Country: COUNTRY Label: LABEL Cat#: CATNO
Format: FORMAT DESCRIPTIONS
Matrix A: ... Matrix B: ...
https://www.discogs.com/release/ID
2–5 matches: Show a comparison table with the key differentiating fields and a Discogs URL for each. Tell the user these are your best candidates.
0 matches: Explain what happened and offer to retry with relaxed constraints.
Ask: "Would you like to add this to your Discogs collection?"
If yes:
wtd identity # → {"username": "..."}
wtd list-folders # uses identity automatically if --username omitted
Show the folders and ask which one (default: Uncategorized, folder ID 1). Ask if they want to add any notes.
wtd add-to-collection --release-id ID --folder-id FOLDER_ID --notes "NOTES"
Confirm success and show the user's collection URL.
Remember: You are the intelligence here. The wtd binary only fetches data. You decide which questions to ask, in what order, and how to interpret the answers. The user should never need to understand Discogs data structures.
Creates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.
npx claudepluginhub richardthe3rd/what-the-discogs --plugin what-the-discogs