Skip to content
devkindhqPublic

About

Self-improving framework for Claude routines (Claude Code scheduled tasks): typed settings, linter, templates, approval gates, mobile Desk. MIT.

Topics

Resources

Contributing

Security policy

Stars

4 stars

Watchers

0 watching

Forks

Repository files navigation

RoutineOS logo: a ring of eight coloured segments

RoutineOS: self-improving framework for Claude Code routines (scheduled tasks)

License: MIT

RoutineOS is a free, MIT-licensed Claude Code plugin and framework for Claude routines, the scheduled Claude agents that do recurring work in the cloud. It gives each routine typed settings, a linter, templates, approval gates and a mobile Desk, and it proposes changes from your keep and drop decisions, applied only on your yes.

Install: /plugin install routineos --marketplace devkindhq/routineos (Claude Code 2.1.275 or later). Docs: docs.routineos.org.

The RoutineOS Desk for the weekly marketing report routine, shown with demo data. On desktop, the Overview page: six tiles (Sessions 11,611 up 8.5%, Conversions 364 up 7.1%, Revenue $30,580 up 7.8%, Search clicks 6 down 25%, Search impressions 3,891 up 2.2%, Average position 28.7 down 3.7%), each with a small trend line, and below them line charts of sessions by source and search clicks by source. On a phone, the same Overview page with the Refresh button, date and source filters, and the first tiles stacked in one column.

Try the live demo Desk, with demo data. It is read only.

It runs on the Claude plan you already pay for, and RoutineOS itself is free (MIT).

How it learns

A routine learns from what it sees (a list item that matched nothing for ten runs, runs that hit a limit) and from what you decide on the Desk (records you keep that a setting dropped, or drop that it kept). Code does the counting. When the pattern holds, one suggestion lands in your Inbox, such as "Add hydrogen to title_keywords", with the signal and evidence count. You accept, reject or snooze it. A routine never applies its own suggestion. See Learning.

What you get

  • Safe by default. First runs are report-only, nothing sends, posts or deletes without an approval gate, and fetched content is data.
  • Conventions. new --type scaffolds a serverless, watch, approval-gated or interactive routine, and the linter fails on a setting with no default, a schedule faster than hourly, or a prompt without the untrusted-data clause.
  • The Desk. One private page per workspace shows what was kept, what was dropped and why, every run, and open approvals.
  • Templates and migration. Install a routine from a pack, or convert an n8n workflow, Windmill flow or described Zap with routineos migrate.

Rails, Django and Laravel gave web apps a shape. RoutineOS borrows the shape, not the code:

RoutineOS Rails Django Laravel
Routine type app template project template starter kit
Records and Store models, database models, ORM Eloquent
Settings config, credentials settings config, .env
Producers jobs management commands queued jobs
Gates before_action, approvals permissions, admin actions policies, gates
Desk views templates Blade views
CLI rails g, console manage.py artisan

Quick start

Install the Claude Code plugin in Claude Code 2.1.275 or later:

/plugin install routineos --marketplace devkindhq/routineos

The CLI needs Python 3.11 or newer (standard library only). From the repo root:

python3 skills/routineos/scripts/routineos.py doctor
python3 skills/routineos/scripts/routineos.py new my-watch --type watch
python3 skills/routineos/scripts/routineos.py lint my-watch

The Quickstart builds a full example routine, Desk included.

Templates

A grid of 12 starter templates, four across and three down, each with its name, piloted or unpiloted, its category and type, and a short summary. The 3 piloted templates (Jobs watch, Watch, Weekly marketing report) come first, then the 9 unpiloted ones.

Each template is one pack file listed in catalog/index.json. Piloted means a real run checked it. Digest and tracker starters are coming soon.

  • candidate-shortlist: unpiloted, watch. Scores new applicants against your rubric with evidence per criterion and suggests a shortlist. It never rejects anyone.
  • content-calendar: unpiloted, approval-gated. Drafts cited posts from your topics and sources in your house style, and publishes only what a person approves.
  • engineering-digest: unpiloted, watch. A daily digest of open pull requests, issues and failing builds, with the stale ones flagged.
  • inbox-triage: unpiloted, approval-gated. Labels new mail threads, drafts replies in your style, and sends a reply only after a person approves it.
  • invoice-exceptions: unpiloted, watch. Reads incoming invoices and flags duplicates, large amounts and new vendors for a person to check. It never pays.
  • jobs-watch: piloted, watch. Tracks public job postings for commerce and automation roles, links each role to its company, and puts the few that need a person in the Inbox.
  • meeting-brief: unpiloted, watch. Before each outside meeting, researches the other company and writes a short, cited brief to the Desk.
  • shopify-content-qa: unpiloted, watch. Checks a Shopify store's public pages each day for missing descriptions, alt text, broken links, placeholder text, SEO gaps and price slips, and tracks what changed. It never edits the store.
  • site-compliance-review: unpiloted, watch. Reviews a website's pages each day against a rule pack you supply, flags wording that may breach a rule with severity, a screenshot and boxed notes, and tracks decisions. It never changes the site.
  • support-gap-digest: unpiloted, watch. Each week, groups repeated support questions and flags the ones your help pages do not answer yet.
  • watch: piloted, watch. Watches a list of sources for new and changed items and writes one report per run, even in a quiet week.
  • weekly-marketing-report: piloted, watch. Each week, compares marketing metrics with the week before, audits a few key pages, and flags big moves. Live demo Desk.
