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:
- What you were trying to do: the first prompt of a session is usually the goal, in your own words.
- Why decisions went the way they did: "switched to AVFoundation because VisionKit was too slow on older phones" lives in a session, not a commit message.
- Work that never merged: investigations, dead ends, the three approaches you tried before the one that worked. That's often the hardest and most senior work you did.
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", " "))
EOF2. 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
- Every claim should be traceable. If you can't point to the session or commit behind a line, cut it.
- No invented metrics. "Improved performance" with no number is weak; a made-up number is worse. Leave the gap and fill it with the real figure.
- Include the work that didn't ship. "Investigated three approaches to offline sync and chose X because Y" shows judgment.
- Keep it private by default. Leave side projects out of a work review unless they're relevant.
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.