watchers

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

Updated Jun 7, 2026
One-click install
npx skills add https://github.com/Chensihakniroth/ANAKOT-AGENT --skill watchers-chensihakniroth
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: watchers
Source: https://github.com/Chensihakniroth/ANAKOT-AGENT/tree/main/optional-skills/devops/watchers
Command: npx skills add https://github.com/Chensihakniroth/ANAKOT-AGENT --skill watchers-chensihakniroth

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 requires writing polling logic and tracking what has already been seen. This Skill provides ready-made scripts that fetch data, deduplicate against a persisted watermark, and print only new items, so cron jobs and chat sessions stay silent when nothing changed. ## Core Features & Use Cases - RSS/Atom Watching: Poll any RSS 2.0 or Atom feed and emit only new entries, deduplicated by guid or id. - GitHub Monitoring: Watch issues, pull requests, releases, or commits for any repository, with optional GITHUB_TOKEN authentication to avoid anonymous rate limits. - Generic JSON Polling: Poll arbitrary JSON endpoints with configurable id fields, dotted items paths, and custom HTTP headers. - Use Case: Schedule a cron job every 15 minutes to run watch_rss.py against the Hacker News feed; when new headlines appear, the agent summarizes and delivers them, and stays silent otherwise. ## 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 --url argument pointing at the RSS or Atom feed. The first run records a baseline silently, and subsequent runs print only new entries deduplicated by guid or id.

How to watch GitHub issues or releases for a repository?▼

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

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

The first run records a baseline of all current item IDs without emitting anything, preventing replay of the entire existing feed. Delete the state file in the watcher-state directory to force a fresh baseline.

Can I poll a JSON API that nests items inside an object?▼

Yes, watch_http_json.py accepts --items-path with a dotted path like data.events to locate the list, plus --id-field to choose the deduplication key and repeatable --header flags for authentication headers.

What are the limitations of watermark-based deduplication?▼

The watermark stores a bounded set of at most 500 seen IDs, so very high-churn feeds may need a raised cap. Items without an ID field are skipped, and corrupt state files are treated as a first run.