- Home
- Skills
- Agents & Orchestration
- Watchdog Digest Pairs
Works with the AI Agents you already use
Watchdog Digest Pairs
Architect silent, stateful watchdogs for high-frequency alerts and low-frequency LLM digests.
$5
Watchdog Digest Pairs
Example session with this skill installed
Set up a watchdog for the GitHub API releases endpoint for 'tailwindlabs/tailwindcss'. I need alerts for new versions every hour and a brief summary of the week's changes every Friday.
- Read your context and instructions
- Compiled the watchdog digest pairs
I have configured the watchdog-digest pair for the Tailwind CSS repository. The watchdog script is initialized with state tracking to ensure you only receive notifications when a new tag is published.
Monitoring Configuration
| Component | Target URL | Schedule | Logic |
|---|---|---|---|
| Watchdog | api.github.com/repos/tailwindlabs/tailwindcss/releases | 0 * * * * | Silent unless a new id appears in JSON. |
| Digest | api.github.com/repos/tailwindlabs/tailwindcss/releases | 0 9 * * 5 | LLM summary of the last 5 releases. |
Watchdog Implementation (watchdog.py)
import json, urllib.request, pathlib, sys
# Config
URL = "https://api.github.com/repos/tailwindlabs/tailwindcss/releases"
STATE_FILE = pathlib.Path("./state/tailwind_seen.json")
HEADERS = {"User-Agent": "agent-watchdog-release-monitor"}
def monitor():
req = urllib.request.Request(URL, headers=HEADERS)
with urllib.request.urlopen(req) as r:
data = json.loads(r.read())
current_ids = {str(rel['id']) for rel in data[:5]}
seen_ids = set(json.loads(STATE_FILE.read_text())) if STATE_FILE.exists() else set()
new_items = [rel for rel in data[:5] if str(rel['id']) not in seen_ids]
if new_items:
for item in new_items:
print(f"NEW RELEASE: {item['tag_name']}\n{item['html_url']}\n")
STATE_FILE.parent.mkdir(exist_ok=True)
STATE_FILE.write_text(json.dumps(list(current_ids)))
if __name__ == "__main__":
try:
monitor()
except Exception as e:
print(f"Error monitoring Tailwind: {e}")
Next steps
- Run
python3 watchdog.pymanually to initialize the state file. - Verify the cron or scheduler job is set to "notify on non-empty output" only.
- Add your GitHub personal access token to headers if you hit rate limits.
Connects securely to your tools. The creator never sees your data.
About this skill
The problem
Monitoring APIs, RSS feeds, or prices usually ends in one of two failures: you get spammed with "no change" notifications every 15 minutes, or you miss critical updates because you only check once a week.
What it does
- Splits monitoring into a high-frequency "watchdog" and a low-frequency "digest".
- Enforces silent execution where empty stdout equals zero notifications.
- Manages stateful ID tracking to prevent duplicate alerts across runs.
- Provides a Python stdlib-only template for maximum portability across environments.
- Handles persistent error reporting so you know when a scraper is actually broken.
Frameworks & tools
Python 3.10+, POSIX cron, systemd timers, GitHub Actions, or any agent-based scheduler. Uses urllib and pathlib to avoid dependency hell.
Why this beats prompting it yourself
Standard LLM prompts struggle with state persistence and often hallucinate "no changes" messages that trigger alerts. This skill provides a structured architecture for stateful deduplication and ensures your monitoring is actually silent unless action is required.
Use cases
- Ping a Slack channel only when a competitor changes their pricing.
- Get an immediate alert on site downtime while receiving a daily uptime summary.
- Monitor GitHub releases or changelogs without manual polling.
- Track flight prices and receive an LLM-generated weekly trend report.
Known limitations
Requires a persistent state_dir to store seen IDs. Not suitable for high-volume event streams where webhooks are available.
How to use
Skills on Agensi run inside your AI agent. Copy the prompt, paste it into your agent, and it connects to Agensi and installs this skill for you. If a payment is needed, your agent shows it to you first.
Reviews
No reviews yet
Be one of the first to try it. Every listed skill passes our trust checks below.
Security scanned
Passed our 8-point scan before listing
Fresh listing
Recently published to Agensi
Money-back guarantee
Doesn't do what its page promises? You get your money back.
Trust & safety
Security scanned
Verified clean 1 month ago
- Passed all security checks, Safe to install
Requires