python3 skills/routineos/scripts/routineos.py pack list catalog/index.json
python3 skills/routineos/scripts/routineos.py pack install catalog/meeting-brief.json --dir my-brief

Write your own: authoring, pack keys.

Honest limits

Claude scheduled tasks are a research preview and may change.

  • Each run starts on a fresh Python 3.11 sandbox and cannot fire another routine: pilot-verified.
  • Approval gates over email, and Slack sends with the connector set to "Ask for approval": pilot-verified.
  • The artifact database holds 25,000 documents per artifact, 256 KiB each: pilot-verified, though the official artifact docs say artifacts have no backend.
  • Minimum schedule interval is one hour: docs-stated, enforced by lint.
  • "Run now" from the Desk has no low-latency path; it is an action queue: docs-stated.
  • Repo-hosted scripts run inside a run when called by path: owner-verified. A script writing to the Desk db or a connector is unverified, so the model does every write.
  • The API trigger (webhook) fires a routine from outside Claude: owner-verified. That the fire text reaches the run as untrusted data is docs-stated.
  • Sheet or Drive writes need the Google Drive connector: unverified.
  • Workers AI called directly from a run is blocked by the sandbox: pilot-verified. Through a connector: unverified.

Docs

Docs inside Claude

The docs and the template catalog are also a free MCP server, so Claude can read them while it builds a routine with you. No account, no sign in, read only.

Claude Code: installing the plugin connects it for you. Without the plugin:

claude mcp add --transport http routineos https://docs.routineos.org/api/mcp

Add --scope project to commit it to the repo's .mcp.json, so cloud scheduled routines and everyone on the repo get it too.

Claude (web and Claude Desktop): Customize > Connectors, + Add, Add custom connector, name it RoutineOS, paste https://docs.routineos.org/api/mcp, choose No sign in, then Add. Turn it on in a chat from + > Connectors. Free plans allow one custom connector; on Team and Enterprise an owner adds it under Organization settings > Connectors.

Then ask Claude things like "search the RoutineOS docs for gates" or "set up the jobs watch template". Tools and details: The RoutineOS MCP.

FAQ

What is a Claude routine?

A routine is a Claude Code configuration (a prompt, repositories and connectors) that runs on Anthropic's cloud on a schedule, on an API call or on a GitHub event, so it keeps working when your laptop is closed. Anthropic now calls them scheduled tasks; the earlier name, routines, still appears in the app, the /routines command and the API. They are a research preview. See Anthropic's docs.

How do I schedule Claude Code to run every day?

Run /schedule in Claude Code (for example /schedule daily PR review at 9am) or create a task at claude.ai/code/routines. The shortest interval is one hour. RoutineOS adds the parts a bare schedule lacks: settings with defaults, a linter, approval gates and a Desk that shows every run.

Is RoutineOS an n8n alternative?

It is a different shape. n8n, Zapier and Make wire steps into a fixed flow; a RoutineOS routine is a Claude agent that makes judgment calls, shows its reasons and asks before it acts. If you already have an n8n workflow, routineos migrate n8n <file-or-url> --out <dir> converts it into a routine pack. The result is report-only and unpiloted, and MIGRATION.md lists what a person must finish. See how it compares.

How does a routine improve itself?

Code counts the signals: records you keep that a setting dropped, list items that match nothing, runs that hit a limit. When a pattern holds, the routine proposes one settings change in your Inbox with its evidence. You accept, reject or snooze it. A routine never applies its own suggestion.

Will it send email or post without asking?

No. The first run is report-only, and every send, post or delete goes through an approval gate.

What does it cost?

RoutineOS is free and MIT licensed. Routines run on the Claude plan you already pay for; Anthropic lists scheduled tasks on Pro, Max, Ultra, Team and Enterprise plans.

Can Claude read the RoutineOS docs?

Yes. The docs and the template catalog are a free, read-only MCP server at https://docs.routineos.org/api/mcp. See Docs inside Claude.

Licence

MIT, Devkind, 2026. Built by Devkind.

About

Self-improving framework for Claude routines (Claude Code scheduled tasks): typed settings, linter, templates, approval gates, mobile Desk. MIT.

Topics

Resources

Contributing

Security policy

Stars

4 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages