$npx -y skills add rianvdm/product-ai-public --skill finding-original-cdsUse when the user wants to find and add an original (non-remastered, non-deluxe, non-club-edition) CD pressing of an album to their Discogs wantlist, or decide which Discogs CD release to buy — e.g. "find an original US CD of X", "add the original pressing to my wantlist", "which
| 1 | # Finding original CDs on Discogs |
| 2 | |
| 3 | ## Overview |
| 4 | |
| 5 | Pick the best **original or non-remastered** CD pressing of an album and add it to the wantlist, balancing how common a pressing is (haves), price, and US availability. **Core insight:** have/want counts and price live in the **public Discogs release API** (`WebFetch https://api.discogs.com/releases/<id>`, no auth) — the discogs MCP tools cannot return them. That's the step that gets re-derived every session; don't. |
| 6 | |
| 7 | Default target is a **US CD** unless the user says otherwise. |
| 8 | |
| 9 | ## When to use |
| 10 | |
| 11 | - "Find an original / non-remastered CD of [album]" · "add the original pressing to my wantlist" |
| 12 | - "Which [album] CD should I get / buy?" · comparing pressings · avoiding remaster/deluxe/anniversary editions |
| 13 | |
| 14 | Not for: vinyl-specific hunts (same method, swap the format filter), buying/checkout, or non-Discogs catalogs. |
| 15 | |
| 16 | ## Tool reality — what returns what |
| 17 | |
| 18 | | Need | Tool | Returns | Missing | |
| 19 | |------|------|---------|---------| |
| 20 | | List pressings | `search_discogs(type="release")` | format, label, year, ID | **country, have/want** | |
| 21 | | Pressing details | `get_release(<id>)` (MCP) | country, catalog #, format, tracklist | **have/want, price** | |
| 22 | | Have/want + price | `WebFetch https://api.discogs.com/releases/<id>` | `community.have`/`want`, `lowest_price`, `num_for_sale`, country, year, catalog | — (the key source) | |
| 23 | | Cover/case photos | `curl api.discogs.com/releases/<id>` → `images[].uri`, then download + `Read` | public image URLs (no auth), then view the JPEGs | discogs.com **website** blocks `WebFetch` (403); the **API** doesn't | |
| 24 | | Add | `add_to_wantlist(release_id)` | confirmation | takes **release_id only** | |
| 25 | |
| 26 | - **No marketplace tools exist.** `lowest_price` is the **global** low, not US-seller-only. You cannot filter by seller location — hand off `https://www.discogs.com/sell/release/<id>?ships_from=United States`. |
| 27 | - **The wantlist listing lags after writes.** A successful `add_to_wantlist` worked even if `get_wantlist` doesn't show it yet. To confirm a removal, re-issue the DELETE — a `404 "does not exist in the user's wantlist"` proves it's gone. |
| 28 | |
| 29 | ## Steps |
| 30 | |
| 31 | 1. **List pressings:** `search_discogs(query="<Artist> <Album>", type="release", per_page=50)`. Note the `Format: CD` IDs. (`type="release"` = specific pressings, not the master.) |
| 32 | 2. **Drop remaster/deluxe/club:** exclude anything whose format says `Remastered`, `Deluxe Edition`, `Box Set`, `Anniversary`, `Club Edition`, or is a much-later year. `Reissue` alone is fine. **Club-edition tell:** these aren't always tagged `Club Edition` — a catalog number starting with `D` (e.g. `D 110473`) instead of the label's standard catalog/barcode is a giveaway for a BMG/Columbia House club pressing. Avoid those too. |
| 33 | 3. **Get stats (parallel):** for each surviving CD, `WebFetch https://api.discogs.com/releases/<id>` → `community.have`, `community.want`, `lowest_price`, `num_for_sale`, country. Keep **Country = US**. |
| 34 | 4. **Compare & pick** by the rubric below. |
| 35 | 5. **Add:** `add_to_wantlist(release_id=<winner>)`. |
| 36 | 6. **Hand off** the `ships_from=United States` sell link. |
| 37 | |
| 38 | ## Pick by (in order) |
| 39 | |
| 40 | 1. **Most common = highest `have`** — "the obvious one." Multiple US entries can share a catalog (e.g. `CD 5013`) but be separate pressings; the highest-have one is the common one, not necessarily the literal first press. |
| 41 | 2. **Price sanity** — if the true first pressing carries a premium, take a cheaper common non-remastered reissue. If everything's cheap (typical for 80s/90s CDs), just take the most common. |
| 42 | 3. **Availability = `num_for_sale`** — more for sale = better odds of a US-shipping copy. |
| 43 | |
| 44 | Originality preference: original-era (release year ≈ album year) > reissue > **never** remaster/deluxe. |
| 45 | |
| 46 | ## Original vs reissue vs remaster |
| 47 | |
| 48 | - **Original** — year matches the album's first release; no "Reissue/Remastered" in the format. (Early CDs "Made in Japan for [US label]" are often the earliest US issues.) |
| 49 | - **Reissue** — format says `Reissue`; same master, later run. **OK.** |
| 50 | - **Remaster / Deluxe / Anniversary** — later year, extra tracks/discs, different sound. **Avoid.** |
| 51 | - **Club Edition** — BMG/Columbia House mail-order pressing. Often tagged `Club Edition`, but the tell is a catalog # starting with `D` (e.g. `D 110473`) instead of a normal barcode. Different packaging/quality (and sometimes swaps a digipak for a jewel case, or vice versa). **Avoid.** |
| 52 | |
| 53 | ## Verifying packaging from photos (jewel case vs digipak) |
| 54 | |
| 55 | Discogs often leaves packaging blank, so when it matters (the user wants a jewel case, not a digipak, or |