← ClaudeAtlas

hermit-routineslisted

Manages scheduled routines as per-session CronCreate jobs. Each enabled routine in config.json becomes an idle-gated CronCreate registered at session launch.
gtapps/claude-code-hermit · ★ 60 · AI & Automation · score 81
Install: claude install-skill gtapps/claude-code-hermit
# Routines Register and manage scheduled routines as per-session CronCreate jobs. Each routine fires only when the REPL is idle — no mid-task interruptions. Mirrors the `/watch` skill pattern. ## Usage ``` /claude-code-hermit:hermit-routines load register all enabled config.routines as CronCreates /claude-code-hermit:hermit-routines list list configured routines from config.json /claude-code-hermit:hermit-routines status list active CronCreate registrations /claude-code-hermit:hermit-routines stop [id] stop a specific routine's CronCreate /claude-code-hermit:hermit-routines stop --all stop all active routine CronCreates ``` ## Plan ### load Called automatically by `hermit-start.py` on always-on launches. Can also be called manually to apply config changes mid-session. 1. Resolve the plugin root path: run `echo $CLAUDE_PLUGIN_ROOT` via Bash. Store as `pluginRoot`. Read `config.timezone` from `.claude-code-hermit/config.json`. Store as `configTz` (may be null — the shift helper treats null as a no-op). This env var is available at skill execution time but NOT inside cron-delivered prompts — it must be baked into each prompt at registration. **Validate `pluginRoot` before proceeding.** If `pluginRoot` is empty or `<pluginRoot>/scripts/log-routine-event.sh` does not exist (`test -f`), abort `load` immediately — do **not** run the Step 3 reset or register any CronCreate — and log one line: `Routine load aborted: plugin