← ClaudeAtlas

watcherslisted

Poll RSS, JSON APIs, and GitHub with watermark dedup.
dsivov/cohermes · ★ 1 · AI & Automation · score 73
Install: claude install-skill dsivov/cohermes
# Watchers Poll external sources on an interval and react only to new items. Three ready-made scripts plus a shared watermark helper; wire them into a cron job (or run them ad-hoc from the terminal). ## When to Use - User wants to watch an RSS/Atom feed and be notified of new entries - User wants to watch a GitHub repo's issues / pulls / releases / commits - User wants to poll an arbitrary JSON endpoint and get notified on new items - User asks for "a watcher for X" or "notify me when X changes" ## Mental model A watcher is just a script that: 1. Fetches data from the external source 2. Compares against a watermark file of previously-seen IDs 3. Writes the new watermark back 4. Prints new items to stdout (or nothing on no-change) The scripts below handle all three. The agent runs them via the terminal tool — from a cron job, a webhook, or an interactive chat — and reports what's new. ## Ready-made scripts All three live in `$HERMES_HOME/skills/devops/watchers/scripts/` once the skill is installed. Each reads `WATCHER_STATE_DIR` (defaults to `$HERMES_HOME/watcher-state/`) for its state file, keyed by the `--name` argument. | Script | What it watches | Dedup key | |---|---|---| | `watch_rss.py` | RSS 2.0 or Atom feed URL | `<guid>` / `<id>` | | `watch_http_json.py` | Any JSON endpoint returning a list of objects | Configurable id field | | `watch_github.py` | GitHub issues / pulls / releases / commits for a repo | `id` / `sha` | All three: - First run records a base