Claude Code Receipts
Turn local Claude Code sessions and Git history into a shareable impact report.
The skill limits collection to local ~/.claude/projects transcripts and local git, states that it makes no network or extra API calls, and discloses that the final model receives only a small aggregate summary. It also warns that project names may be sensitive and that publication is off by default. Deductions reflect the broad transcript read scope, transmission of the user name, metrics, and repository names to the final model, and the lack of explicit per-run confirmation, sensitive-field redaction, overwrite/rollback, or permission-isolation details.
The instructions and script show argument validation, invalid-date errors, UUID deduplication, exclusion of failed tool calls, path normalization, git timeouts, and deterministic local HTML generation, providing useful failure feedback. Deductions reflect static-only review, no visible committed tests covering key paths, and incomplete supplied script evidence near its end; the score remains below the static execution ceiling.
Triggers, command entry point, period parameters, repository filtering, output formats, and non-publication boundaries are clearly described for developers needing a local Claude Code usage/impact report. Deductions reflect dependence on Claude Code's local transcript layout, unspecified behavior for unsupported log formats or missing environments, and the absence of Chinese-language guidance; the core mining is offline and does not entirely depend on mainland-inaccessible services.
SKILL.md provides strong stepwise organization, input mapping, a JSON schema, field semantics, report structure, privacy warnings, and run instructions; the repository README, Apache-2.0 license, and Anthropic maintenance context provide basic governance signals. Deductions reflect the absence of a skill-specific version, changelog, FAQ, explicit maintainer, or clear upgrade path, plus limited dependency-version policy.
The stated goal is to produce directly usable Markdown and self-contained HTML receipts from local records, with project, activity, commit, and PR aggregates while avoiding fabricated dollar or time-saved claims. Deductions reflect the lack of statically verifiable representative outputs or execution evidence and the need for user review and manual addition of concrete wins; the score is capped by static calibration.
The source explains data origins, aggregation rules, exclusions, project attribution, and relative-token weighting in enough detail for partial auditing. Deductions reflect the absence of key-path test results, independent corroboration, or reproducible examples; the repository CI shown does not demonstrate execution coverage for this skill, so the score is capped at the static limit.
- The run scans local ~/.claude/projects transcripts and may send the user name, repository names, and aggregate metrics to the final model; confirm the data boundary in shared or regulated environments.
- Project directory names may expose clients, internal projects, or confidential codenames; use --repo and review both outputs before sharing.
- This review did not execute the script or verify real outputs, cross-platform behavior, or long-history performance; unusual log formats, permissions, and missing dependencies remain unverified.
What it does & when to use it
Receipts scans local Claude Code session transcripts and summarizes usage and impact by project. It cross-references local Git history and produces both a Markdown report and a self-contained HTML receipt. Mining uses local files and Git with no extra API calls; one final model call writes the report from a small JSON summary. It fits developers who need to review Claude Code work, explain usage to a manager, or inspect recent activity.
Reads session transcripts under ~/.claude/projects/**/*.jsonl for a selected period; runs the bundled mine-transcripts.mjs script to count sessions, prompts, active days, touched files, approximate touched lines, and Claude Code PR-creation commands; attributes work to projects touched by file operations; cross-references local git log data; and produces a Markdown report plus a self-contained HTML receipt with a project table and CSV export button.
- A developer needs to explain to a manager which projects Claude Code supported during a reporting period.
- A developer is conducting a weekly, monthly, quarterly, or yearly self-review of Claude Code activity.
- A user wants a concrete answer to “what have I been using Claude Code for?” organized by project.
- A user needs a Markdown report for documents or chat and an offline HTML version to open or attach.
Pros & cons
- Uses local Claude Code transcripts and Git data, making it useful for personal and internal review.
- Creates both Markdown and self-contained HTML, with offline viewing and CSV export in the HTML receipt.
- Attributes work by project and documents how files, sessions, active days, commits, and spend share are counted.
- Avoids presenting inferred token-based dollar costs as measured financial results.
- Requires readable local ~/.claude/projects transcripts and a local Git environment, so it cannot cover activity outside that machine.
- Reports usage and project-linked indicators, not reliable hours-saved or dollar-value-created estimates.
- Uses Claude Code-specific `$ARGUMENTS`, `/receipts`, and behavior, so other clients require adaptation.
- A null commit count is ambiguous: it can mean no qualifying commits, missing Git identity, or a Git error, and must be interpreted with gitUnavailable.
How to install
In Claude Code, install from the official plugin marketplace with /plugin install {plugin-name}@claude-plugins-official, or run /plugin → Discover and select the relevant plugin. The supplied repository material does not specify the marketplace name for receipts, so it should not be guessed.
How to use
After installation, run /receipts or ask: “Generate my Claude Code usage and impact report.” Supported arguments include week, month, quarter, year, a number of days, or a project name/substring; for example, /receipts month or /receipts 90. The script determines the exact dates and output filenames; the supplied material does not document an additional manual execution procedure.