watchers

Poll RSS/Atom feeds, GitHub events, and JSON APIs to emit only newly observed items.

Updated Apr 9, 2026
One-click install
npx skills add https://github.com/MarbleSodas/Mavis --skill watchers-marblesodas
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: watchers
Source: https://github.com/MarbleSodas/Mavis/tree/main/optional-skills/devops/watchers
Command: npx skills add https://github.com/MarbleSodas/Mavis --skill watchers-marblesodas

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) and references (resource) components.

What problem does it solve?

This Skill solves the problem of repeatedly polling external sources and getting spammed with duplicates by only reporting items you have not seen before.

Core Features & Use Cases

  • Cron-ready polling watchers: Run RSS/Atom, GitHub activity, or arbitrary JSON API polling on a schedule and emit updates.
  • Watermark-based deduplication: Persist a bounded set of seen IDs per watcher name so only new items are printed on subsequent runs.
  • Scripted output for delivery: Print new items in a consistent Markdown format to make downstream summarization or notifications easy to automate.
  • Use Cases: Watch an RSS feed for new headlines, monitor a GitHub repo for new issues/pulls/releases/commits, or poll an events endpoint for newly created records.

Quick Start

Run the RSS watcher to notify you of new entries from a feed by scheduling or invoking it with a watcher name and feed URL.

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 and only get notifications for new items?

To monitor an RSS feed without duplicate notifications, you can use a scheduled polling watcher that persists a watermark of seen item IDs. It fetches the feed on a cron schedule and emits only newly observed entries in Markdown format.

Can I poll a JSON API on a schedule and skip records I have already seen?

You can poll a JSON API on a schedule and skip seen records using watermark-based deduplication. The watcher fetches the HTTP endpoint, stores a bounded set of observed IDs, and silently returns no output if there are no new items.

What is the best way to track new GitHub repository events without duplicates?

Tracking new GitHub repository events without duplicates requires a watcher that polls repository activity and maintains persistent state. It logs bounded seen IDs to deduplicate issues, pulls, releases, and commits, printing only new updates.

How does watermark deduplication work for cron-driven polling tasks?

Watermark deduplication for cron-driven polling works by persisting a bounded set of seen IDs per watcher name. On subsequent runs, it compares fetched items against this baseline and only emits newly observed records, returning silent output on no changes.

What happens during the first run of a feed polling watcher?

During the first run of a feed polling watcher, it establishes a baseline behavior by fetching the initial items and recording their IDs into the persistent watermark state. This prevents flooding your notifications with historical entries on the initial execution.

Does this polling watcher support webhook-triggered execution and ad-hoc terminal runs?

The polling watcher supports webhook-triggered execution, ad-hoc terminal runs, and cron-driven scheduling. This flexibility allows you to fetch JSON, XML, and HTTP feeds on demand or automatically for automation and monitoring workflows.