Diary
Skill clairem0/technically-curious-skills/self-learning/diary
Extract structured insights from Claude Code sessions and save as diary entries. Use at the end of a work session, after completing a significant task, or periodically to stay caught up.From its SKILL.md
npx -y skills add clairem0/technically-curious-skills --skill diaryAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
- 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
5.1 KB, ~1.2k tokens by cl100k_base, as published. Nobody here has run it
Diary
Capture insights from your Claude Code sessions — what was decided, what was built, what patterns emerged. Designed to build a searchable record of your work over time.
Connectors
No external connectors needed. Uses Claude Code built-in tools (Read, Write, Bash).
Setup
This skill reads your Claude Code session history and writes diary entries to a folder you choose. A little one-time setup is needed:
1. Create your diary folder
Pick a location where diary entries will live. This should be a folder you can search later — ideally version-controlled so entries are backed up.
mkdir -p ~/diary
cd ~/diary && git init # optional but recommended
Update the Diary entries path in env.md to match.
2. Find your session transcripts
Claude Code stores session data locally. The path depends on which project you're working in:
~/.claude/projects/[project-path-with-dashes]/sessions-index.json
For example, if your project is at /Users/you/code/my-app, the sessions index would be at:
~/.claude/projects/-Users-you-code-my-app/sessions-index.json
To find yours, run:
ls ~/.claude/projects/
Look for the directory that matches your project path (with slashes replaced by dashes). Update the Session transcripts path in env.md.
3. Confirm env.md paths
Your env.md should have:
| Setting | Path |
|---|---|
| Diary entries | ~/diary/ (or your chosen location) |
| Session transcripts | ~/.claude/projects/-Your-project-path/ |
Workflow
Step 1: Find Sessions to Process
-
Get cutoff date from the most recent diary entry:
ls ~/diary/*.md | sort | tail -1Extract the date from the filename (YYYY-MM-DD pattern).
-
Read the sessions index (path from
env.md):~/.claude/projects/[your-project-path]/sessions-index.json -
Filter sessions to process — include sessions where:
- Modified after the cutoff date
- Has 6+ messages (skip trivial sessions)
- Is not a side-chain
- Has a summary or first prompt to reference
Step 2: Analyze Sessions
For each session, extract:
- Key decisions — What was decided and why
- What was built — Features, fixes, changes
- Patterns observed — Recurring themes, approaches that worked or didn't
- Tool efficiency (optional) — Were tools used well? Repeated reads? Sequential calls that could be parallel?
Step 3: Present Summary
Show a table for review before writing:
| Date | Summary | Messages | Efficiency |
|------|---------|----------|------------|
| Mar 1 | Built email skill with contact lookup | 42 | good |
| Mar 1 | Debugged calendar auth flow | 28 | mixed |
| Feb 28 | Research on MCP server patterns | 65 | good |
Sessions found: X sessions since [cutoff date]
If no sessions found: "All caught up! No new sessions since [date]."
Step 4: Generate Entry
Create a consolidated entry covering all sessions:
Filename: YYYY-MM-DD-catchup.md
---
date: YYYY-MM-DD
tags: [tag1, tag2, tag3]
sessions: N
---
## [Date Range or Theme]
### [Date]
**[Summary 1]**
- Key decisions or insights
- What was accomplished
**[Summary 2]**
- Key decisions or insights
### Themes
- [Recurring patterns across sessions]
- [Technical focus areas]
Step 5: Save (and optionally push)
Write to your diary folder, then optionally commit and push:
cd ~/diary && git add . && git commit -m "Add diary: [date range summary]" && git push
Error Handling
| Scenario | Response |
|---|---|
| No new sessions | "All caught up! No sessions since [date]." |
| Sessions without summaries | Use the first prompt (first 100 chars) as fallback |
| Very long gap since last entry | Group by week, summarize themes |
Customization Notes
How to adapt this skill to your own setup.
- Tags — The tag categories in the entry format are a starting point. Add domain-specific tags for your work (e.g.,
frontend,data-pipeline,client-work). - Tool efficiency tracking — This is optional but valuable over time. You can add a script that parses session transcript JSONL files and reports: total tool calls, breakdown by tool, files read 3+ times (inefficiency signal), and sequential calls that could be parallel. Track a simple score (good / mixed / needs improvement) per session. Over time,
/reflectcan spot patterns like "you keep re-reading the same config file" and propose workflow improvements. - Entry format — Adjust the markdown template to match what you find useful to look back on. Some people prefer more narrative; others want just bullet points.
- Current session mode — Add a
/diary thisvariant that captures just the current conversation without scanning past sessions. - Integration with reflect — After 3-5 diary entries, the
reflectskill can analyze patterns and suggest system improvements.
What ships with it
Read from the repository
Just SKILL.md. No reference files, no scripts.