← ClaudeAtlas

routinelisted

Routine — repeated bundles of Practices. Use when the user invokes /routine, wants recurring agent behavior, asks to compose Practices on a trigger, or when Otto should mine/propose a Routine from repeated work. Recurring activation belongs to the human.
otto-haus/otto · ★ 5 · AI & Automation · score 70
Install: claude install-skill otto-haus/otto
# Routine A Routine is a repeated bundle of canonical Practices. ```txt Practices make culture executable. Routines make Practices compound. Receipts prove behavior changed. ``` ## Core rule ```txt Routine proposal can be autonomous. One-off low-risk trial can be autonomous. Recurring activation belongs to the human. <- attention is a one-way door Permissions / effects belong to the human. ``` Do not enable a recurring schedule without human approval, even if no new tool permission is needed. ## Contract Routine specs conform to `Routine` in `packages/core/src/types.ts`: - `id`, `slug`, `name`, `status`, `summary`, `steps[]`, `attention_cost`, `requires_approval_to_activate`, `created_at` - optional `schedule` with `cron` or `rrule`, plus `timezone` - `steps[].practice` must be one of: `charter`, `decision`, `review`, `field-note`, `follow-up` - any recurring/standing Routine sets `requires_approval_to_activate: true` ## Runtime Default root: `$ROUTINE_HOME/`, else `$OTTO_HOME/` (or `$VINNY_HOME/` for back-compat), falling back to `~/.otto`. ```txt routines/<slug>/routine.yaml product truth runs/ runtime execution records (gitignored) receipts/ proof artifacts / quick-audit surface (gitignored) ``` Files = truth. Memory = lessons. UI = workspace. ## Subcommands ### list List Routines with status, schedule, attention cost, approval requirement, last Run, and obvious blocks. Flag recurring Ro