daily_summary

Generate a comprehensive daily changelog for the current project — reads Issues.md, CHANGES.md, git history, and the conversation to produce a thorough report, then converts to Word

Daily Summary Generator

Generate a comprehensive daily changelog for any git project.

CRITICAL: Git commits alone tell less than 50% of the story.


Step 1 — Run the Data Collectors

# Git + project data
python3 ~/.claude/tools/generate_daily_changelog.py

# TODAY's session — reads live /tmp task files (current session, not yet archived)
python3 ~/.claude/tools/session_agent_report.py --markdown

# HISTORICAL trend — reads persisted log from prior sessions
# (today's data appears here only after this session ends and Stop hook fires)
# Use --project to filter to THIS project only (get project name from git remote or directory name)
python3 ~/.claude/tools/r2_stats.py --week --markdown --project <current-project-name>

Step 2 — Read Key Sources Before Writing (MANDATORY)

  • Session summary at the top of this conversation — if the context was compacted, this summary contains hours of work not visible in git. Always read this first.
  • docs/Issues.md — read the full file; every issue is a story about what went wrong and how it was solved
  • CHANGES.md — read the full file; every user-requested change with its status
  • Full git commit details — commit bodies, not just subject lines
  • The conversation — look for debugging sessions, rejected approaches, and decisions that never made it into a commit

If unsure whether anything was missed, ask: "Did we do anything else today I should include?"


Step 2b — Read Today's Time Blocks

Read ~/.claude/time/blocks/$(date +%Y-%m-%d).json and filter to the current project (git repo basename for the cwd, with project_names.json variant map applied).

Also read matching entries from ~/.claude/time/siri_time.log for today.

Add a "Time Logged Today" section to the changelog listing every matching block with its start–end time, hours, and summary. Tag Siri-sourced rows with 📞 siri. Example:

## Time Logged Today

- 09:12–11:30  2.30h  Fixed login redirect loop; added session tests.
- 14:05–16:00  1.95h  ⚠ unattended — Refactored template partials.
- 📞 siri  0.75h  Voice config tuning (retroactive).

Total: 5.00h

If the blocks file is missing, skip this section silently — it just means the tracker hasn't yet run for today.


Step 3 — Generate the Changelog

Include ALL of these sections:

  1. Executive Summary — 2-3 sentences covering the entire day
  2. Change Requests — from CHANGES.md with status (✅ / ⚠️ / ❌)
  3. Issues Logged & Resolved — problem → solution for each
  4. Technical Details — HOW things were implemented, with code snippets
  5. Problems Encountered — what failed, what was tried, what finally worked
  6. Testing Results — results and coverage
  7. Metrics — commits, files, lines, build times, repo size, etc. 7a. Agent Usage (Today) — paste the FULL raw table from session_agent_report.py --markdown verbatim. Top 10 by cost, session total, total tokens. If no task files were found, write "No agent task data available (tmp files cleared)" — do NOT omit the section. 7b. Token Trend (Week) — paste the FULL raw table from r2_stats.py --week --markdown --project <name> verbatim. This project only — do NOT include other projects' token usage. Note: today's row appears after session ends. This section is MANDATORY — always include it even if session agent data is missing.
  8. Architecture Decisions — why certain approaches were chosen
  9. Outstanding Work / Tech Debt — incomplete items
  10. Next Steps — clear, actionable items

Step 4 — Save, Convert, and Archive

  1. Save to docs/md/[PREFIX] CHANGELOG_YYYY-MM-DD_v1.0.md
  2. Run /md_to_word --files <file> --open
  3. Run python3 ~/.claude/tools/archive_old_docs.py
  4. Run python3 ~/.claude/tools/archive_session.py — snapshot current session to R2 and write token log. (The Stop hook will re-run this when the session eventually closes, overwriting with the complete final archive.)