[FEATURE] Generate Cross-project daily report from session history

Resolved 💬 3 comments Opened Feb 28, 2026 by Suto-Michimasa Closed Mar 31, 2026

Preflight Checklist

  • [x] I have searched existing requests and this feature hasn't been requested yet
  • [x] This is a single feature request (not multiple features)

Problem Statement

Claude Code stores rich session transcripts in ~/.claude/projects/ — JSONL files with timestamps, user prompts, tool calls, and file changes — but there's no built-in way to aggregate this data across projects into a daily work summary.

Developers working across multiple projects throughout the day have no easy way to answer "what did I accomplish today?" without manually reviewing each session. This is a common need for standup prep, personal productivity tracking, and work logging.

Existing commands don't cover this:

  • /export handles a single session only
  • /insights shows monthly usage patterns, not daily content summaries
  • /stats provides numerical data without context about what was actually done

Proposed Solution

A built-in command (e.g., /daily-report) that:

  1. Scans ~/.claude/projects/ for sessions active on the target date
  2. Extracts key activities per project: summaries, files changed, decisions made
  3. Generates a structured Markdown report

Example usage:

# In Claude Code
> /daily-report
> /daily-report 2025-06-15

# Headless
claude -p "/daily-report" --output-format text > ~/daily-reports/$(date +%Y-%m-%d).md

Example output:

Example output

# Daily Report — 2025-06-15

## 🏆 Today's Highlights
- Dashboard loading time reduced from 3.2s to 0.8s by eliminating N+1 queries
- Designed and got team approval on the notification system API spec

## 📋 Tasks by Project

### team-dashboard — 3 sessions, 24 prompts

- [x] Investigate and fix slow dashboard loading (N+1 query in user list endpoint)
- [x] Review PR #248 — notification preference migration
- [-] Add real-time updates via WebSocket (remaining: reconnection logic)

### personal-blog — 1 session, 8 prompts

- [x] RSS feed generation with full-text content
- [-] Dark mode toggle (remaining: system preference detection)
- [ ] OGP image auto-generation (blocked: need to choose a library)

## 💡 Learnings
- PostgreSQL's `EXISTS` subquery outperforms `JOIN + DISTINCT` for "has any" checks — reduced the query from 1.2s to 40ms
- When designing notification APIs, separating delivery channel (email/push/in-app) from notification type keeps the schema flexible

## ⏭️ Next Actions
- Implement WebSocket reconnection with exponential backoff (team-dashboard)
- Choose between @vercel/og and satori for OGP image generation (personal-blog)
- Prepare demo for Wednesday's team sync

Alternative Solutions

| Approach | Limitation |
|---|---|
| /export per session | Single session only; manual aggregation across projects |
| /insights | Monthly usage patterns, not daily content summaries |
| /stats | Numerical statistics without content context |
| External tools (ccusage, claude-code-log) | Cost/token-focused visualization; no content summarization |
| Custom plugin (session-tools) | Works well, but a built-in command would have direct access to session indexes and better performance |

Priority

Medium - Would be very helpful

Feature Category

CLI commands and flags

Use Case Example

  1. I work across 3-4 projects daily using Claude Code (main product, side project, internal tools)
  2. At 6pm, I run /daily-report to generate a summary of the day
  3. The report shows me: what I completed, what's still in progress, and what to pick up tomorrow
  4. I use this for the next morning's planning and as a checkpoint for semi-annual performance reviews
  5. In headless mode, this can be automated via cron to generate reports without manual intervention
  6. I'm also exploring using Cowork Scheduled Tasks to run this automatically every day — a built-in command would integrate naturally with that workflow

Additional Context

Reference implementation: I've built this as a plugin at session-tools. Install via:

claude plugin install github:Suto-Michimasa/cc-session-tools
claude plugin enable session-tools

The plugin reads .jsonl session files, extracts user prompts and tool calls, and generates a report following a customizable Markdown template. It supports configurable output directory, language, and custom templates.

This demonstrates the feature is feasible with existing session data. A built-in command would provide better performance (direct access to session indexes) and a smoother UX.

All required data already exists locally — no new data collection or API access is needed:

  • ~/.claude/projects/{project}/{session-uuid}.jsonl — full transcripts
  • ~/.claude/projects/{project}/sessions-index.json — session metadata (where available)

View original on GitHub ↗

This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