What problem does it solve? Waiting for asynchronous events (files landing, builds finishing, agents going idle, scheduled times) normally forces an agent to burn turns polling. This Skill runs small background Python programs that watch the condition and send a message to wake the agent only when something changes. ## Core Features & Use Cases - Custom condition watchers: Write any Python loop that checks a condition and calls ava.agents.send_message when it fires, launched with a mandatory timeout via ava.watcher.launch. - Time-based watchers: Use ava.watcher.at for one-shot wakeups at a datetime or after a delay, and ava.watcher.cron for recurring schedules with a 7-day default expiry and replace-on-renew semantics. - Idle-agent monitoring: The bundled reference watcher subscribes to the Redis event stream (with a PostgreSQL polling fallback) to notify you when a target agent goes idle. - Use Case: Launch a watcher before starting a long CI build, then idle; the watcher messages you the moment the build artifact appears, and sends an exit notice if its timeout elapses. ## Quick Start Ask the agent to watch for a specific file, process, or deadline and wake you when it happens instead of polling.