v0.4.0-alpha

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

  1. 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.
  2. 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.
  3. 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 as ambient: "we don't know what this needs" and "this needs nothing" are different claims.
  4. Six gates run — content hash, trace completeness, hidden capability, authority, redaction, replay fidelity. Each verdict comes from an Invariant Arithmetic consume call 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.