Shabash
Blog · Claude Code guides

How to write a brag doc from your Claude Code work

Your Claude Code sessions are a complete record of what you built and why. Here's how to turn a quarter of them into a brag doc or self-review you can back up line by line.

By Robin Mehta · September 25, 2026

Review season comes around and you have to remember a quarter of work. For most engineers that means scrolling through merged pull requests and guessing what mattered. If you use Claude Code, you have something much better: a record of every session, with what you asked for, what got built, and why.

Why your sessions make a better source than git

Git tells you what changed. Your sessions also tell you:

Do it by hand in three steps

1. Collect the quarter's prompts. Every prompt you typed is in ~/.claude/history.jsonl, with a timestamp and project, and it isn't deleted by the cleanup. Pull the period you need:

python3 - <<'EOF'
import json, datetime
start = datetime.datetime(2026, 7, 1).timestamp() * 1000
for line in open(f"{__import__('os').path.expanduser('~')}/.claude/history.jsonl"):
    d = json.loads(line)
    if d["timestamp"] >= start:
        day = datetime.datetime.fromtimestamp(d["timestamp"] / 1000).date()
        print(day, d["project"].split("/")[-1], d["display"][:120].replace("\n", " "))
EOF

2. Ask Claude to draft from it, with rules. Paste the output (or point a session at the file) with a prompt like this:

Here is a list of every prompt I typed into Claude Code this quarter, with dates and projects. Group it into the pieces of work I did, most significant first. For each: a bold title, what I built in one or two sentences, and why it mattered, only if the prompts show it. Never invent numbers, users or outcomes. Where a number would make a point stronger, write [add impact: what number] instead. Plain words, no hype.

3. Add what only you know. The draft will have gaps where the numbers go, and it can't know which work you're proudest of or what you'd do differently. Those are the lines your manager actually reads. Write them yourself.

Rules that make it credible

Or let it keep itself

Shabash builds this from your sessions and commits automatically. Pick a period and the projects to include, and it writes a brag doc, self-review or update where every sentence cites the session or commit it came from. You can hover any line to check it. It leaves marked gaps for numbers and for your own words rather than filling them in. The same drafts work for a Slack message when something ships, or a LinkedIn post about a side project.

Questions

What is a brag document?

A running list of what you accomplished, with enough detail to remember later why it mattered. Engineers use it for performance reviews, promotion cases and updating their resume.

Can Claude write my self-review?

It can draft the factual part well from your session history and commits. The part about why the work mattered to you, and what you'd do differently, should be in your own words.

How far back can I go?

Your prompts are kept indefinitely in ~/.claude/history.jsonl. Full transcripts are deleted after 30 days by default, so for a whole quarter, raise cleanupPeriodDays or archive transcripts as sessions end.