CHAPTER 1 OF 9
The quarter you can't remember
Count yesterday's sessions. Open your AI tool's history and count the windows. Then count yesterday's merged PRs. The first number is bigger, and nobody has it.
Mine, for the last seven days: 50 sessions, 1 merged PR. That was a build week on a side project. The skill in chapter three prints yours.
A hard day used to hold five real decisions. Now there is one in every window, and you close the window. Picked request-scoped keys over the agent's first answer. Caught its migration before it merged. Spent forty minutes on a teammate's PR. Unblocked a team in Slack. None of that produces a merge, and the merge is the only thing anyone counts.
GitHub counts it for free. The dashboard your VP bought counts it. The AI vendor's launch post counts it. Faros tracked 22,000 developers for a year and found that in the teams using AI most, PRs merged with no review went up 76 percent (The Speed Trap, September 2026). The careful review counts the same as the skipped one.
The merge was a lazy measure when you typed the code. Now an agent types it, it measures the agent.
Every brag-doc post you have read says the fix is a habit: write it down as you go. I have read them too, and I have watched the habit die in week two for every engineer I managed, and for me. This guide assumes the habit is already dead and starts from what exists anyway.
Dana, the engineer in the example: senior, cycle in six weeks, fourteen sessions a day, last brag-doc entry dated eleven weeks ago. Her PR list for the quarter is 31 items. She can describe four of them from memory.
CHAPTER 2 OF 9
Get the ladder
The ladder is the document that says what the level above you looks like, criterion by criterion. Not your manager's summary of it. The document.
Ask for it in writing if you do not have it. "Can you send me the ladder doc for L5?" is a normal sentence in any company that has one. Progression.fyi lists public ladders if you want to see what one looks like before you ask.
If your company has no written ladder, write down the three things your manager has said out loud in your last three 1:1s about what the next level needs. Those three sentences are your ladder for this cycle. Thin, but real, and you can quote them back.
Read the ladder once for shape. Most have four to seven criteria for the next level: scope, technical judgment, execution, influence, mentoring, something about ambiguity. Copy the criteria into your text file as headings, in the ladder's order. Leave each one empty.
Dana's ladder for senior to staff has six criteria. She copies six headings. Under "technical judgment" the ladder says: "makes and documents design decisions with tradeoffs, and is consulted by peers on theirs." She notices the word "documents." That word is going to matter in chapter four.
Why this comes first: every record you write in chapters three to five gets mapped to one of these headings. If you inventory first and read the ladder second, you will write records for work the ladder does not ask about, and the packet will be long where it should be sharp.
CHAPTER 3 OF 9
Inventory the artifacts, not the memory
An artifact is a thing that exists whether or not anyone remembers it. For one quarter, list them with dates:
- PRs you merged.
- PRs you reviewed, especially the ones where your comment changed the change.
- Design docs you wrote or edited. Check the version history for the edits.
- Incident channels you were in. Postmortems you wrote or were named in.
- Slack threads that ended with a decision, where the decision was yours.
- Meetings you ran. The calendar remembers.
- Onboarding docs, runbooks, dashboards you made.
- Session logs. Every Claude Code, Codex, Cursor or Copilot session on your laptop.
Memory gets one job here: saying "there was also that thing in March." Then the artifact is found or the memory is dropped. A claim with no artifact goes in the packet only if someone who would confirm it is named next to it.
The session logs are the newest item on the list and the largest. Claude Code keeps them under ~/.claude/projects, one file per session. Codex keeps them under ~/.codex/sessions by date. Count them by day for the quarter. Here is the whole command for Claude Code on a Mac:
find ~/.claude/projects -name '*.jsonl' -newermt '2026-08-01' | wc -l
The skill at the end of this chapter does this count for both tools, lists your merged PRs for the same window with the GitHub CLI, and then does chapters four and five with you: it reads your own turns in each session, finds the forks, and writes the records. It runs inside Claude Code or Codex on your machine and sends nothing anywhere. The 150-line script inside it is readable before you run it.
Dana runs it: 611 sessions, 31 merged PRs, 4 design-doc edits she had forgotten, 2 postmortems with her name in them. Her inventory is 48 lines. Three weeks ago she could describe four things.
Do not read the sessions yet. Count them, note the busy days, and move on. Chapter four is where you open them.
CHAPTER 4 OF 9
Pull the decision out of a session
A session log is long and mostly the agent talking. You are reading it for one thing: the fork. The place where the agent proposed something and you said no, or not that way, or check this first. That is the decision, and it is yours, and it is the one line a merged PR does not carry.
Open the busiest days first. In each session, search for your own turns. Skim the agent's turns. You are looking for lines like:
- "No, use X instead."
- "Why did you..." followed by a change of direction.
- "Before you do that, check..."
- "That migration will..." and then a rollback of the agent's plan.
- "Keep it simple" or "that's too much," which is a scope decision.
Most sessions hold zero decisions. They are the agent doing what you asked. Some hold one. A session with two or more is a design session and probably maps to "technical judgment" on your ladder. Write the decision in one line, in your own words, with the date and what the agent had proposed instead. The rejected option is half the record.
The sessions are on your laptop and they stay there. If you run an agent on a remote workspace, the logs are there and the same reading applies. Nothing in this chapter needs you to upload anything.
Dana opens her fourteen busiest days, about 180 sessions, in three hours. She finds 22 decisions. Eleven are small scope calls. Six are design calls where she rejected the agent's first plan, and four of those are in sessions that produced a PR whose description says nothing about the rejected option. One is a session where she stopped the agent from deleting a migration a teammate depended on. The PR for that one was two lines.
"Documents design decisions with tradeoffs." She has six, dated, with the tradeoff written in the session in her own words. They were never documented anywhere else.
The honest limit: a session you did not save is gone. A decision you made in your head before opening the window is not in the log. The log holds what you typed. For those, chapter five has a line for a named person who would confirm it.
CHAPTER 5 OF 9
Four lines per record
Every artifact that makes the packet gets the same four lines. The order is fixed because the reader in the room is going to ask the same four questions in the same order.
Context. What was true before. One sentence. "Checkout p95 was 2.1s and the on-call rotation got paged for it twice a week."
Judgment. What you decided and what you rejected. "Chose request-scoped cache keys over the agent's proposed global cache, because the global one would have leaked tenant data on the shared path." The rejected option is what makes this a judgment and not a task.
Contribution. What you did, as distinct from what the team did. "I wrote the key scheme and the migration, reviewed the two PRs that adopted it, and ran the rollout to 10 percent." If the team did it and you watched, say "I reviewed." Reviewers get promoted too. Inflation here is the thing that gets caught in the room.
Outcome. What changed after, with a number or a name. "p95 to 0.8s, zero pages in the following six weeks. Confirmable by the on-call lead." No number and no name means the outcome line says "not measured," and that is allowed. An honest "not measured" reads better than an adjective.
Two separations the room will test:
- An idea is not a decision. "Suggested we cache" is an idea. "Chose keys over global cache, and it shipped" is a decision. If it did not ship, it stays an idea and goes under influence, not judgment.
- Merged is not rolled out. The PR merging is the agent's record. The rollout, the flag flip, the pages that stopped, the teammate who adopted it: that is the outcome. If it merged and sat behind a flag all quarter, the outcome line says that.
Each record ends with one more line: the ladder criterion it serves. One. The strongest. If a record seems to serve three, it serves one well and two weakly; pick the one.
Dana writes 19 records from her 48-line inventory. The other 29 artifacts were work with no judgment line and no outcome, and she notes them in one list at the end of the packet under "also shipped," one line each. Nobody reads that list closely, and it should exist.
CHAPTER 6 OF 9
Map to the ladder and name the gaps
Put each record under its criterion heading from chapter two. Now look at the headings.
Some have four records. Keep the best two or three and move the rest to "also shipped." A criterion with six records is not six times as convincing; it is a reader skimming.
Some have none. Those are the gaps, and the gaps are the most useful page in the packet.
For each empty heading, decide which kind of gap it is:
Evidence gap. The work happened and the artifact was not found. Go back to chapter three with that criterion in mind. "Mentoring" is usually an evidence gap: the review comments, the pairing sessions, the onboarding doc exist, and nobody inventoried them because they did not feel like work.
Work gap. The work did not happen this cycle. Say so, in the packet, in one sentence, with what you are going to do about it next quarter. A work gap named in November is a plan. A work gap discovered in the room in January is a verdict.
This is the chapter people skip, because filling it in means finding out whether the quarter was thin or the memory was. Fill it in. The gap paragraph is the one managers quote back, because it is the one paragraph they did not have to check.
Dana's six headings: four covered with two or three records each. "Influence beyond the team" has one record, thin. "Mentoring" has zero. She goes back and finds 41 review comments on two junior engineers' PRs, and a pairing calendar. Mentoring was an evidence gap. Influence stays thin, and she writes: "One cross-team design accepted this cycle. Two in flight for Q1, named." That is the sentence her manager will use.
CHAPTER 7 OF 9
Write the packet
The packet is the ladder's headings in the ladder's order, two or three records under each, the gaps named, and the "also shipped" list at the end. Most run three to five pages. Longer is not stronger.
Now read every line with one question: could a person who does not like me check this?
Delete or rewrite anything that fails. The words that fail most:
- "Helped," "drove," "led," "owned," with no object and no outcome. Replace with what you did.
- "Significantly," "dramatically," "robust," "scalable." Replace with the number or delete.
- "Collaborated with." Name who and what came out of it.
- "Was instrumental in." Delete the phrase; the sentence is usually fine without it.
- Any sentence where the agent did the thing and the sentence says "I built." You directed, reviewed, decided, caught. Say which. The room knows agents exist.
Keep the first-person plain. "I chose." "I rejected." "I reviewed." "I measured." "Not measured." Those verbs survive a hostile read.
Put the gaps in their own short section after the criteria, before "also shipped." Title it "Gaps and next quarter." Two to four sentences.
Dana's packet is four pages. Six headings, fourteen records, one gap paragraph, twenty-nine one-line items under "also shipped," and a two-line note at the top that says what the packet is and how it was built. Every record has a date and a link or a name.
CHAPTER 8 OF 9
Hand it over
The packet is not for you and not for the room. It is for the person who carries it into the room: your manager, who has several other reports and writes their version in the last week of the cycle from memory. A strong doc gets a promotion for average work; a thin doc loses one for strong work. Ask anyone who has sat in calibration.
Hand it over three weeks before the manager's deadline, not yours. Three weeks is enough for them to push back on a record, ask for a number, or tell you a criterion is weighted more than the document says. One week is enough for them to attach it.
Say three things when you hand it over:
- "This is built from artifacts, with links. Push on anything."
- "The gaps section is honest. Here is what I am doing about them."
- "Which of these records would you lead with?" Their answer tells you what the room weighs, and it is usually not the one you would have picked.
Then stop. The room decides. The packet made the case it could make from what exists.
CHAPTER 9 OF 9
Keep it alive, ten minutes on Friday
You now have a packet, a record sheet, and a method. Next quarter you will have the same sixteen windows a day and the same dead habit.
The habit that survives is not a brag doc. It is the count plus one record. Friday, ten minutes:
- Run the count for the week. Note the busiest day.
- Open that day's sessions and find one fork. One.
- Write its four lines and its criterion. Close the file.
Thirteen Fridays is thirteen records. Chapter six takes an hour instead of a weekend.
The free skill from chapter three does steps two and three for one window of time. Worktold is the same method kept running: it gathers the sessions you choose every day, finds the fork, keeps the four lines separate, maps each record to your ladder so you can see which criteria are covered and which are blank, and builds the packet from them. It runs on your laptop and your remote workspace, and raw sessions never leave your machine. It cannot make the room say yes and it cannot recover a session you did not save. The founding price is $29 a year until November 15, $49 after, and the first version reaches founders over Thanksgiving week. Read the guide first; if the method does not make sense to you, do not buy the tool.