Skip to main content

daily-claude-log

Automatically extract and summarize your Claude Code sessions into daily reports. Zero dependencies beyond Python 3.9+ stdlib.

What it does

  1. Collects structured data from Claude Code session transcripts (JSONL files) -- files touched, tools used, commits, MRs/PRs, Jira tickets, user questions, assistant responses
  2. Stores everything in a local SQLite database, split by local date (sessions spanning midnight are correctly attributed to each day)
  3. Generates daily summaries using Claude (Haiku) via a Claude Code skill
  4. Outputs reports as reports/<date>/full.md and reports/<date>/digest.md

The collection is pure Python (no LLM calls). Only the summary generation uses an LLM, and the prompt is pre-compressed to ~2-8KB so Haiku handles it cheaply (~15-20k tokens per day).

Install

From PyPI

pip install daily-claude-log

From source (development)

git clone https://github.com/andre-motta/daily-claude-log.git
cd daily-claude-log
pip install -e .

Claude Code hooks and skills

After installing the package, run the installer to set up the SessionEnd hook and Claude Code skills:

git clone https://github.com/andre-motta/daily-claude-log.git
cd daily-claude-log
bash install.sh

The installer will:

  • Install the package via pip (editable mode)
  • Add a SessionEnd hook to Claude Code (auto-collects when sessions end)
  • Install /daily-summary and /collect-session skills

Environment variables

Variable Description Default
DCL_DATA_DIR Where the SQLite DB and reports are stored. Can be a private git repo. ~/.daily-claude-log
DCL_CLAUDE_DIR Where Claude Code stores its data (transcripts, etc). ~/.claude

Add these to your shell profile (~/.bashrc, ~/.zshrc, or equivalent):

export DCL_DATA_DIR=~/path/to/your/private/log/repo

Usage

CLI

# Show today's sessions
daily-claude-log status

# Backfill last 30 days of sessions
daily-claude-log backfill --days 30

# List all dates with data
daily-claude-log list-dates

# Generate summary prompt (for manual LLM use)
daily-claude-log prompt --date 2026-08-04

# Store a generated summary
daily-claude-log store-summary 2026-08-04 /tmp/summary.md

# Export session data as JSON
daily-claude-log export --date 2026-08-04

# Print version
daily-claude-log version

Claude Code skills

Inside Claude Code:

  • /daily-summary -- Collect today's sessions, generate an AI summary (uses Haiku), and store the report. Optionally commits to your data repo.
  • /daily-summary 2026-08-01 -- Generate summary for a specific date.
  • /collect-session -- Manually trigger collection of the current session.

Automatic collection

After installation, a SessionEnd hook runs automatically when you exit Claude Code, collecting the session into the database. No action needed.

Data model

Sessions are stored in SQLite with a composite primary key (session_id, date). A single Claude Code session that spans multiple days (via claude -r / resume) is split into separate rows per date, each containing only the activity from that day.

Each row tracks:

  • Session ID, project, title, timestamps
  • Active duration (computed from message gaps, handles --resume correctly)
  • Files touched, tools used (with counts)
  • Commits, MR/PR links, Jira tickets
  • User message snippets, assistant response snippets

Reports are stored as:

$DCL_DATA_DIR/
  recap.db                    # SQLite database
  reports/
    2026-08-04/
      full.md                 # Full daily report
      digest.md               # One-paragraph digest
    2026-08-03/
      ...

Committing to git

If $DCL_DATA_DIR is a git repo, the /daily-summary skill will offer to commit and push after generating a report. The SQLite DB is small (typically <1MB) and works fine in git.

Uninstalling

# Remove hooks and skills
cd daily-claude-log
bash uninstall.sh

# Remove the package
pip uninstall daily-claude-log

Your data in $DCL_DATA_DIR is preserved.

License

Apache-2.0

Metadata

Release files for daily-claude-log 0.3.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for daily-claude-log 0.3.0
File Size Uploaded
daily_claude_log-0.3.0.tar.gz 17.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for daily-claude-log 0.3.0
File Interpreter ABI Platform
daily_claude_log-0.3.0-py3-none-any.whl Python 3 none any Details

Total release size: 32.3 kB

Release files / daily_claude_log-0.3.0.tar.gz

Download URL daily_claude_log-0.3.0.tar.gz
Size 17.1 kB
Tags Source
SHA-256 checksum
How to use checksums
7fd2a7cbc8d9528eeec62eca1f18deb74cc5d9737cfed5446f4f9ac4d9b30ff1
BLAKE2b-256 checksum
How to use checksums
aaa58a8e0e858553215da25d6e373f3ce710b100c6570fe68fb85faf25e6a9bd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 7, 2026.

Transparency log

Release files / daily_claude_log-0.3.0-py3-none-any.whl

Download URL daily_claude_log-0.3.0-py3-none-any.whl
Size 15.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
c70cd05fc911a19f46ca951c8468b197f7196ee7a28b41fb62f388ae9d93ada7
BLAKE2b-256 checksum
How to use checksums
254bd111455c789c7ff70d98c847c8e52bf13320f0dbc0bfce25385396ba60e4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 7, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.3.0 This release

2 release files

0.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page