Stock monitor
Skill tdimino/claude-code-minoan/skills/integration-automation/stock-monitor
Monitor product availability and get restock alerts for Shopify stores. This skill should be used when checking if a product is in stock, watching for restocks, setting up back-in-stock alerts, or tracking product availability. Supports SMS, Slack, and terminal notifications on status transitions. Keywords: out of stock, sold out, back in stock, restock alert, notify when available, watch product.From its SKILL.md
npx -y skills add tdimino/claude-code-minoan --skill stock-monitorAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
SKILL.md
2.8 KB, 599 tokens by cl100k_base, as published. Nobody here has run it
Stock Monitor
Track product availability on Shopify stores. Get notified via SMS, Slack, or terminal when out-of-stock items come back.
Quick Start
# Add a product to watch (auto-detects name from Shopify)
python3 ~/.claude/skills/stock-monitor/scripts/stock_watch.py add "https://store.com/products/item?variant=123" --notify sms --target "+17327595647"
# Check all watched items
python3 ~/.claude/skills/stock-monitor/scripts/stock_check.py
# One-off check (no watchlist needed)
python3 ~/.claude/skills/stock-monitor/scripts/stock_check.py --url "https://store.com/products/item?variant=123"
Scripts
stock_watch.py — Manage Watchlist
| Command | Purpose |
|---|---|
stock_watch.py add URL [--name NAME] [--notify sms|slack|terminal] [--target PHONE|#CHANNEL] | Add product to watch |
stock_watch.py list | Show all watched items with status |
stock_watch.py remove ID | Remove a watch |
stock_watch.py pause ID / resume ID | Pause or resume checking |
stock_check.py — Run Checks
| Flag | Purpose |
|---|---|
| (no flags) | Check all active watches |
--id N | Check specific watch |
--url URL | One-off URL check, no DB write |
--dry-run | Check without sending notifications |
--json | JSON output for piping |
Notification Channels
- terminal (default): Colored output to stdout
- sms: Dispatches via
~/.claude/skills/sms/scripts/sms_send.py - slack: Dispatches via
~/.claude/skills/slack/scripts/slack_post.py
Notifications fire only on out_of_stock → in_stock transitions to avoid noise on repeated checks.
Scheduling
Run stock_check.py manually, or schedule recurring checks:
- Session loop:
/loop 30m python3 ~/.claude/skills/stock-monitor/scripts/stock_check.py - Persistent cron: See
references/launchd-setup.mdfor a macOS launchd plist that runs checks when Claude is closed.
How It Works
Shopify stores expose product data at /products/{handle}.js with per-variant available booleans. The skill fetches this JSON, finds the target variant by ID, and compares against the last known status in SQLite. No scraping, no browser rendering, no rate-limit concerns.
Data
SQLite DB at ~/.claude/skills/stock-monitor/data/stock_monitor.db with two tables: watches (watchlist) and check_log (check history with transition tracking).
What ships with it: 5 files
14.5 KB alongside SKILL.md, 3 of them executable
references/
- launchd-setup.md1006 B
scripts/
- stock_check.pyruns2.3 KB
- _stock_utils.pyruns8.6 KB
- stock_watch.pyruns2.7 KB
- .syncignore25 B