Search...Search plugins and themes...
⌘K
Sign in
  • Get started
  • Download
  • Pricing
  • Enterprise
  • Account
  • Obsidian
  • Overview
  • Sync
  • Publish
  • Canvas
  • Mobile
  • Web Clipper
  • CLI
  • Learn
  • Help
  • Developers
  • Changelog
  • About
  • Roadmap
  • Blog
  • Resources
  • System status
  • License overview
  • Terms of service
  • Privacy policy
  • Security
  • Community
  • Plugins
  • Themes
  • Discord
  • Forum / 中文论坛
  • Merch store
  • Brand guidelines
Follow us
DiscordTwitterBlueskyThreadsMastodonYouTubeGitHub
© 2026 Obsidian

Routine Streaks

Taehyun A. KimTaehyun A. Kim151 downloads

Track routine streaks from tagged Daily Note tasks.

Add to Obsidian
  • Overview
  • Scorecard
  • Updates6

Routine Streaks banner

Track routine streaks from plain Markdown checkboxes, then carry them to your iPhone home screen.
Daily Notes stay as the source of truth while Routine Streaks exports widget-ready data and generates Scriptable code for iOS/iPadOS.

Highlights · Screenshots · Usage · Markdown widgets · Scriptable widgets

Routine Streaks dashboard embedded in a Daily Note

Highlights

✅ Markdown-first streaks Completion history comes from tagged Daily Note checkboxes, not a hidden database.
🗓️ Flexible schedules Use selected weekdays, weekly targets, repeating intervals, or a custom day start.
🧊 Freeze days Pause a routine for breaks, travel, sick days, or planned rest.
🧩 Routine templates Define template items once, then insert routine tasks from the command palette.
📊 Widgets everywhere View progress in the sidebar, inside notes, and on iOS/iPadOS through Scriptable.
🐾 Pixel pet status Pick a dog, cat, or parrot that reacts to today's routine progress.

Screenshots

Routine Management

Collapsed routine list in settings

Expanded routine editor with schedule and template items

Pixel Pets

Pet Complete Needs attention
Dog Happy dog pixel pet Dog pixel pet that needs attention
Cat Happy cat pixel pet Cat pixel pet that needs attention
Parrot Happy parrot pixel pet Parrot pixel pet that needs attention

How It Works

Routine Streaks treats your Daily Notes as the source of truth.

- [ ] Drink water #routine/morning
- [x] Open the journal #routine/morning

For each routine, the plugin scans Daily Notes for tasks with the routine tag. A routine counts as complete for a date when all matching tasks for that routine are checked. If you uncheck a task later, the next recalculation removes that completion from the streak cache.

What gets stored:

  • Routine definitions and display settings are stored in plugin data.
  • Streak cache is stored in plugin data and can be rebuilt.
  • Completion history lives in Daily Note task checkboxes.

Usage

  1. Enable the plugin in Obsidian.
  2. Open Settings → Community plugins → Routine Streaks.
  3. Configure your Daily Note folder, date format, and day start time if needed.
  4. Create or edit routines, tags, schedules, template items, and freeze days.
  5. Open any Markdown note and place the cursor where you want routine tasks.
  6. Run Routine Streaks: Insert routine template from the command palette.
  7. Check off the tagged routine tasks in your Daily Note.
  8. Open the sidebar widget, embed a markdown widget, or run Routine Streaks: Recalculate streaks to refresh progress.

Routine Tags

Each routine has a tag. New installs start without sample routines, so you can add routines such as:

  • #routine/journal
  • #routine/vitamins
  • #routine/reading

Markdown Widgets

You can embed Routine Streaks widgets in any note with a routine-streaks-widget code block.

```routine-streaks-widget
title: My routine dashboard
subtitle: Today status
widgets:
  - overview: Summary
  - today_items: Checklist
  - routine_cards: All routines
```

The widget reads your current plugin settings and streak cache. If you leave the code block empty, it uses the widget layout from the plugin settings.

Markdown Widget Options

Option Description
title Optional heading shown above the widget. Leave it blank or omit it to hide the heading.
subtitle Optional smaller text below the title.
widgets A list of widget blocks to render in this note.

Widget Types

Type What it shows
overview Best current streak, today's completion count, and the selected pixel pet.
pet A large pixel pet that reacts to today's routine progress.
routine_cards A card grid for enabled routines, including streaks and today's task progress.
today_items Today's tagged checklist items grouped by routine.
routine_focus One selected routine with its current streak and status.

