Works with the AI tools you already use

    Claude CodeClaude CodeCursorCursorCodex CLICodex CLIGitHub CopilotGitHub CopilotGemini CLIGemini CLI+20 more

    Watchdog Digest Pairs

    1

    Architect silent, stateful watchdogs for high-frequency alerts and low-frequency LLM digests.

    $5

    Secure checkout via Stripe

    30-day refund guarantee

    Converts to your local currency at checkout

    0 installsSecurity scanned
    Watchdog Digest Pairs

    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

    ComponentTarget URLScheduleLogic
    Watchdogapi.github.com/repos/tailwindlabs/tailwindcss/releases0 * * * *Silent unless a new id appears in JSON.
    Digestapi.github.com/repos/tailwindlabs/tailwindcss/releases0 9 * * 5LLM 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

    1. Run python3 watchdog.py manually to initialize the state file.
    2. Verify the cron or scheduler job is set to "notify on non-empty output" only.
    3. Add your GitHub personal access token to headers if you hit rate limits.

    Connects securely to your tools. The creator never sees your data.

    What you get

    Eliminate "no update" spam by enforcing silent watchdog execution.Automate stateful deduplication of RSS and API items without a database.Pair urgent alerts with context-rich LLM summaries on different cadences.Monitor health and status changes across multiple HTTP endpoints reliably.

    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 install

    Works the same in every agent - Claude, Cursor, Codex, Copilot and 20+ more.

    ~30 seconds
    1. 1

      Download the ZIP

      Free skills download straight away. Paid skills unlock right after purchase.

    2. 2

      Unzip into your skills folder

      Every agent reads skills from one folder on your machine. Drop the unzipped folder in there.

    3. 3

      Ask your agent to use it

      Restart the agent if it was already running. It picks the skill up automatically - no config needed.

    Skills folder by agent

    Click the path to copy it. Create the folder if it does not exist yet.

    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

    30-day refund

    Not a fit? Get your money back

    Trust & safety

    Security scanned

    Verified clean 1 day ago

    • Passed all security checks, Safe to install

    Listed1 day ago

    Frequently Asked Questions