Get AI summaries of any video or article — Sign up free
Automatically create a weekly / daily plan in Obsidian using Obsidian Utils thumbnail

Automatically create a weekly / daily plan in Obsidian using Obsidian Utils

Productivity Guru·
4 min read

Based on Productivity Guru's video on YouTube. If you like this content, support the original creators by watching, liking and subscribing to their content.

TL;DR

Install Ruby and verify it with `Ruby - V` before attempting to run the automation.

Briefing

A Ruby script from Mike McClendon’s Obsidian Utils collection can automatically generate both weekly and daily planning notes in Obsidian—without replacing existing daily notes. The practical payoff is a more dynamic daily template: instead of static daily notes, the script can populate sections automatically (including weather pulled from Environment Canada) and keep a structured record that links daily logs to the corresponding weekly plan.

Setup starts with a prerequisite check: Ruby must be installed, verified by running `Ruby - V` in a command prompt. Next, users download the script as a ZIP from the GitHub repository, unzip it, and open `journal.rb` in a preferred editor. Key edits are required before running it. The script’s `file path` setting must be pointed to the user’s Obsidian folder—specifically to a Dropbox-based location in the transcript (`Dropbox Obsidian flat para`), and the path must end with a trailing slash or the script will fail. Date formatting also gets adjusted: the transcript changes the format from “month day” to “day month year,” and further tweaks how the year and week number appear in the weekly naming scheme.

The script also includes weather integration. Weather data is pulled from Environment Canada, and the transcript notes that lines 12 to 14 can be modified if a different configuration is needed. Importantly, the script is designed not to overwrite today’s daily note. If a daily note already exists for the current date, the script appends content rather than replacing the file.

Running the automation is straightforward once the edits are complete. In Terminal, users `CD` into the script folder, then execute `Ruby channel.rb` (as shown in the transcript). After execution, Obsidian receives newly created notes: a weekly template note (named using the updated year/week scheme) and daily notes for the relevant dates. The transcript highlights that the weekly note includes a place for “big three” tasks and a structured daily area, while the daily note includes a weather section and a table that records weather details for that day.

From a workflow perspective, the script strengthens navigation and review. Daily notes provide easy access to the weekly plan, and the weekly plan for the prior week is also accessible from within the daily view. The weekly note supports reflection and planning fields such as what worked, what didn’t, and what to keep improving, starting, or stopping.

For users who prefer Obsidian’s native weekly templates rather than daily-driven automation, the transcript also mentions an inbuilt weekly-template approach: defining a week number to generate a weekly note format, without producing daily notes. Overall, the automation is positioned as a way to keep daily logs catalogued while making weekly planning more dynamic through scripted, data-backed templates.

Cornell Notes

A Ruby script in Mike McClendon’s Obsidian Utils collection can automatically create weekly and daily planning notes in Obsidian. The main advantage is a more dynamic daily template: it can append content to existing daily notes and populate sections such as weather pulled from Environment Canada. Setup requires Ruby installed, downloading `journal.rb` from GitHub, and editing the script’s file path (including a trailing slash) and date/week formatting. After running the script from Terminal, users get linked daily logs and weekly planning notes, with navigation from daily to weekly and reflection fields on the weekly page.

Why does a scripted daily template matter if Obsidian already has daily notes?

Obsidian’s built-in daily notes are typically static. The script makes daily notes more dynamic by appending structured content and auto-populating sections—most notably a weather area sourced from Environment Canada. That turns each daily note into a richer log that can be reviewed later, while still preserving any daily note that already exists for the day.

What edits are required before running `journal.rb`?

At minimum, the script’s `file path` must be changed to the user’s Obsidian folder location, and the path must end with a trailing slash or it won’t work as expected. The transcript also changes date formatting (from “month day” to “day month year”) and adjusts how the year and week number are displayed in the weekly naming scheme.

How does the script handle daily notes that already exist?

It does not override today’s daily note. If a daily note for the current date already exists, the script appends to it rather than replacing it. That reduces the risk of losing manually edited content.

Where does the weather data come from, and can it be customized?

Weather data is pulled from Environment Canada. The transcript notes that lines 12 to 14 can be changed if the user wants to adjust the configuration (for example, to target a different location or setup).

What workflow benefits come from the weekly note being linked to daily notes?

Daily notes provide direct access to the weekly plan, and the weekly note for the previous week is also accessible from the daily view. The weekly note includes planning and review fields such as “big three” tasks and prompts for what worked, what didn’t, and what to keep improving, start, or stop.

What’s the alternative if someone doesn’t want daily notes at all?

The transcript mentions an inbuilt method for weekly templates in Obsidian: users can define the week number and get a weekly note format without generating daily notes. That approach trades the dynamic daily logging (including weather tables) for a simpler weekly-only workflow.

Review Questions

  1. What specific script settings must be edited to make file paths and date/week naming work correctly in Obsidian?
  2. How does the script’s behavior differ when a daily note for the current date already exists?
  3. What elements in the weekly and daily notes support planning and later review (including weather and reflection fields)?

Key Points

  1. 1

    Install Ruby and verify it with `Ruby - V` before attempting to run the automation.

  2. 2

    Download the script ZIP from the GitHub repository, unzip it, and edit `journal.rb` in a text editor.

  3. 3

    Update the script’s `file path` to the correct Obsidian folder and ensure the path ends with a trailing slash.

  4. 4

    Adjust date and week formatting so daily and weekly notes are named and organized the way you want.

  5. 5

    Weather data is pulled from Environment Canada; configuration can be changed in the script’s specified lines.

  6. 6

    Run the script from Terminal by navigating to the script folder and executing `Ruby channel.rb` (as shown).

  7. 7

    Expect the script to append to existing daily notes rather than overwrite them, preserving manual edits.

Highlights

The automation creates both weekly and daily planning notes while avoiding destructive overwrites—existing daily notes get appended to.
A key customization is the Obsidian folder `file path`, which must include a trailing slash or the script won’t behave correctly.
Weather sections can be auto-populated using Environment Canada data, turning daily notes into searchable historical logs.
Weekly notes become easier to review because daily notes link back to the relevant weekly plan, including last week’s note.

Topics

Mentioned

  • Mike McClendon
  • DD
  • Ruby