watchers

Poll RSS feeds, JSON APIs, and GitHub repositories with watermark-based deduplication.

1|Updated Jul 22, 2026
One-click install
npx skills add https://github.com/IceHeartGitH/Hermes-Agent-Android-Termux --skill watchers-iceheartgith
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: watchers
Source: https://github.com/IceHeartGitH/Hermes-Agent-Android-Termux/tree/main/custom-skills/devops/watchers
Command: npx skills add https://github.com/IceHeartGitH/Hermes-Agent-Android-Termux --skill watchers-iceheartgith

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) components.

What problem does it solve? Monitoring external sources like RSS feeds, GitHub repos, or JSON APIs for new items usually requires writing custom polling scripts and tracking what has already been seen. This Skill provides ready-made polling scripts that only report genuinely new items, eliminating duplicate notifications and manual state tracking. ## Core Features & Use Cases - RSS/Atom Feed Watching: Poll any RSS 2.0 or Atom feed and emit only new entries, deduplicated by guid or id. - GitHub Activity Monitoring: Watch issues, pull requests, releases, or commits for any repository, with optional GITHUB_TOKEN support to avoid anonymous rate limits. - Generic JSON API Polling: Poll any JSON endpoint returning a list of objects, with configurable ID fields and dotted paths to nested item lists. - Watermark Deduplication: A shared helper records seen IDs in a bounded, atomically-written state file so the first run establishes a baseline and later runs emit only deltas. - Use Case: Schedule a cron job that checks the Hacker News RSS feed every 15 minutes; when new headlines appear, the agent summarizes and delivers them, and stays silent when nothing changed. ## Quick Start Ask the agent to watch the Hacker News RSS feed every 15 minutes and notify you only when new headlines appear.

Frequently Asked Questions about watchers

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I monitor an RSS feed for new items with a script?▼

Run watch_rss.py with a --name and the feed --url. The first run records a baseline silently; subsequent runs print only new entries as Markdown, deduplicated by guid or id, and print nothing when there are no new items.

How to get notified about new GitHub issues or releases?▼

Use watch_github.py with --repo owner/name and --scope set to issues, pulls, releases, or commits. Set GITHUB_TOKEN in the environment to avoid the 60 requests per hour anonymous rate limit, and schedule it via cron for periodic checks.

Can I poll any JSON API for changes without duplicates?▼

Yes, watch_http_json.py polls any JSON endpoint returning a list of objects. Configure --id-field for the dedup key and --items-path with a dotted path like data.events if the list is nested inside the response object.

Why does the watcher print nothing on its first run?▼

The first run records a baseline of all current item IDs in the watermark state file and intentionally emits nothing, so existing feed content is never replayed. Delete the state file to force a replay on the next run.

Where are watcher state files stored and how do I reset them?▼

State files live in $HERMES_HOME/watcher-state/<name>.json, or in the directory set by WATCHER_STATE_DIR. To reset a watcher and treat the next poll as a first run, simply delete its JSON state file.

What are the limitations of watermark-based feed deduplication?▼

The watermark stores a bounded set of at most 500 seen IDs, so very high-churn feeds may exceed the window and re-emit old items. It also cannot detect edits to existing items, only the appearance of new IDs.