Automatically create a weekly / daily plan in Obsidian using Obsidian Utils
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.
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?
What edits are required before running `journal.rb`?
How does the script handle daily notes that already exist?
Where does the weather data come from, and can it be customized?
What workflow benefits come from the weekly note being linked to daily notes?
What’s the alternative if someone doesn’t want daily notes at all?
Review Questions
- What specific script settings must be edited to make file paths and date/week naming work correctly in Obsidian?
- How does the script’s behavior differ when a daily note for the current date already exists?
- What elements in the weekly and daily notes support planning and later review (including weather and reflection fields)?
Key Points
- 1
Install Ruby and verify it with `Ruby - V` before attempting to run the automation.
- 2
Download the script ZIP from the GitHub repository, unzip it, and edit `journal.rb` in a text editor.
- 3
Update the script’s `file path` to the correct Obsidian folder and ensure the path ends with a trailing slash.
- 4
Adjust date and week formatting so daily and weekly notes are named and organized the way you want.
- 5
Weather data is pulled from Environment Canada; configuration can be changed in the script’s specified lines.
- 6
Run the script from Terminal by navigating to the script folder and executing `Ruby channel.rb` (as shown).
- 7
Expect the script to append to existing daily notes rather than overwrite them, preserving manual edits.