A Claude Code skill that turns a day of git activity into a rich narrative work journal — plus a rolling project summary that stays readable over time.
Good for:
- End-of-day review — what actually happened today, not just a commit list.
- Team sync / standup — someone who missed the day can read one page and know where things stand.
- Changelog source material — user-facing bullets drafted as a byproduct.
Each run writes two files (default location docs/journal/):
<YYYY-MM-DD>.md— the day's entry: narrative overview, contributors, 3–5 "efforts" grouped by theme (not by commit), decisions, problems, risks, in-flight work, and a draft changelog.SUMMARY.md— a rewritten rolling summary: where things stand, this week's highlights, active work streams, open items, key decisions, recurring patterns.
See examples/ for sample output.
Recommended — the skills CLI. One command, no manual file copying, and it installs into whichever agents you have (Claude Code, Codex, Cursor, and more):
# Per-project (the journal lives with the repo)
npx skills add jaymay549/journal
# User-wide (available in every repo)
npx skills add jaymay549/journal --globalManual install (curl or git clone)
Per-project:
mkdir -p .claude/skills/journal
curl -fsSL https://raw.githubusercontent.com/jaymay549/journal/main/SKILL.md \
-o .claude/skills/journal/SKILL.mdUser-wide:
mkdir -p ~/.claude/skills/journal
curl -fsSL https://raw.githubusercontent.com/jaymay549/journal/main/SKILL.md \
-o ~/.claude/skills/journal/SKILL.mdOr clone and copy:
git clone https://github.com/jaymay549/journal.git
cp journal/SKILL.md .claude/skills/journal/SKILL.mdIn Claude Code, any of these work:
write a journal entrysummarize today's work/journal(if you've wired it as a slash command)journal for 2026-04-15(specific date)
The skill will:
- Collect today's commits across all branches (not just yours) plus uncommitted work.
- Read prior entries so it knows what was in flight.
- Write the daily entry and rewrite the rolling summary.
- Date — defaults to today. Pass
YYYY-MM-DDto backfill. - Output directory — defaults to
docs/journal/. If that doesn't fit your repo layout, the skill will ask. - Timezone — uses the repo's local timezone (whatever
git loguses by default). Worth noting if your team spans zones.
- All contributors, all branches. Team context beats personal context for a shared journal.
- Narrative, not bullets. Each effort reads like a brief from a smart colleague — problem, approach, resolution, status.
- Rolling summary gets better over time, not just longer. Completed items leave the "open" list.
- Lightweight-first data gathering.
--statbefore full diffs, so busy days don't blow the context window.