Daily Work Journal
Manages daily work notes with configurable format (org-mode or markdown) and paths for cross-platform support.
First-Time Setup
On first use, check if config.json exists in this skill directory (~/.cursor/skills/daily-journal/config.json on Unix, %APPDATA%\Cursor\skills\daily-journal\config.json on Windows).
If config.json is missing, prompt the user:
"What note format do you prefer?"
- a) org-mode (.org) - for Emacs users
- b) markdown (.md) - for VS Code, Obsidian, Typora, etc.
"Where should your journal be stored? (provide full path)"
"Which directories contain your git repositories? (comma-separated full paths)"
"What's your name for the journal author field?"
"What's your git username or email for filtering commits?"
Create config.json with the answers:
{
"note_format": "org",
"journal_path": "<user provided path>",
"repo_search_paths": ["<path1>", "<path2>"],
"author_name": "<user provided name>",
"git_author_filter": "<git username/email>"
}
After creating config, proceed with the journal operation.
Configuration Reference
| Field | Description | Values |
|---|---|---|
note_format |
File format for notes | "org" or "markdown" |
journal_path |
Root directory for journal files | Full path |
repo_search_paths |
Directories to scan for git repos | Array of paths |
author_name |
Name used in file headers | String |
git_author_filter |
Git author for log filtering | Username or email |
Directory Structure
File extension is .org or .md based on config.note_format.
<journal_path>/
├── index.<ext> # Hierarchical index
└── YYYY/ # Year directory
└── wwXX/ # Work week directory (ISO week number)
├── YYYY-MM-DD.<ext> # Daily notes
└── weekly-summary.<ext> # Weekly summary (created Sunday)
Data Sources
Before creating a daily note, gather context from:
1. Shell history (today's commands)
Auto-detect based on OS:
- Unix/macOS: Check
~/.zsh_historyand~/.bash_history - Windows: Run
(Get-PSReadLineOption).HistorySavePathin PowerShell
Filter for today's commands.
2. Emacs history (if exists)
Check for these files (skip if not found):
Standard Emacs:
~/.emacs.d/history- minibuffer command history~/.emacs.d/recentf- recently opened files
Doom Emacs:
~/.config/emacs/.local/cache/recentf- recently opened files~/.config/emacs/.local/etc/transient/history- magit/transient command history
Extract: files worked on, git operations (commits, rebases, pushes), search patterns.
3. Cursor agent transcripts
Auto-detect location:
- Unix/macOS: Scan
~/.cursor/projects/*/agent-transcripts/*.jsonl - Windows: Scan
%APPDATA%\Cursor\projects\*\agent-transcripts\*.jsonl
Read recent transcripts to extract: code changes, features discussed, bugs fixed.
4. Git logs (today's commits)
For each path in config.repo_search_paths:
- Unix/macOS:
find <path> -name ".git" -type d - Windows:
Get-ChildItem -Path <path> -Recurse -Directory -Filter ".git"
In each repo, run:
git log --oneline --since="today" --author="<config.git_author_filter>"
5. Current conversation context
Creating a Daily Note
Step 1: Load configuration
Read config.json from skill directory. If missing, run First-Time Setup.
Step 2: Determine file path
Calculate the ISO week number and create the path:
- Path:
<journal_path>/YYYY/wwXX/YYYY-MM-DD.<ext> - Extension:
.orgifnote_formatis "org",.mdif "markdown"
Create the year and week directories if they don't exist.
Step 3: Gather context
Read the data sources listed above. Focus on:
- Commands that indicate debugging (repeated grep, find, git commands)
- Code changes from agent transcripts
- Git commits made today (features, fixes, refactors)
- Features implemented
- Errors encountered
Step 4: Create the daily note
Use the appropriate template based on config.note_format:
Org-mode template (.org)
#+TITLE: YYYY-MM-DD (Weekday)
#+AUTHOR: <config.author_name>
* Summary
One paragraph overview of the day's work.
* Work Done
** [Feature/Task Name]
- What was implemented (2-3 lines)
- Key decisions or approach taken
- Links: [[url][description]]
* Learnings
** [Topic]
- Key insight or new knowledge (3-6 lines max)
- Why it matters
* Blockers/Bugs
** [Issue description]
- Root cause identified
- Time/effort spent debugging
- Impact on productivity
- Resolution or workaround
Markdown template (.md)
# YYYY-MM-DD (Weekday)
**Author:** <config.author_name>
## Summary
One paragraph overview of the day's work.
## Work Done
### [Feature/Task Name]
- What was implemented (2-3 lines)
- Key decisions or approach taken
- Links: [description](url)
## Learnings
### [Topic]
- Key insight or new knowledge (3-6 lines max)
- Why it matters
## Blockers/Bugs
### [Issue description]
- Root cause identified
- Time/effort spent debugging
- Impact on productivity
- Resolution or workaround
Step 5: Update index
Add entry to <journal_path>/index.<ext> under the correct year and week.
Org-mode index
* 2026
** ww09 (Feb 24 - Mar 02)
- [[file:2026/ww09/2026-02-24.org][Mon 2026-02-24]]
If index.org doesn't exist, create with:
#+TITLE: Work Journal Index
#+AUTHOR: <config.author_name>
Markdown index
# Work Journal Index
**Author:** <config.author_name>
## 2026
### ww09 (Feb 24 - Mar 02)
- [Mon 2026-02-24](2026/ww09/2026-02-24.md)
Creating Weekly Summary
Run every Sunday. Create at <journal_path>/YYYY/wwXX/weekly-summary.<ext>.
Step 1: Read all daily notes for the week
Read all notes in the current week directory (excluding weekly-summary).
Step 2: Create summary
Org-mode weekly summary
#+TITLE: Week XX Summary (Mon Date - Sun Date)
#+AUTHOR: <config.author_name>
* Highlights
- Top 3-5 accomplishments this week
* Features Implemented
- List of features with brief descriptions
* Key Learnings
- Consolidated learnings from daily notes
* Blockers Encountered
- Summary of bugs/blockers and resolutions
* Productivity Notes
- Patterns observed (what slowed you down, what helped)
* Next Week
- Carry-over items or planned focus areas
Markdown weekly summary
# Week XX Summary (Mon Date - Sun Date)
**Author:** <config.author_name>
## Highlights
- Top 3-5 accomplishments this week
## Features Implemented
- List of features with brief descriptions
## Key Learnings
- Consolidated learnings from daily notes
## Blockers Encountered
- Summary of bugs/blockers and resolutions
## Productivity Notes
- Patterns observed (what slowed you down, what helped)
## Next Week
- Carry-over items or planned focus areas
Step 3: Update index
Add weekly summary link under the appropriate week.
Formatting Guidelines
Org-mode
- Headings:
* Level1,** Level2,*** Level3 - Links:
[[url][description]]or[[file:path.org][name]] - Emphasis:
*bold*,/italic/,_underline_,~code~
Markdown
- Headings:
# Level1,## Level2,### Level3 - Links:
[description](url)or[name](path.md) - Emphasis:
**bold**,*italic*,`code`
Both formats
- Each bullet point: 3-6 lines maximum
- Keep notes human-readable and scannable
- Focus on work and learnings, not personal items
Detecting Bugs/Inefficiencies
Signs of debugging or inefficiency in shell history:
- Repeated similar commands (grep, find, git diff)
- Multiple failed command attempts
- Long sequences of cd/ls navigation
- Repeated test runs
When detected, note:
- What was being searched for
- How long the pattern persisted
- What finally resolved it