1 · Record
Drop ~/.claude/projects/<project>/<session>.jsonl. Workbench streams
it, splits it at each turn you took, and turns every tool call and result into a trace edge.
Workbench turns a coding session you already ran into a SkillBundle — a signed, replayable record of what happened, scored against six proof gates. Drop a Claude Code transcript and you have one in about a second.
Record a session → No account. No API key. Nothing leaves your browser.
Drop ~/.claude/projects/<project>/<session>.jsonl. Workbench streams
it, splits it at each turn you took, and turns every tool call and result into a trace edge.
Six gates run over the sealed bundle — content hash, trace completeness, hidden capability,
authority, redaction, replay fidelity. Each verdict is computed by an Invariant Arithmetic
consume call and says which law produced it.
Re-execute the skill against the same body and see where reality drifted. Surprises are typed and carry the same law projection as the gate they violate.
Browse the library →gate.no_hidden_capability and gate.authority both fail and name it.
A tool Workbench doesn't recognize is recorded as &host.unknown_* — never as
ambient, because "we don't know what this needs" and "this needs nothing" are
different claims.
transcript_pii walks
observations and tool arguments — a key in a shell command is the likeliest secret in
a real session, not one in a payload.If you want to drive a fresh interaction rather than record one you already ran, the Teach flow does that — it's the one surface that calls a model, so it's the one that asks for an OpenRouter key. Everything downstream is identical: same trace format, same six gates, same library.
Workbench v0.4.0-alpha · PRISM leaderboard · Import a bundle