routinelisted
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