# RoutineOS > RoutineOS is a framework for Claude routines: agents that run on a schedule, do recurring work, and hand what matters to a person. ## Introduction - [Introduction](https://docs.routineos.org/introduction): What RoutineOS is, who it is for, and how the pieces fit together. - [Philosophy](https://docs.routineos.org/introduction/philosophy): The four ideas RoutineOS is built on, and the principles that follow from them. - [Why the names](https://docs.routineos.org/introduction/names): Why the framework is called RoutineOS, and why the people workspace is called the Desk. - [Installation](https://docs.routineos.org/introduction/installation): Install the RoutineOS plugin in Claude Code, check your environment with doctor, and know what each requirement is for. - [Quickstart](https://docs.routineos.org/introduction/quickstart): Build the Hiring Signals routine from the jobs-watch template, lint it, seed its Desk, and plan a first run's writes on your own machine. - [How it compares](https://docs.routineos.org/introduction/comparison): RoutineOS next to Rails, Django and Laravel, and next to the automation tools people weigh it against. ## Concepts - [Concepts](https://docs.routineos.org/concepts): The ideas every RoutineOS routine is built from, and how they connect. - [Routines](https://docs.routineos.org/concepts/routines): What a routine is in RoutineOS, the four routine types, the folder layout, and the lifecycle from Discover to Retire. - [The definition](https://docs.routineos.org/concepts/definition): definition.json declares the record types a routine produces, how each record is identified, which settings filter which fields, the default views, and learning. - [Settings](https://docs.routineos.org/concepts/settings): Typed values people tune on the Desk without editing the prompt. How they are declared, stored, snapshotted on each run, and used as filters. - [Stages](https://docs.routineos.org/concepts/stages): The three kinds of stage in RoutineOS. Lifecycle stages a routine moves through, phases a run writes in, and workflow stages a pack declares. - [The store and the write contract](https://docs.routineos.org/concepts/store-and-write-contract): Where a routine's data lives, how a run's writes are planned in code before anything is written, and the rules that plan enforces. - [People-owned and producer-owned data](https://docs.routineos.org/concepts/ownership): Every document in the store has exactly one kind of writer. Which paths belong to people, which to producers, and why that rule replaces locking. - [Gates and approvals](https://docs.routineos.org/concepts/gates-and-approvals): A gate stops any send, post or delete until a named person approves. How gates are declared, written, answered on the Desk or by reply, and resumed by a later run. - [Notifications](https://docs.routineos.org/concepts/notifications): How a routine gets a person's attention. The Inbox and Today today, the workspace notification setting, quiet hours, and the derived notification feed (since 0.5.0). - [Learning](https://docs.routineos.org/concepts/learning): How a routine improves from what people do. Signals, thresholds, rejection memory, levels, and the learn then append then write order. - [Records](https://docs.routineos.org/concepts/records): Records (entities) are the things a routine finds. How each gets a stable id, how values from several producers combine, status and drop reasons, and links. - [Sightings](https://docs.routineos.org/concepts/sightings): A sighting is one run's view of one record. What it holds, how outcomes are decided, and why the last 30 are kept. - [Merges](https://docs.routineos.org/concepts/merges): How records from several producers fold together under a type's merge policy, and how people merge two records by hand. - [Views](https://docs.routineos.org/concepts/views): A view is a saved set of filters, a sort and columns over one record type. Definition views, agent-proposed views and people's views share one shape. ## Routine Kinds - [Routine kinds](https://docs.routineos.org/routine-kinds): Code, skill, workflow and hybrid routines. What each kind is, how it maps to the real fields, and how to pick one. - [Code routines](https://docs.routineos.org/routine-kinds/code): Routines whose work is done by scripts. The model runs exact commands and reports; scripts fetch, filter, count and write. When to choose one, the rules a script follows, and weekly-marketing-report in full. - [Skill routines](https://docs.routineos.org/routine-kinds/skill): Routines whose judgement lives in a skill folder, delivered from a repo or uploaded to the account, with a short prompt that names it. What a skill is, how a run loads it, when to choose one, and inbox-triage in full. - [Workflow routines](https://docs.routineos.org/routine-kinds/workflow): Routines described as a chain of declared stages (code, model, skill, gate), as packs do since 0.6.0. The stage schema, what validation refuses, when to choose the shape, and content-calendar in full. - [Hybrid routines](https://docs.routineos.org/routine-kinds/hybrid): The default kind. The model reads and judges; code applies every rule a person can edit, computes ids and writes the store. Where the line sits, how settings filters work, and Hiring Signals (jobs-watch) in full. ## Desk - [The Desk](https://docs.routineos.org/desk): One bundled page per workspace where people see what routines found, decide, and tune settings. Pages, routes, publishing and how it is built. - [Capabilities and degraded modes](https://docs.routineos.org/desk/capabilities): What the Desk needs from the artifact runtime (db, user, downloads), and exactly what each page does when one is missing, empty or failing. - [Today](https://docs.routineos.org/desk/today): The Desk's landing page. Unread matches and alerts, waiting approvals, setting proposals, and runs that need a look. - [Inbox](https://docs.routineos.org/desk/inbox): Messages routines post for people, with read, done and gated Approve and Reject. What each control writes. - [Approvals](https://docs.routineos.org/desk/approvals): The 0.5.0 Approvals page. Time left, approve, reject with a reason, edit a draft, and the approval history. - [Browse and records](https://docs.routineos.org/desk/records): Browse lists records of one type with search, filters, columns, sort and CSV export. The record page shows values, sightings, links and the keep, drop again and merge controls. - [Views page](https://docs.routineos.org/desk/views): The Views page lists built-in, saved and agent-proposed views and agent columns, and lets people keep or delete what an agent proposed. - [Suggestions](https://docs.routineos.org/desk/suggestions): One card per learned proposal, with level, evidence, Accept, Reject and Snooze, and a history of decided suggestions. - [Runs and history](https://docs.routineos.org/desk/history): The health strip, run history and run detail, including parsed versus claimed, drops by reason, settings used and the Claude session link. - [Settings page](https://docs.routineos.org/desk/settings): Edit each routine's settings with cost notes, and the workspace's notifications, quiet hours and merge policy. What each save writes. - [Live actions](https://docs.routineos.org/desk/live-actions): How a press on the Desk becomes a routine action, through the action queue, and why there is no run-now button. ## Templates - [Templates and packs](https://docs.routineos.org/templates): Start a routine from a bundled template or a routine pack. What a pack is, the ten shipped packs, maturity, and what a pack can never do. - [Install a pack](https://docs.routineos.org/templates/install): Validate and install a routine pack from a file or one https URL. Output, the connector report, renaming, and every refusal. - [Connectors in packs](https://docs.routineos.org/templates/connectors): How a pack declares what it needs connected, the rules install checks, and the connector report a person gets. - [The catalog](https://docs.routineos.org/templates/catalog): The template catalog index, its entries, how it is built with pack catalog, and how pack list reads it. - [Writing a pack](https://docs.routineos.org/templates/writing-a-pack): Author a routine pack by hand or from a folder. Required parts, stages, connectors, files, the validation order and the content scan. - [Export a routine](https://docs.routineos.org/templates/export): Turn any routine folder into one pack file with pack export. What it reads, the defaults without a pack.json, and what is lost. ## Infrastructure - [Infrastructure](https://docs.routineos.org/infrastructure): What a routine runs on and talks to. The cloud run, environments and secrets, connectors and MCP, browsers, storage, sandboxes, notification channels and scheduling, with what is verified and what is not. - [Connectors and MCP](https://docs.routineos.org/infrastructure/connectors-and-mcp): How a routine reaches other services. Claude connectors, local MCP servers in a cloud run, gateways such as Zapier MCP, write access and gates, and how each is declared in app.toml. - [MCP browsers](https://docs.routineos.org/infrastructure/mcp-browsers): When a routine needs a real browser, which options a cloud run can reach, which only work on your own machine, and what RoutineOS has and has not tested. - [Storage](https://docs.routineos.org/infrastructure/storage): Where a routine's records live. The artifact-db adapter behind every Desk, its limits and write rules, artifact assets, and the unverified alternatives reachable through MCP. - [Compute sandboxes](https://docs.routineos.org/infrastructure/compute-sandboxes): The cloud run every routine uses, and the optional external sandboxes (Daytona, Modal, Cloudflare, E2B, Vercel) for work it cannot do. What each is, when a routine would use one, how a routine reaches it, limits and cost, and why none is tested from a routine yet. - [Notification channels](https://docs.routineos.org/infrastructure/notification-channels): How a routine reaches a person outside the Desk. Email and Slack as gate transports, push as a one-way notice, Telegram and ntfy as unverified options, and the budget alert. - [Scheduling and Claude cloud routines](https://docs.routineos.org/infrastructure/scheduling): How a routine runs on Claude scheduled tasks. Triggers, cron in UTC, the hourly limits, environments, network access, secrets, setup scripts, creation with RemoteTrigger and the first report-only run. ## MCP - [The RoutineOS MCP](https://docs.routineos.org/mcp): A free MCP server that lets your Claude search these docs, find, fetch and install routine templates, and start a migration from an n8n template. How to connect it, what each tool does, and how to run it yourself. ## Guides - [Guides](https://docs.routineos.org/guides): Task-by-task walk-throughs built on Hiring Signals. Take a routine to its first run, move an n8n workflow across, add a Desk, and tune learning. - [Build your first routine](https://docs.routineos.org/guides/first-routine): Take Hiring Signals from the jobs-watch template to a scheduled task that has run once, report-only. Fill app.toml, check it, publish the Desk, seed it, create the task and verify the first run. - [Move an n8n workflow to a routine](https://docs.routineos.org/guides/n8n-to-routine): Map a scheduled automation workflow onto a RoutineOS routine. Trigger to schedule, nodes to stages, the sheet to the store, the send to a gate, and what the Desk adds. Worked through for Hiring Signals. - [Add a Desk to a routine](https://docs.routineos.org/guides/add-a-desk): Give a routine that was scaffolded without a Desk its definition and page, then put two producers on one shared Desk. Every step was run and the outputs are shown. - [Tune learning](https://docs.routineos.org/guides/tune-learning): Change how readily Hiring Signals suggests setting changes. Thresholds, turning signals off, declaring limits, rejecting versus switching learning off, and getting a new definition onto the Desk. ## Reference - [Reference](https://docs.routineos.org/reference): Exact commands, file formats, store paths and routes. Look things up here; learn them in Concepts and Guides. - [CLI reference](https://docs.routineos.org/reference/cli): Every routineos.py subcommand, its arguments, what it writes and its exit codes. Taken from the argument parser in skills/routineos/scripts/routineos.py. - [routine.toml and app.toml](https://docs.routineos.org/reference/routine-toml): Every table and key in a routine's routine.toml and its app.toml, with types, defaults and what lint checks. Taken from schema.py, appmodel.py and the scaffolds. - [Definition schema](https://docs.routineos.org/reference/definition-schema): Every key in definition.json (types, fields, identity, merge, links, setting filters, views, learning, inbox), what lint refuses, and the shape of the compiled meta/definition. Taken from definition.py. - [Write contract](https://docs.routineos.org/reference/write-contract): The rules every producer write follows. The six steps, the refusals, run, Inbox, proposal, gate and entity shapes, batch limits and exit codes. Taken from references/write-contract.md and desk_contract.py. - [Store collections](https://docs.routineos.org/reference/store-collections): Every document path in a Desk workspace's store, who writes it, and what it holds. Producers, people, the seed step and the prompt header each own their own paths. - [Pack schema](https://docs.routineos.org/reference/pack-schema): Every key in a routineos.pack.v1 pack file and a routineos.catalog.v1 index, with patterns, limits and the jobs-watch pack as the example. Taken from site/templates/schema/. - [Desk routes](https://docs.routineos.org/reference/desk-routes): Every hash route the Desk page answers, the Browse query keys, and the routes and keyboard shortcuts added in 0.5.0. Taken from assets/desk/src/router.js and pages/browse.js. - [Glossary](https://docs.routineos.org/reference/glossary): Every RoutineOS term in one place, with a one-line meaning and the page that explains it. ## Contributing - [Contributing](https://docs.routineos.org/contributing): How to set up, test and send a change to RoutineOS. The rules the test suite enforces, the Desk bundle check, the visual checks and how platform claims are tagged. - [Changelog](https://docs.routineos.org/contributing/changelog): What changed in each RoutineOS version, from 0.1.0 to 0.6.0. ## Agent skills - [routineos](https://docs.routineos.org/.well-known/agent-skills/routineos/SKILL.md): Read the RoutineOS docs instead of answering from memory. RoutineOS is a framework for Claude routines: agents that run on a schedule, do recurring work, and hand what matters to a person. Use when a task involves RoutineOS: how it works, how to set it up or configure it, or its API. ## Agent resources - [llms-full.txt](https://docs.routineos.org/llms-full.txt): The full Markdown of every page in one file. - [Page Markdown](https://docs.routineos.org/index.md): Append `.md` to any page URL to fetch that page as raw Markdown. - [JSON API](https://docs.routineos.org/api/docs/pages.json): Page index of the JSON docs API; each entry links the page's JSON and Markdown forms. Described by the OpenAPI document at https://docs.routineos.org/openapi.json. - [Agent skills](https://docs.routineos.org/.well-known/agent-skills/index.json): Agent Skills discovery index of the skills this site publishes. - [API catalog](https://docs.routineos.org/.well-known/api-catalog): RFC 9727 linkset of the APIs documented here. - [AI catalog](https://docs.routineos.org/.well-known/ai-catalog.json): ARD manifest of the agent-facing resources on this site (MCP server, skills, APIs). - [agent-readability.json](https://docs.routineos.org/agent-readability.json): Manifest of every agent-facing artifact on this site. - [Sitemap](https://docs.routineos.org/sitemap.xml): Every indexable page URL with its last-modified date.