README file from
GithubObsidian Personal OS
Introduction
The Obsidian Personal OS plugin is a powerful addition to Obsidian, designed to optimize your workflow by automating the management of tasks, reviews, and focus areas within your Obsidian environment. By alleviating the burden of decision-making regarding which file to prioritize, the plugin employs an automated selection process to direct your attention efficiently, drawing inspiration from the GTD (Getting Things Done) methodology. However, strict adherence to GTD principles is not mandatory for benefiting from this tool.
⚠️ Prerequisites
This plugin leverages functionality from three community plugins:
- Dataview: Essential for database queries.
- Tasks: Necessary for task management.
Features Overview
- Engage Command: Automatically selects the next file that requires an action:
- Can bring Random Events
- Automatically opens the appropriate workspace.
- Process Command: Identifies the next file in need of processing or task creation.
- Random Snooze: Allows for effortless planning by randomly snoozing a file within a specified date range.
- Auto Fail Tasks: Marks tasks as failed for items not completed, useful for recurring tasks during periods of absence.
- Applicable to the current file or across the entire vault.
Key Concepts
Vault Structure
It is recommended that your vault contains at least one "Inbox" folder for new files and a "Work In Progress" folder for items requiring attention. These folder names are customizable and are specified within the plugin settings.
Example :

Inbox Folders
Serve as initial holding areas for unprocessed items. Files in these folders need to be moved elsewhere to be excluded from the "start process" feature. An empty setting implies the entire vault functions as an "Inbox".
Work in Progress Folders
Represent areas for active items that are not archived. Items without a "Handled By" property or not marked as "Archived" with at least one next action are considered active (see file anatomy). The "Engage" command also only look into the "Work in progress" folders to find actionable files. An empty setting designates the entire vault as a "Work in Progress" area.
File Anatomy
The plugin uses 2 major properties in your files, we advise using the core obsidian "Properties view" plugin :
- "Archived" Property: (Optional) A True/False flag.
- "Handled By" Property: (Optional) Text property linking to another file.
Here is an example :

Rules for "Work in progress" files:
- Non-archived files are active and require at least one task.
- Archived files are inactive and excluded from automatic prioritization.
- A "Handled By" file is active and still requires at least one task, but it's excluded from automatic prioritization.
Task Anatomy
Understanding dates within tasks is crucial, as they dictate the task's visibility and priority:
- Start Date: The earliest date a task becomes relevant.
- Scheduled Date: The planned date for task execution.
- Due Date: The final deadline for task completion.
🛫Start Date
This date represents the date when you CAN "Start" doing this task. Before that date there is no need for the system to bring the file to your attention, but after that date it will in the "Start Work" command.
⏳Scheduled Date (or Do Date)
This date represent the date when you SCHEDULED to work on this task. Before that date there is no need for the system to bring the file to your attention, but at the desired date it needs to be brought to attention! A task having a start date AND a scheduled date will not come before the schedule date. A task having a scheduled date in the past is considered late but not failed.
📅Due Date
This date represent the ultimate possible date where this task should be finished. Before that date, the file can be brought to your attention if it has a start date or a scheduled date. A task having a Due date in the past is considered late and failed.
⌚ Time
It's possible to add a time to a task (before the date and the recurrence). by using the "⌚" emoji (Windows + . on windows). A timed task will only be brought to attention after the dedicated time and with a high priority. Time is in 24h format, here is an example : ⌚15:00 for 3pm. See Engage feature for more info.
Tasks example
- Study for exam 🛫 2024-03-05 📅 2024-03-15
This task means that you "can" study between the 05th and the 15th of March.
-
It will show starting on the 05th and until the 15th
-
It will be considered late and failed on the 16th
-
Study for exam⌚15:00 🛫 2024-03-05 ⏳ 2024-03-11 📅 2024-03-15
This task means that you "Can" study between the 05th and the 15th of March. You've scheduled to actually study on the 11th.
- It won't show before the 11th at 15:00.
- It will be considered late on the 12th.
- It will be considered late and failed on the 16th
Types for files
Some concepts are useful to understand :
- A due file has at least 1 task with a scheduled or due date on the current day.
- A Next file has at least 1 task with a start date in the past OR a file with only non dated tasks.
- A late file is a file with at least 1 task that is scheduled or Due in the past.
Those concepts are used very often in all the algorithms of the plugin features.
Features
Engage Command
This feature brings forward files requiring immediate action, prioritizing based on dates, time and priority. Engage only brings files that are not archived, not "Handled By" another file, and in a "Work in progress" folder. The command uses a very specific algorithm to prioritize files to bring to your attention.
- Due files with a time (⌚) in the past, ordered by time.
- Random due file with no time (Random groups are created by priority, the high priority tasks will come first)
- Random next file
Engage Random Event
It is possible to configure "Random Events" tags in the settings.

