Sukrita Panigrahi31 downloadsTrack study sessions and write your path through the notes, with optional recall questions, into your daily note.
Track focused study sessions in Obsidian and see what you studied in your daily note, with optional recall questions to test what stuck.
Start a session, study in your vault as usual, stop the session. Today I Learnt records which notes you worked on, for how long and how you moved between them, then writes it into that day's daily note. Turn on Grill me to also get questions on what you studied.
After stopping a session, your daily note gets a block like this:
%% study-session:start id=2026-10-20T09-03-12-000Z-session %%
> [!study] Study session · 09:03–09:51 · 48m
> **Notes:** 3 touched, 1 created
>
> **Path**
> ```mermaid
> flowchart LR
> n0["Kafka"]
> n1["Partitioning"]
> n2["Consumer Groups"]
> n0 --> n1
> n1 -.-> n2
> class n0,n1,n2 internal-link;
> ```
> [[Kafka]] → [[Partitioning]] → [[Consumer Groups]]
>
> **Grill me**
> *How Kafka scales reads without giving up ordering.*
> 1. Why does [[Partitioning]] only guarantee order within a partition, not across a topic?
> 2. What happens in [[Consumer Groups]] when a consumer joins mid-stream?
%% study-session:end %%
In the diagram, solid arrows mean you followed a link; dotted arrows mean you got there another way (search, file explorer, quick switcher). Click a node to open the note.
The %% … %% lines are Obsidian comments, hidden in reading view. They let the plugin find its own
block. Each session gets its own block, so several sessions in a day stack up.
Cmd/Ctrl + P).No hotkeys are assigned by default. Add your own under Settings → Hotkeys if you like.
Daily note
| Setting | Description |
|---|---|
| Show note counts | Show how many notes were touched and created. |
| Find daily note | Automatic follows your Daily Notes / Periodic Notes settings. Use path below always uses the path. |
| Daily note path | Used when chosen above, or when no daily notes plugin is on. {{date}} becomes 2026-10-31; {{date:DD-MM-YYYY}} picks a format. |
Grill me (off by default; the options below appear when it's on)
| Setting | Description |
|---|---|
| Claude API key | Enables Claude-written questions. Get one at console.anthropic.com. Without a key, offline questions are used. |
| Model | Haiku (fast, cheapest) or Sonnet (sharper questions). |
| Number of questions | 3, 5 or 8. |
| Send note content | On: short excerpts of the notes you worked on are sent, for better questions. Off: only note titles, tags and times are sent. |
Please read this before turning on Grill me with an API key.
api.anthropic.com) to write the questions. This includes note
titles, tags, time spent, the order you visited notes, and — if Send note content is on —
excerpts of up to 10 notes you worked on (at most 1,500 characters each). See
Anthropic's privacy policy..obsidian/plugins/today-i-learnt/data.json. If you
sync your vault (Obsidian Sync, iCloud, git, etc.), the key syncs with it. Don't commit this file
to a public repository.Captured (inside your vault only): Markdown notes opened, created, modified, renamed, deleted; time per note; links followed; tags added.
Not captured: anything outside Obsidian — browser activity, web searches, other apps — and reading position inside PDFs.
Time per note counts the time a note was the active one. Long idle gaps are capped at 20 minutes so leaving Obsidian open doesn't inflate your study time.
.obsidian/plugins/today-i-learnt/sessions/,
holding the raw activity and questions. They are kept out of your visible notes.Search for Today I Learnt in Settings → Community plugins → Browse (once published).
Install the BRAT plugin, then add
sukritaz/today-i-learnt-extension as a beta plugin.
main.js, manifest.json and styles.css from the
latest release.<your vault>/.obsidian/plugins/today-i-learnt/ and put the three files in it.Requires Node.js 20+.
npm install
npm run dev # rebuild on every change
npm run build # production build
npm run lint # lint with Obsidian's rules
npm test # unit tests
For local testing, link this folder into a test vault (not your real one):
ln -s "$(pwd)" /path/to/test-vault/.obsidian/plugins/today-i-learnt
Install Hot-Reload in the test vault to reload the plugin automatically after each build.
The product spec, including the code layout, is in docs/PRD.md.