用途:监控 Shopify 商店的商品库存,在缺货商品恢复有货时通知用户。支持短信、Slack 或终端提醒。
主要能力: 添加、列出、移除、暂停和恢复监控项;检查全部或指定监控项;对单个 URL 做一次性检查;使用 --dry-run 检查但不发通知;使用 --json 输出便于管道处理。通知仅在状态由 out_of_stock 变为 in_stock 时触发,避免重复检查产生噪声。
使用方式: 添加监控(自动从 Shopify 识别名称): python3 ~/.claude/skills/stock-monitor/scripts/stock_watch.py add "https://store.com/products/item?variant=123" --notify sms --target "+17327595647" 检查全部监控: python3 ~/.claude/skills/stock-monitor/scripts/stock_check.py 一次性检查: python3 ~/.claude/skills/stock-monitor/scripts/stock_check.py --url "https://store.com/products/item?variant=123"
stock_watch.py 支持 add、list、remove ID、pause ID、resume ID。stock_check.py 支持无参数、--id N、--url URL、--dry-run、--json。通知渠道:terminal(默认,彩色输出)、sms(经 ~/.claude/skills/sms/scripts/sms_send.py)、slack(经 ~/.claude/skills/slack/scripts/slack_post.py)。
调度:可手动运行,也可循环执行:/loop 30m python3 ~/.claude/skills/stock-monitor/scripts/stock_check.py;持久化 cron 可参考 references/launchd-setup.md 中的 macOS launchd plist,在 Claude 关闭时仍可运行。
工作原理:Shopify 商店在 /products/{handle}.js 暴露商品数据,含每个变体的 available 布尔值。技能抓取该 JSON,按 ID 找到目标变体,并与 SQLite 中上次已知状态比较。无需抓取页面、无需浏览器渲染、无速率限制顾虑。数据存于 ~/.claude/skills/stock-monitor/data/stock_monitor.db,含 watches 与 check_log 两张表。
限制:资料未说明除 Shopify 外其他平台支持情况,也未提供收费、价格或具体通知送达效果等信息。