원클릭으로
identify-vinyl
Identify the exact Discogs pressing of a vinyl record via guided Q&A. Optionally pass an image path to start from a photo.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Identify the exact Discogs pressing of a vinyl record via guided Q&A. Optionally pass an image path to start from a photo.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
| name | identify-vinyl |
| description | Identify the exact Discogs pressing of a vinyl record via guided Q&A. Optionally pass an image path to start from a photo. |
| allowed-tools | Bash(wtd *), Bash(mise *), Bash(go *), Bash(which *), Read |
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. Check the binary status line above, then:
which mise succeeds):
mise use -g github:richardthe3rd/what-the-discogs@latest
This installs wtd globally via a mise shim — available in every future session.which go succeeds):
go install github.com/richardthe3rd/what-the-discogs@latest
curl https://mise.jdx.dev/install.sh | sh) or download a binary from https://github.com/richardthe3rd/what-the-discogs/releases, then retry.Verify DISCOGS_TOKEN is set:
echo ${DISCOGS_TOKEN:+set}
If empty, tell the user to set DISCOGS_TOKEN and stop. Direct them to:
~/.zshrc, ~/.bashrc, or ~/.profile):
export DISCOGS_TOKEN=your_token_here
export DISCOGS_TOKEN=your_token_hereWhen running from the repo directory, a .env file in the repo root is also loaded automatically (via mise env loading). But when using the skill globally (outside the repo), only the shell environment is available — so the shell profile approach is recommended for permanent setup.
Note: This skill works both from the repo directory and installed globally via
~/.claude/skills/. When used globally,wtdmust be on PATH (step 2 or 3 above).
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.