← SkillSafe / Session Lens

Read the session file your agent just wrote

Your coding agent writes a .jsonl transcript of every run. In a terminal it is unreadable. Drop it here and get the run as a chat, a timeline of every tool call, and an exact count of what it cost — all computed in this browser, with nothing uploaded. Then, if you want a second opinion, have a model review it.

Reads Claude Code, OpenClaw and Gemini CLI session files. Each agent writes one transcript per run and stores them somewhere on your machine — check your agent's own documentation for where, since it varies by tool, platform and version. Once you have the file, drop it in.

Choose what to ask

Judge
Report
Diagnose

1 · Load a session

Drop a .jsonl or .json session file here or click to choose one — nothing leaves your browser at this step
…or paste the file contents instead

Your past runs

Runs are saved to your SkillSafe account, not to this browser, so they follow you to another machine. This browser keeps a local copy so the list paints instantly and still works offline.

How it works

What is uploaded?

Loading, reading, searching and exporting a session happen entirely in this page — the file never leaves your browser. Only when you press a lane button is a clipped transcript sent to the model, and the app tells you exactly how much of it was sent before you pay.

Why does it clip?

Real sessions run to megabytes. The final turns are always kept in full, because that is where a run goes wrong; the opening ask is kept in full when it fits and as a one-line summary otherwise; anything else becomes a one-line stub naming its tools and failures. The model is told which turns it cannot see and is instructed not to describe them.

How can I trust the review?

You partly can't, so the app checks it. Every count in the answer is compared against the census this browser computed from your file, and disagreements are printed above the findings. Where the review and the file disagree, the file is right.

Is the cost estimate my real bill?

No. It is list price applied to the token counts recorded in the file — useful for comparing runs, not an invoice. Discounts, batch pricing and longer cache lifetimes all change the real number.

What does a run cost here?

Reading a session is free and needs no account. Running a lane is metered and needs credits — the exact hold is shown before you press the button, and you are charged only for what the run uses. The bundled example replays a saved answer for free.