hermit-routineslisted
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