batch-health

Solid

Daily post-batch audit — checks whether all enabled scheduled skills fired in their expected morning window, alerts on silent misses, files issues on batch-level outages

AI & Automation 508 stars 166 forks Updated today MIT

Install

View on GitHub

Quality Score: 94/100

Stars 20%
90
Recency 20%
100
Frontmatter 20%
70
Documentation 15%
100
Issue Health 10%
50
License 10%
100
Description 5%
100

Skill Content

Today is ${today}. Cross-reference what was scheduled to run this morning against what actually ran. ## Goal `run-frequency-guard` catches skills running *too often*. Nothing catches when they go *silent* (example: a historical batch outage where multiple even-day skills missed the morning window and no alert fired). This skill closes that gap. Runs at 08:00 UTC daily — after the 06:00–07:30 UTC batch window completes. Skills scheduled at 07:31+ are excluded from the expected list (transient cron drift could leave them in flight when we audit). Output: OK if everything ran, WARN for 1-2 isolated misses, OUTAGE for 3+ missing skills. ## Steps ### 1. Build the expected-run list for today Read `aeon.yml`. For each skill with `enabled: true`, check its `schedule` field against today's context. **Parse today's date** `${today}` (YYYY-MM-DD): - Extract day-of-month (DOM). - Odd DOM = 1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 31 - Even DOM = 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30 **Include** a skill in the expected list if ALL of: 1. `enabled: true` 2. Schedule fires in the 06:00–07:30 UTC audit window. Parse the minute and hour fields: - hour `6` (any minute 0–59) → in window - hour `7` AND minute ≤ 30 → in window - hour `7` AND minute > 30 → **exclude** (too close to the 08:00 audit; transient cron drift could leave it in flight when we check) - multi-hour like `7,19` → counts as hour 7 for the AM window (apply the same minute rule)...

Details

Author
aaronjmars
Repository
aaronjmars/aeon
Created
3 months ago
Last Updated
today
Language
TypeScript
License
MIT

Similar Skills

Semantically similar based on skill content — not just same category