You can set a title after ::

```routine-streaks-widget
widgets:
  - overview: Summary
  - pet: Buddy
  - today_items: Today's checklist
```

For routine_focus, pass a routine id after ::

```routine-streaks-widget
widgets:
  - routine_focus: morning
```

You can also use the pipe format when you want both a custom title and a routine id:

```routine-streaks-widget
widgets:
  - routine_focus | Morning focus | morning
```

Supported routine focus keys:

  • routine_focus
  • focus
  • routine

Supported aliases:

  • routine_cards, cards, routines
  • today_items, tasks, items
  • pet, animal, pixel_pet, pet_card

Scriptable Widgets

Routine Streaks can generate ready-to-paste Scriptable code for iOS/iPadOS widgets.

The Scriptable widget reads an exported data.json file from your vault. It does not scan your notes directly on iOS; Obsidian exports the current routine settings and recalculated streak cache, then Scriptable displays that exported data.

Routine Streaks Scriptable widgets on an iPhone home screen

Scriptable widget generator settings

Setup

  1. In Obsidian, open Settings → Routine Streaks → Scriptable widget.
  2. Choose the Scriptable display you want.
  3. Choose the Scriptable size.
  4. Click Export now to create or refresh the data file.
  5. Click Generate code and copy the generated script.
  6. In Scriptable, create a new script and paste the code.
  7. In Scriptable, open Settings → File Bookmarks.
  8. Create a file bookmark named exactly:
Routine Streaks Data
  1. Point that bookmark to the exported vault file, usually:
Routine Streaks/data.json
  1. Add the Scriptable script as an iOS/iPadOS widget.

Scriptable Display Types

Display Description
Dashboard A larger dashboard with overview, pet, and routine progress.
Overview Best streak, today's progress, and pet status.
Pet A focused pixel pet status widget.
Routine cards Routine progress cards.
Today items Today's task status for selected routines.
Focused routine One selected routine's streak and status.

Scriptable Sizes

Available sizes depend on the selected display:

Display Sizes
Dashboard Large
Overview Medium, Large
Pet Small, Medium, Large
Routine cards Medium, Large
Today items Small, Medium, Large
Focused routine Small, Medium, Large

For Focused routine, choose which routine to show in Scriptable focused routine.

For Today items, choose which routine cards should appear. Small shows one routine. Medium and Large can show up to four routines.

Refreshing Data

Use Export now whenever you want to manually refresh the data used by Scriptable. Routine Streaks also exports data when plugin settings are saved or streaks are recalculated.

If the iOS widget looks stale, open Obsidian on the device that has the latest vault data, run Routine Streaks: Recalculate streaks, then export again.

Privacy

Routine Streaks works locally in your vault. It does not collect telemetry and does not send your notes to an external service.

License

Routine Streaks is released under the MIT license.

HealthExcellent
ReviewPassed
About
Track routine streaks by reading Daily Note checkboxes tagged like #routine/morning and marking a date complete when all matching items are checked. View progress in a sidebar dashboard or embedded widgets, generate iOS Scriptable widgets, manage routines, and use weekday schedules and streak freeze days.
TasksSidebarTemplating
Details
Current version
1.2.3
Last updated
Last week
Created
4 weeks ago
Updates
6 releases
Downloads
151
Compatible with
Obsidian 1.4.10+
Platforms
Desktop, Mobile
License
MIT
Report bugRequest featureReport plugin
Author
Taehyun A. KimTaehyun A. Kimholyhooly
GitHubholyhooly
  1. Community
  2. Plugins
  3. Tasks
  4. Routine Streaks

Related plugins

Checklist

Consolidate checklists across all files into a single view.

Notebook Navigator

A better file browser and calendar inspired by Apple Notes, Bear, Evernote and Day One.

TaskNotes

Note-based task management with calendar, pomodoro and time-tracking integration.

Templater

Create and use dynamic templates.

Recent Files

Display a list of recently opened files.

TagFolder

Show tags as folder.

Day Planner

Day planning from a task list in a Markdown note with enhanced time block functionality.

Vertical Tabs

Offer an alternative view that displays open tabs vertically, allowing users to group and organize tabs for a better navigation experience.

Longform

Helps you write and edit novels, screenplays, and other long projects.

Tasks

Track tasks across your vault. Supports due dates, recurring tasks, done dates, sub-set of checklist items, and filtering. Maintained by Clare Macrae and Ilyas Landikov, created by Martin Schenck.