Weekly Rollover

unlisted

by Carl J. Kurtz

Automatically rolls over open todos from the previous weekly note into the current one.

Updated 1mo agoMIT
View on GitHub

Weekly Rollover

Weekly Rollover automatically carries open todos from last week's note into the current one. Open a weekly note and any unchecked tasks from the previous week are appended — no copy-paste required.

Weekly Rollover is a plugin for Obsidian.md.

Use case

I developed this plugin to keep a running list of unfinished tasks across my weekly journal notes. Each week starts with a fresh note, but open todos from the previous week roll over automatically the moment I open the new file. Completed items stay in the past; only open tasks follow me forward.

Features

  • Rolls over unchecked todos (- [ ]) from the previous week's note.
  • Skips completed todos (- [x] / - [X], case-insensitive).
  • Preserves subheadings (##, ###, …) even when their section had no open todos.
  • Appends rolled-over todos at the end of the file — existing content is never modified.
  • Frontmatter flag (weekly-rollover: done) prevents double-rollover on the same note.
  • Runs automatically on file open; manual command available for re-runs.

Commands

CommandDescription
Run on current fileManually trigger rollover on the currently open weekly note.

Installation

Requirements

  • Obsidian 1.4.0+
  • Weekly notes stored in the folder structure <root>/YYYY/MM-MMMM/YY-Www.md (e.g. Journal Entries/2026/04-April/26-W15.md)

Installation

  1. Download the latest release.
  2. Extract the zip. It should produce a single ready-to-install weekly-rollover plugin folder (not loose files).
  3. In Obsidian, open Settings -> Community plugins.
  4. Click the folder icon to open the third-party plugins directory.
  5. Drag and drop or move the extracted weekly-rollover folder into that plugins directory.
  6. Back in Obsidian Community plugins, reload plugins and enable Weekly Rollover.

File Naming Convention

Weekly Rollover expects notes to follow this path structure:

ComponentFormatExample
FilenameYY-Www.md26-W15.md
Year folderYYYY2026
Month folderMM-MMMM04-April
Full path<root>/YYYY/MM-MMMM/YY-Www.mdJournal Entries/2026/04-April/26-W15.md

The month folder is determined by the Monday of the ISO week — not the file creation date.

Settings

SettingTypeDefaultDescription
Enable plugintoggletrueGlobally enable or disable automatic rollover on file open.
Journal root folderstringJournal EntriesRoot folder that contains your weekly notes.
To-Do headingstringTo-DosThe H1 heading that marks the start of the to-do section (without the leading #).

Rollover Behavior

When you open a weekly note, the plugin:

  1. Detects whether the file matches the YY-Www filename pattern.
  2. Looks up the previous week's note (handling ISO year-boundary edge cases).
  3. Extracts all unchecked todos under the configured heading from the previous note.
  4. Appends them to the end of the current note.
  5. Sets weekly-rollover: done in the frontmatter to prevent re-running on the same file.

The manual Run on current file command bypasses the frontmatter check but still shows a notice if there are no todos to roll over.

Contributing, Support & License

Contributing

Contributions are greatly appreciated! You can create an issue to report a bug, suggest an improvement, or ask a question. You can make a pull request to contribute to development.

Acknowledgements

This plugin was created with the help of AI, specifically Claude Sonnet 4.6.

Testing

The plugin was tested in a macOS environment. It should be platform-agnostic, but has not been tested on other operating systems.

Support

Weekly Rollover is entirely free of charge for both commercial and private use. If you enjoy using it and it solved a problem for you, please consider sharing this project or supporting it by sponsoring here on GitHub.

Happy rolling over!

License

Weekly Rollover is licensed under the MIT License. See LICENSE.md for more information.

For plugin developers

Search results and similarity scores are powered by semantic analysis of your plugin's README. If your plugin isn't appearing for searches you'd expect, try updating your README to clearly describe your plugin's purpose, features, and use cases.