Here the Engage feature has a 20% chance to bring a random file from those random events and this value can be configured. By default this value is 0%.
Engage Automatic Workspace opening
If a file can contain a "Workspace" property containing a Workspace name, when start work brings this file to your attention it will automatically open the referenced workspace. Note that when automatically opening a workspace, the previous state of your obsidian is saved in the "OSPrevious" Workspace. Also note that on Mobile, this feature only works if a workspace exists with the mention "Mobile" in the name.
As an example, if a file has the "Workspace" property filled with the value "Work" :
- On Desktop, the "Work" Workspace will be opened automatically if it exists.
- On mobile the "Work Mobile" Workspace will be opened automatically if it exists.
This because workspaces between desktop and Mobile still present some issue in Obsidian currently (the left pane is empty for example).
Process Command
Facilitates vault organization by highlighting files needing review or task assignment, prioritizing late tasks and inbox items.
The priority system for Start process works as follow :
- Late files
- Files in 1 of your Inboxes
- Files "In progress without a task ", meaning non archived files in one of your "work in progress" folders that does not have a task defined.
Random snooze a file command
Simplifies planning by allowing random postponement of tasks within a chosen timeframe.

It will replace in the current file any start date or scheduled date by a random future date in the chosen interval.
Auto failing tasks command
Automates the marking of tasks as failed past their due date, maintaining accountability for recurring obligations. If the task was a recurring task, the command will generate failed task until a current or future date is found. If the task was not a recurring task. The due date will be replaced by a scheduled date in the past. The idea is to keep a record of "not doing" the action but the file will still show in your "Late" files while processing so you can choose what to do with it.
For example this task :

Will become like this :

And this task :

Will become like this :

