LOCAL TRANSCRIPT INDEX / READYCLAUDE CODE · CODEX · JSONL

Your agent did the work. Keep the part that matters.

Turn agent logs intousable memory.

agentscript reads Claude Code and Codex transcripts as one stream of stable, searchable blocks—then slices away the noise and exports exactly the context your next agent needs.

$npm i -g @amxv/agentscript
handoff.md — agentscript84 × 28
#000USER

Redesign the landing page and push it to main.

#001THINKINGhidden by profile
#002ASSISTANT

I’ll inspect the product, build a focused visual system, and verify the result.

#003COMMAND · BASH
git status --short && bun run docs:build
Build completeexited 0 · 2.4s
#007ASSISTANT

The transcript became a handoff. The missing indexes are the point.

ready
STABLE BLOCK ADDRESSING
02
providers

Claude Code + Codex

stable addresses

Filters never renumber

01
binary

Go, standard library only

06
output views

Text, Markdown, HTML, JSON

01 / THE PROBLEM

RAW JSONL IS A RECORD, NOT A HANDOFF

An hour of work should not cost another agent an hour of context.

Agent transcripts are full of valuable decisions buried beneath thinking blocks, tool plumbing, repeated results, and provider-specific schemas. Passing the raw file forward wastes the very context window you are trying to preserve.

agentscript normalizes the session once, gives every meaningful block a permanent address, and lets you subtract everything the next reader does not need.

02 / THE WORKFLOW

FIND → OPEN → CARRY FORWARD

Context extraction with receipts.

#003
COMMAND · BASHagentscript search "publish-pr" --provider codex

Find the exact moment across recent sessions.

01
#007
OPEN · CONTEXTagentscript open session.jsonl --around 342

Jump back in with the surrounding decisions intact.

02
#012
EXPORT · HANDOFFagentscript export session.jsonl --profile handoff --out context.md

Carry signal forward without carrying the entire log.

03
03 / WHY THE GAPS MATTER

AN INDEX IS AN ADDRESS, NOT A COUNTER

#003 stays #003, even when everything around it disappears.

Hide thinking. Filter to Bash. Render messages only. The visible sequence can change, but every block keeps the address it received at parse time. Search results, slices, and handoffs stay valid.

FULL SESSIONHANDOFF PROFILE
#003USER#003
#004THINKING
#005TOOL CALL
#006TOOL RESULT
#007ASSISTANT#007
#008COMMAND#008
#009COMMAND RESULT
#012ASSISTANT#012
04 / DOCUMENTATION

SMALL TOOL. COMPLETE MAP.

From first transcript to exact handoff.

05 / START HERE

Stop pasting the whole session.

Give the next agent the decisions, the commands, and nothing it has to rediscover.