Introduction
What RoutineOS is, who it is for, and how the pieces fit together.
RoutineOS is a framework for Claude routines: agents that run on a schedule, do a piece of recurring work, and hand what matters to a person. It gives those routines one shape. A routine gets typed settings, a prompt with safety lines already in it, a linter, a store with a write contract, and, when it needs one, a Desk: a private web page where people read what the routine found and decide what happens next.
Rails, Django and Laravel gave web apps a shape: conventions, a scheduler, models, settings and generators. Claude already has the parts a routine needs (scheduled tasks, artifacts, the artifact database, connectors). RoutineOS gives them one set of conventions, so a routine is safe by default and easy to steer.
What you get
| Part | What it is | Where it lives |
|---|---|---|
| CLI | routineos.py, a standard library Python tool that scaffolds, lints, seeds, compiles, plans writes and runs learning |
skills/routineos/scripts/routineos.py |
| Skill | The lifecycle guide Claude follows to design, build, verify, deploy, operate and improve a routine | skills/routineos/SKILL.md and skills/routineos/references/ |
| Templates | Ready routine folders you copy with new --from-template |
templates/ |
| Definition | A JSON file that declares the record types a routine produces, their identity rules, views and learning | definition.json in each routine folder |
| Write contract | The code that plans every store write, so a run cannot write where people own the data | skills/routineos/scripts/desk_contract.py |
| Desk | A single HTML page published as a private artifact, reading and writing the artifact database | dashboard/index.html in each routine folder |
| Registry | A list of platform facts, each tagged pilot, docs or unverified | skills/routineos/registry/ |
Safe by default
Every routine RoutineOS scaffolds starts with the same guarantees:
- The first run is report-only. It writes what it found and sends nothing.
- Nothing sends, posts or deletes without a gate.
lintfails a routine that declares a send, post or delete action without[gate] enabled = true. - Content the routine fetches is data, never instructions. Every prompt carries a clause saying so, and
lintchecks for it. - A run never writes the documents people own: settings, decisions, merges and per-person state. The write contract refuses those paths in code.
- A routine never applies its own suggestions. It proposes; a person accepts.
The worked example
Every concept page in these docs uses the same routine: Hiring Signals, built from the jobs-watch template. Twice a week it searches public job boards for roles that signal a company is building or rebuilding commerce, records each role and its company, drops what the settings rule out (keeping a reason), and puts the few roles worth a look in the Inbox. People keep or drop records, accept suggested setting changes, and approve any intro note before it goes anywhere.
Hiring Signals is a hybrid routine. The model does the parts that need judgement and words: searching, reading job pages, deciding what is a strong match, writing short summaries. Code does the parts that must be exact: filtering by settings, capping the Inbox, minting record ids, counting what people did, and planning every write. See Routine kinds.
Status
The plugin is at version 0.6.0. Pages that describe features added in 0.5.0 or later say so at the top. The watch type is live; approval-gated, digest and tracker are marked coming soon in the repository README.
The project’s home is routineos.org, and these docs live at docs.routineos.org.
License
RoutineOS is MIT licensed. It is our gift to everyone, from Devkind. Use it, fork it, ship it inside your own products. The license text is in LICENSE at the repository root (Copyright (c) 2026 Devkind).
Next
- Philosophy: the four ideas the framework is built on.
- Why the names: why RoutineOS, and why the Desk.
- Installation: install the plugin and check your setup.
- Quickstart: build Hiring Signals in about ten minutes.
Then, by section: Concepts, Guides, Infrastructure and Reference.