cron-watchdog-authoring

Author recurring Hermes cron jobs and watchdog scripts with silent-unless-action semantics.

2|Updated Jul 18, 2026
One-click install
npx skills add https://github.com/Arasz/ai-badger --skill cron-watchdog-authoring-arasz
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: cron-watchdog-authoring
Source: https://github.com/Arasz/ai-badger/tree/main/features/hermes/skills/cron-watchdog-authoring
Command: npx skills add https://github.com/Arasz/ai-badger --skill cron-watchdog-authoring-arasz

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Recurring automation jobs frequently fail in subtle ways: a bare "30m" schedule creates a one-shot job instead of a repeating one, watchdog scripts spam alerts on transient failures, and rollout branches execute CLI verbs that were never verified against the real binary. This Skill encodes measured recipes for building cron jobs and watchdog scripts that act only when a condition flips and stay silent otherwise. ## Core Features & Use Cases - Correct schedule strings: Enforces the "every 30m" prefix for recurring schedules and verifies the returned repeat field after job creation. - Watchdog pattern (no_agent + script): Deterministic scripts with silent-unless-action stdout discipline, exit 0 on transient failures, and idempotent ticks. - Version-gated rollout watchdogs: Marker files for one-time side effects, surgical port-based process replacement, and settings arming that runs exactly once. - Use Case: You want a job that checks every 30 minutes whether a CLI tool reached version 1.1.0 and, once it has, restarts the server on its port and arms its settings exactly once — without spamming alerts while offline. ## Quick Start Use the cron-watchdog-authoring skill to create a recurring Hermes cron job that watches for a tool version update and runs a silent rollout script.

Frequently Asked Questions about cron-watchdog-authoring

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

FAQPage Schema
How do I create a recurring cron job in Hermes instead of a one-shot?

Use the literal prefix "every 30m" or "every 2h", or a cron expression like "0 9 * * *". A bare "30m" creates a one-shot job with repeat=once, so always check the returned schedule and repeat fields and fix with cronjob(action=update).

How do I write a watchdog script that only alerts when it takes action?

Use no_agent=true with a script that prints to stdout only when it performs real action; empty stdout means a silent tick. Write diagnostics to a log file and exit 0 on transient failures like being offline, reserving non-zero exits for genuinely broken states.

Why does my cron job never run even though the schedule looks correct?

A job can sit with next_run_at in the past and last_run_at null after creation or update. Treat the scheduler as a self-healing layer, not an execution guarantee: when the trigger condition is met, run the script manually in the foreground.

How do I restart a server on a port without killing other instances?

Use lsof -ti :<port> to find and SIGTERM only the process holding that specific port. Never use pkill -f on the binary name, since it matches scratch servers on other ports and can kill unrelated instances.

Does the watchdog script work with the macOS system Python?

Scripts may run under macOS system Python 3.9, which does not support X | None type annotations at definition time. Add "from __future__ import annotations" as the first line or avoid union annotation syntax entirely.

Why does my rollout branch fail with 'Unrecognized command or argument'?

Draft scripts often assume a config parent verb that does not exist; many tools expose verbs at root level. Run every command the script will execute, or its --help, against the real binary during foreground verification before scheduling.