Use when working with Jeff's org-roam notes, daily journals, agenda system, or capture workflows for personal knowledge management
Personal Knowledge Management: Jeff uses org-roam for bidirectional linking, daily journals, and agenda/task management.
Core principle: Atomic notes + bidirectional links + daily journals + agenda integration = knowledge system
Use this skill when:
| Task | Function | Keybinding |
|---|---|---|
| Find/open note |
org-roam-node-find |
C-c n f |
| Insert link | org-roam-node-insert | C-c n i |
| Create note | org-roam-capture | C-c n c |
| Today's journal | org-roam-dailies-goto-today | C-c n d |
| Refresh agenda | jf/refresh-org-agenda-files | C-c r |
| Open agenda | org-agenda | C-c a |
| Show backlinks | org-roam-buffer-toggle | (manual) |
~/org/
├── roam/ # org-roam-directory
│ ├── dailies/{hostname}/ # Machine-specific journals (YYYY-MM-DD.org)
│ └── *.org # Knowledge notes (timestamp-slug.org)
└── agenda/ # Other org files
Agenda scans: ~/org/ and ~/src/dotfiles/emacs/ recursively
C-c n d opens today's journal~/org/roam/dailies/{hostname}/YYYY-MM-DD.orgC-c n c creates note with timestamp + slug filenameC-c n i links to existing note (creates if missing)C-c n f finds and opens notesorg-roam-buffer-toggleStandard (org-roam-capture-templates):
Web (org-roam-capture-ref-templates):
Template structure:
'(("key" "description" plain "%?"
:if-new (file+head "path/${slug}.org" "#+title: ${title}\n")
:unnarrowed t))
org-roam-directory: ~/org/roam/org-roam-dailies-directory: dailies/{hostname}/find-file-visit-truename: Follow symlinksorg-roam-completion-everywhere: Enable in all org filesC-c r| Property | Purpose | Example |
|---|---|---|
#+title: | Note title | #+title: Emacs Configuration |
ROAM_REFS | External URLs | :ROAM_REFS: https://example.com |
| Tags | Categorization | #+filetags: :emacs:config: |
Setup: Requires (server-start) in config
Usage: Browser bookmarklet → captures page with URL as ROAM_REFS
Integration: Works with browser-hist for history analysis
| Mistake | Why Bad | Fix |
|---|---|---|
| Agenda files stale | Missing TODOs | Run C-c r to refresh |
| Wrong dailies directory | Can't find journals | Check org-roam-dailies-directory matches hostname |
| No backlinks | Isolation, no connections | Use C-c n i to create links |
| Server not running | Protocol won't work | Add (server-start) to config |
| Absolute paths in templates | Breaks portability | Use relative paths or variables |
| Not using machine-specific dailies | Work/personal mixing | Use {hostname} in dailies path |
C-c n i frequently