Decisions
- Pending: Manual skill vs automatic SessionEnd hook?
- Pending: One file per session or append to daily file?
User Tasks
Summary
Generate a human-readable summary of each work session — what was done, decisions made, blockers hit — to maintain continuity across sessions.
Problem / Motivation
- Git log shows file-level diffs but not the narrative: why changes were made, what was decided, what’s blocked.
- When resuming work days later, context is lost — the user has to reconstruct what happened.
- Session recap (FR-017) shows recent state at start, but nothing captures the session at end.
- Daily briefings (FR-062) need session summaries as input — without them, briefings lack “what happened yesterday.”
Proposed Solution
A /changelog skill (and optional SessionEnd hook) that generates a per-session summary in vault/30_daily/changes/. Captures: work done, FRs touched, decisions made, blockers, and suggested next steps. Feeds into briefings and session recap.
Open Questions
1. Trigger
Question: How should the changelog be generated?
| Option | Description |
|---|---|
| A) Skill + optional hook | /changelog on demand, SessionEnd hook as opt-in |
| B) Automatic only | SessionEnd hook always runs |
| C) Manual only | User runs /changelog when they want |
Recommendation: Option A — user control first, automation later.
Decision:
2. File Organization
Question: How should changelog entries be stored?
| Option | Description |
|---|---|
| A) One file per day | vault/30_daily/changes/2026-03-12.md, append per session |
| B) One file per session | vault/30_daily/changes/2026-03-12-session-1.md |
| C) Single rolling file | vault/30_daily/changes/changelog.md with date headers |
Recommendation: Option A — clean per-day organization, multiple sessions append.
Decision:
3. Content Source
Question: What data should the changelog capture?
| Option | Description |
|---|---|
| A) Git diff + AI summary | Analyze git changes since session start, summarize with context |
| B) Manual entry | User dictates what to log |
| C) Tracked events | Hook captures events during session, compile at end |
Recommendation: Option A — git diff is the source of truth, AI adds the narrative.
Decision:
Phase Overview
| Phase | Description | Status |
|---|---|---|
| Phase 1 | /changelog skill — generate session summary on demand | — |
| Phase 2 | SessionEnd hook — auto-prompt for changelog on session end | — |
| Phase 3 | Briefing integration — feed changelogs into daily briefing | — |
Phase 1: Changelog Skill —
Goal: A skill that analyzes the current session’s git changes and generates a human-readable summary.
| File / Feature | Details | Owner | Status |
|---|---|---|---|
.claude/skills/changelog/SKILL.md | Skill definition | opus | — |
vault/30_daily/changes/ | Output directory (exists) | opus | done |
| Changelog format | Date, session time, FRs touched, summary, decisions, next steps | opus | — |
Phase 2: SessionEnd Hook —
Goal: Automatically prompt for changelog generation when a session ends.
| File / Feature | Details | Owner | Status |
|---|---|---|---|
.claude/hooks/session-end-changelog.sh | Hook script | opus | — |
| Hook registration | Add to settings.json | opus | — |
Phase 3: Briefing Integration —
Goal: Daily briefing (FR-062) automatically includes yesterday’s changelog entries.
| File / Feature | Details | Owner | Status |
|---|---|---|---|
| Briefing section | ”Yesterday’s sessions” section in daily briefing | opus | — |
| Changelog reader | Parse changelog files for briefing compilation | opus | — |
Test
Manual tests
| Test | Expected | Actual | Last |
|---|---|---|---|
| … | … | pending | - |
AI-verified tests
| Scenario | Expected behavior | Verification method |
|---|---|---|
| … | … | … |
E2E tests
| Scenario | Assertion |
|---|---|
| … | … |
Integration tests
| Component | Coverage |
|---|---|
| … | … |
Unit tests
| Component | Tests | Coverage |
|---|---|---|
| … | … | … |
History
| Date | Event | Details |
|---|---|---|
| 2026-03-12 | Created | Identified as gap during FR renumbering review |
References
- FR-017 (Session Start Recap) — shows state at start; changelog captures state at end
- FR-062 (Daily Briefing System) — consumes changelog entries
vault/30_daily/changes/— output directory