# absolutelyright

analytics over your claude code session transcripts.

claude code keeps a jsonl transcript of every session under `~/.claude/projects/`.
absolutelyright separates what you actually typed from harness noise (tool results,
slash-command expansions, subagent sidechains) and tells you things like:

- your most-repeated literal prompts (everyone has a "make the PR description not suck")
- how often you open with `no` / `wait` / `stop` / `actually`
- where your prompts, interrupts, and output tokens go, per project
- which tools claude leans on, and what hours you really work

## install

```bash
uv tool install absolutelyright
```

## usage

```bash
absolutelyright report            # the whole picture, human-formatted
absolutelyright prompts --pretty  # most-repeated literal prompts
absolutelyright hours --pretty    # prompts by local hour of day
absolutelyright overview --days 7 # recent only
```

machine-readable by default — lists are ndjson, single results are one json
object — so output pipes straight into jq or an agent:

```bash
absolutelyright projects | jq -r '.project'
```

note: claude code prunes local transcripts (30 days by default, see
`cleanupPeriodDays`), so absolutelyright sees a rolling window, not all time.

## library

```python
from absolutelyright import load_sessions, repeated_prompts

sessions = load_sessions(days=30)
for text, count in repeated_prompts(sessions, top=10):
    print(count, text)
```
