shabbirpatheria332 downloadsRender a checklist in your daily note from a folder structure. Checking an item logs the daily note's date into that note's 'entries' property.
Turn a folder of notes into a compact, minimal habit checklist for Obsidian.
Habit Checklist is a companion to the Habit Tracker 21 plugin. Both read and write the same entries list of YYYY-MM-DD dates in your habit notes: tick habits off in your daily note with Habit Checklist, and view the streak history with Habit Tracker 21. Point both plugins at the same folder and no extra setup is needed.
Every note in your routines folder becomes a checkbox, grouped into colour-coded sections. Ticking one writes today's date into that note, so your history lives in your vault as plain frontmatter.
Routines folder.routines code block to your daily note, or use the Insert routines checklist block command:```routines
```
Completion history is stored in your notes' frontmatter.
Everything below is optional detail — the plugin works out of the box.
Point the plugin at a root folder (default: Routines). Each subfolder becomes a collapsible section, and each note inside becomes a checklist item:
Routines/
├── Fitness/
│ ├── Gym.md
│ └── Protein goal.md
└── Work/
└── Inbox zero.md
Add a code block to your daily note (or use the Insert routines checklist block command):
```routines
```
This renders a collapsible Habits checklist with Fitness and Work sections. On a wide pane (600px or more) the sections are laid out in two columns, read top to bottom and then left to right; narrower panes and phones show a single column. When you check Gym in a daily note dated 2026-06-25, that date is appended to the entries frontmatter property of Fitness/Gym.md:
---
entries:
- 2026-06-25
---
Unchecking removes the date. Checked items are shown with a strikethrough.
This is the same format that Habit Tracker 21 reads, so a habittracker code block pointed at your routines folder will chart the dates written here.
A routine note can break a habit into subtasks by adding a subtasks list to its frontmatter:
---
subtasks:
- Warm up
- Main set
- Cool down
---
Each subtask renders as a nested checkbox under the habit. The parent and its subtasks stay in sync both ways:
entries.entries dates from before it had subtasks, those dates are automatically backfilled into every subtask on render, so the parent stays consistent.Per-subtask completion is stored in a plugin-managed subtaskEntries property so it survives reloads:
---
subtasks:
- Warm up
- Main set
subtaskEntries:
Warm up:
- 2026-06-25
Main set:
- 2026-06-25
entries:
- 2026-06-25
---
Notes without a subtasks property behave exactly as before — a single checkbox.
Routines)1. Meditation without renaming anything on disk (default: off)entries)entries (default: YYYY-MM-DD)subtasks)subtaskEntries)Once accepted: Settings → Community plugins → Browse → search for "Habit Checklist".
main.js, manifest.json, and styles.css from the latest release.<vault>/.obsidian/plugins/folder-routines/.