Record
Turn a Claude Code session you already ran into a signed, scored SkillBundle. No model call, no API key — the transcript is parsed, hashed and verified in this tab and never leaves it.
Drop a session transcript here
~/.claude/projects/<project>/<session-id>.jsonl
What happens when you drop a file
- It streams. The file is read line by line, never loaded whole — the largest session measured on one machine was 202 MB, and a 556-session corpus indexes in about 13 seconds.
- It splits at your turns. One thing you asked for, plus the tool loop that followed it, is one candidate skill. A whole session is a day of unrelated work and would make a bundle nobody could replay or reuse.
- Every tool call becomes a trace edge carrying the capability it needed —
&host.shell,&host.fs_write,&mcp.<server>. A tool with no known mapping is recorded as&host.unknown_*and never asambient: "we don't know what this needs" and "this needs nothing" are different claims. - Six gates run — content hash, trace completeness, hidden capability,
authority, redaction, replay fidelity. Each verdict comes from an Invariant Arithmetic
consumecall and reports the law that produced it.
What it leaves out, and what never leaves
Thinking blocks and subagent turns are dropped and counted — reasoning is not observable in the world and carries whatever you were working on. Unparsable lines are counted too. A zero and a blank look identical in a table and mean opposite things.
Nothing is uploaded. The transcript is parsed, hashed and verified in this tab. Before a
bundle is saved you pick a redaction profile, and transcript_pii walks tool
arguments as well as observations — a key in a shell command is the likeliest secret in a real
session, not one in a payload.