Sku Check Skill
repo: ~/Projects/sku-check-skill · 17 commits · 0 in last 24h, 0 in last 7d ·
Skills used
- /check2
- /length1
- /cooldown1
- /price1
- /live1
- /pills1
- /sku1
- /slack1
- /deploy1
- /swap1
Creative ideas + design notes
Commits with substantial prose (≥120 chars) — the rationale behind each move.
a55b434 · 2026-07-10 · pills app: parse yorkwall trade price + stock, show Retail/Net/Stock boxes
- parseYorkwall(bodyText): MSRP (retail), NET PRICE (trade cost + discount%),
Quantity Available (summed batches), roll width/length — scoped by section
header since values are unlabeled table cells.
- Attach parsed to live + lastLive; robust JSON extraction from scraper stdout.
- pills.html parsedBoxes() renders Retail/Net/Stock. Verified live: 437-RD336
= MSRP $40, Net $20 (50% off), 412 single rolls in stock.
803ecd6 · 2026-07-10 · pills app: add last-portal-pull cache (reads yw-results, write-through on live)
- readLastLive(mfr): newest saved portal result by mtime, matched on the file's
mfr field (unifies the 3 AM overnight job + app-triggered pulls).
- Endpoint attaches out.lastLive always; a successful fresh live pull is written
back via saveLive() so the next locked/cooldown request shows it instantly.
- Use process.execPath (not bare 'node') to spawn the scraper — PATH-safe.
- pills.html renders a 'Last portal pull · Nm ago' section (hidden when a fresh
live pull succeeded).
59bd09a · 2026-07-10 · Add pills live-check app: enter MFR or DW number, tick stock/price, check live
- POST /api/check/live resolves either a DW number or MFR number (dash-insensitive)
via dw_mfr_crossref, returns cached catalog price instantly + attempts the live
yorkwall trade-portal pull (Brewster/York family) via yw-costcheck.js.
- Live pull is guarded: single-flight mutex, 20s min-gap, and a 30-min lockout
backoff whenever the portal reports locked — the UI can never hammer the login.
- public/pills.html: pill-styled input + Stock/Price pill checkboxes + Check Live.
- De-fang stale hardcoded yorkwall password; creds now come from the secrets store.
1c12bfb · 2026-05-30 · fix: read GEMINI_API_KEY from process.env instead of literal unexpanded shell string
Line 28 used single-quoted '${GEMINI_API_KEY}' which is a literal string, not an env var expansion. All Gemini AI analysis calls were sending a garbage key and failing silently.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
File tree
8 files tracked. Click any to browse the source at HEAD.
rendered in 0ms