Task Accountability Tracker
approvedby sattarip
Track your daily note engagement with statistics showing which days you didn't engage with your tasks. Includes streak tracking and customizable thresholds. - This plugin has not been manually reviewed by Obsidian staff.
Task Accountability Tracker
Hold yourself accountable by tracking which days you didn't engage with your daily notes.
What it does
This plugin scans your daily notes folder and shows you:
- Days Not Engaged: Days where you either didn't create a note or checked very few tasks
- Days Engaged: Days where you actively checked off tasks
- Current Streak: How many consecutive days you've been engaged
- Longest Streak: Your best streak in the time period
Features
- π Weekly, Monthly, and Yearly Views: See your engagement over different time periods
- π₯ Streak Tracking: Stay motivated with current and longest streaks
- βοΈ Customizable Threshold: Set your own minimum for what counts as "engaged" (default: 3 checked tasks)
- π Detailed Breakdown: See exactly which days you missed and why
- π Auto-Detection: Automatically finds your daily notes folder from Daily Notes or Periodic Notes plugin settings
Installation
Not in the Community Plugins store yet. Two ways to install:
BRAT β recommended, works on desktop and mobile, auto-updates
- Install the BRAT plugin from Community Plugins and enable it.
- BRAT β Add beta plugin β enter
SattaRIP/obsidian-task-accountability. - Enable "Task Accountability Tracker" in Settings β Community Plugins.
Manual (desktop)
- Download
main.js,manifest.json, andstyles.cssfrom the latest release. - Put them in
.obsidian/plugins/task-accountability/in your vault. - Enable it in Settings β Community Plugins.
Cycling task states on mobile
Mobile has no hotkeys, so run the cycle from the editing toolbar (the row above the keyboard):
- Mobile β Settings β Toolbar.
- Add the Cycle task state command β its button shows a
[x]glyph so it sits next to (and is distinct from) Obsidian's built-in checkbox-toggle button. - While editing, tap a task line, then tap the
[x]button to rotate through the states.
How to use
- Open the tracker: Click the bar chart icon (π) in the left ribbon, or use the command palette (Ctrl/Cmd+P) and search for "Open task statistics"
- View your stats: Switch between Week, Month, and Year views to see your engagement
- Check the details: Scroll down to see which specific days you missed and why
What counts as "engaged"?
By default, a day is considered "engaged" if you checked more than 3 tasks in your daily note. You can adjust this threshold in settings.
A day is "not engaged" if:
- You didn't create a daily note file for that day
- You created a note but checked β€3 tasks (or your custom threshold)
Only required tasks count toward engagement. Optional (!?) and if-necessary (?) tasks are excluded.
Scoring system
Basic percentage
Counts only leaf tasks β tasks with no children β to avoid double-counting a parent and its subtasks. Cancelled [-] tasks are ignored entirely.
percentage = done leaves Γ· total leaves Γ 100
Priority-weighted percentage (w:% in the status bar)
Only top-level tasks contribute here. Each gets a weight based on:
priority = importanceΒ² (i:N) Γ· difficulty (d:N) β default
Both default to 5 if unrated, so an unrated task has priority 5.0. A task rated i:8 d:2 has priority 32.0 β importance is squared so high-importance tasks grow disproportionately faster than low-importance ones, while difficulty still penalizes but can't cancel out a truly important task.
The formula can be changed in Settings β Task Accountability β Priority formula. Enter any math expression using i for importance and d for difficulty. Supports +, -, *, /, ^, and parentheses. Examples:
-
i*i/dβ importance-dominant (default) -
i/dβ balanced -
iβ ignore difficulty entirely -
(i*2)/dβ double the influence of importance -
Leaf root: contributes its full priority if done, 2/3 priority if procrastinated
[!] -
Parent root: contributes
priority Γ (done child-priority Γ· total child-priority)β the parent's rating sets its weight, and its children's own priorities determine what fraction is earned. Finishing a hard/important sub-step fills more of the parent than a trivial one, so thei:/d:you put on sub-tasks actually count.
How children count inside a parent
Each child contributes its own priority p (from its i:/d:, same formula as top-level tasks) as the unit:
| Child type | Empty [ ] | Done | Not done |
|---|---|---|---|
| Required | β | p / p | 0 / p |
If necessary ? | excluded | p / p | 0 / p |
Optional !? | excluded | p/3 / p/3 | 0 / p/3 |
Empty means literally untouched [ ]. Any other state β procrastinated, avoided, deferred β counts as filled in and follows normal state rules.
Optional children that are done contribute 1/3 of their priority to the parent. Optional children that are empty don't affect the score at all.
If-necessary children only count if you actually engaged with them. If left empty, they're treated as unnecessary and excluded.
Custom task states
| State | Meaning | Counts as |
|---|---|---|
[x] | Done | Done |
[/] | In progress | Done |
[!] | Procrastinated | Done (2/3 weight in priority score) |
[~] | Avoided | Not done |
[>] | Deferred | Not done |
[-] | Cancelled | Excluded from everything |
Rating symbols
| Symbol | Range | Effect |
|---|---|---|
i:N | 1β10 | Importance β rate 1β10, e.g. i:7 (symbol configurable in settings) |
d:N | 1β10 | Difficulty β rate 1β10, e.g. d:3 (symbol configurable in settings) |
? | suffix | If necessary β excluded if empty, full credit if filled in |
!? | suffix | Optional β excluded if empty, 1/3 bonus credit if done |
High-priority unchecked list
Any unchecked leaf task with i:7 or higher is flagged in the stats modal, shown as [i:8 d:3] Task name so you can see at a glance which high-importance tasks are still pending and how hard they are.
Settings
Access settings via Settings β Task Accountability:
- Daily notes folder: Path to your daily notes (auto-detected from Daily Notes plugin)
- Engagement threshold: Minimum number of checked tasks to count as "engaged" (default: 3)
- Default period: Choose Week, Month, or Year as your default view
- Period type: Rolling (last N days) or Calendar (current week/month/year)
- Importance symbol: Prefix for importance rating in task lines (default:
i:) - Difficulty symbol: Prefix for difficulty rating in task lines (default:
d:) - Priority formula: Math expression combining importance (
i) and difficulty (d) β defaulti*i/d
Requirements
- Works with Daily Notes (core plugin) or Periodic Notes (community plugin)
- Daily notes must be in markdown format (
.md) - Daily notes must have dates in
YYYY-MM-DDformat in the filename
Example
- [x] Write chapter outline i:8 d:3
- [x] Draft opening scene
- [!] Write dialogue β procrastinated, still counts as done
- [ ] Add epigraph !? β optional, left empty β excluded
- [ ] Reply to emails i:4 d:1
- [x] Exercise i:6 d:2 ? β if necessary, done β full credit
The weighted % is driven by the top-level tasks' priorities (8Γ·3 β 2.67, 4Γ·1 = 4.0, 6Γ·2 = 3.0). The parent task scores based on what fraction of its children are done, with the optional child invisible since it's empty.
Philosophy
This plugin is based on the idea that tracking engagement is more important than perfection. It's not about completing every single task β it's about showing up consistently and engaging with your daily notes.
The priority weighting means that finishing high-importance, low-difficulty tasks moves your score more than finishing unimportant or very hard ones. This nudges you toward doing the things that matter most and are actually within reach.
Support
Found a bug or have a feature request? Open an issue
Author
Created by Mythra PS
License
MIT
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.