It's possible to launch the Auto fail task command either in the current file Or in your whole vault.
Engage current file command
Added a command to use the "Engage" algorithm in the context of the current file. Meaning that this algorithm will only look fore files that are referencing the current file in a "Handled By" property.
Add time emoji command
Added a command to add the "⌚" emoji used to declare time on tasks.
Calendar Widget
Thanks 702573N for providing the baseline for it ! Check Obsidian-Tasks-Calendar for more documentation.
Main change : The calendar widget is now declared in the following form in a "Calendar" code block :
```Calendar
pages: ""
view: month
firstDayOfWeek: 1
options: style1
```
Instead of the folowing in a "dataviewjs" code block:
```dataviewjs
await dv.view("9.Archives/z.Obsidian Settings/CalendarView", {pages:"", view: "week", firstDayOfWeek: "1", options: "style4 noProcess noLayer filter"})
```
Added options
taskCountOnly
taskCountOnly: true
This parameter displays only the number of tasks on each days
disableRecurrence
disableRecurrence: true
Now you can see the recurring tasks every days they will appear in the future, not only the current day, if you want to disable this new feature set this parameter to true
hideFileWithProps
hideFileWithProps: Archived, Handled By
This filter will remove the tasks that are not checked and present in a file with a mentioned property, as Archived or Handled By in this example
Calendar block example
```Calendar
view: week
firstDayOfWeek: 1
options: style4 noProcess noLayer filter noDailyNote noCellNameEvent
pages: "2.Activities"
hideArchived: true
hideHandled: true
```
Timeline Widget
Thanks 702573N for providing the baseline for it ! Check Obsidian-Tasks-Timeline for more documentation
Main change : The calendar widget is now declared in the following form in a "Taskido" code block Instead of a "dataviewjs" codeblock :
```Taskido
parameter: "value"
parameter: "value"
parameter: true
parameter: "value value value value"
```
Added options
taskCountOnly
taskCountOnly: true
This parameter displays only the number of tasks on each days
disableRecurrence
disableRecurrence: true
Now you can see the recurring tasks every days they will appear in the future, not only the current day, if you want to disable this new feature set this parameter to true
hideFileWithProps
hideFileWithProps: Archived, Handled By
This filter will remove the tasks that are not checked and present in a file with a mentioned property, as Archived or Handled By in this example
numberOfDays
numberOfDays: 5
Choose the number of days you want to view in the future in your timeline
Timeline block example
```Taskido
pages: "2.Activities"
disableRecurrence: false
hideFileWithProps: Archived, Handled By
options: noCounters
options: noQuickEntry
```
Releases
3.0.0 : Release update
Info :
- Completely reviewed New Vault Template with Datacore ! Faster, cleaner, easier to learn and integrate into you vault, use the discord link to check it out using the above link !
Breaking changes :
- Engage feature now works with an exclusion list, update your plugin settings !
New :
- Mind-sweep Feature : Unload what's on your mind in minutes with a guided trigger list ! (config file needed !)
- Full plugin documentation (work in progress ) on https://docs.pers-os.com/
- Engage now take "Due actions" for the day before schedules actions
- Engage now take "Future due Actions" first before started action in the "Next" category
- Overhauled plugin settings for usability
Beta-feature :
- Profile view now use Datacore instead of Dataview.
- 28+ Datacore components that can be used across your vault (used in the Vault template !)
- Instrumental folders with added rules for processing
- Automatically move files to folders based on a property value
- Automatically apply a template to a file based on a property value
Incoming :
- Finished Plugin documentation
- New mission download feature for plugin Vault.
- Improve and document beta features
2.1.0 : Release update
Bug fix :
- Fixed Console "Display missing" error when completing a task.
New features :
- Process Feature upgrade : Process feature now also take into account a configuration for "Instrumental" folders. Instrumental notes need to "Support" another note to be considered processed.
- Auto move notes to folders based on a property value, inspired by Auto-Note-Mover plugin, but using a property instead of a tag.
2.0.2 : Release update
Info :
- Changed links to new vault template, find it in the official obsidian community or in the Personal OS discord New features :
- Added function support for Xp and progress calculation.
- Added Simple profile view (to be improved on)
- Added Command to launch profile view
2.0.1 : Release update
Bug fix :
- Fixed auto-fail not working in certain timezones.
- Added fail-safe to auto-fail to prevent infinite loop.
Old Releases
2.0.0 : Release update
Info :
- Changed link to New vault template, you can buy it from the site or find it free in the official Obsidian community ! New features :
- Added Calendar and Timeline supports ! Thanks 702573N !
- Added "Engage current file" command
- Added "Clock emoji" command Changes :
- Improved auto-fail using rrule, all types of recurrences managed by the task plugin now work with auto fail ! (try every monday, tuesday for example)
- Improved auto delay, now 2 commands are available, one to generate a date, and one to delay "All dates" in the current file. Bug fix :
- Fixed unexpected behavior on "Done" and "Due done" pages.
1.1.0 : Release update
Info :
- Link added in the setting to a New vault template ! filled with dashboards, plugins and tutorials on how to use the Personal OS method !
- Link added in the setting to a discord community if you need any help or want to talk about the Personal OS Vault !
- Link added in the setting to the plugin Github if you notice any bug or have a feature request ! New features :
- Added Progress Bar in plugin, preventing the need to use external services.
- Added an Engage current file to apply Engage logic to all files "Handled" by the current file
- Added a "Random date" feature to generate a random date between the usual snooze categories.
- Added a Feedback XP notice when finishing tasks, this can be disabled in the plugin config.
- Added a changelog modal when updating the plugin , this can be disable in the plugin config. Changes :
- Changed command names for Start Work and Start Process : Engage + Process
- Improved auto-change workspace by saving previous workspace
- Improved auto-change workspace by selecting a "Mobile" version of the workspace on mobile. Bug fix :
- Fix Engage feature to work properly with all tasks priorities
- Fix Random Snooze for due dates
- Fix auto fail current file to include current day. No change on failing all work in progress files.
- Fix done file showing when there were still files later
1.0.0: Initial Release
The first release of Personal OS !
- New : Start Work Command
- New : Start Process Command
- New : Random Snooze
- New : Auto Fail Tasks²