reading-session-transcripts

reading-session-transcripts is a skill for Claude Code, Codex from dork-labs/dorkos. It costs 54 tokens per session (767 once invoked), scanned A, original, MIT.

Resolves DorkOS session URLs to JSONL transcript files on disk and reads them. Use when the user shares a session URL, mentions "read this transcript", "read this chat", or references a DorkOS session they want analyzed.

Skill for Claude CodeCodex

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add skills/dork-labs/dorkos/reading-session-transcripts
Any agent
npx skills add dork-labs/dorkos --skill reading-session-transcripts
Clone the repo
git clone --depth 1 https://github.com/dork-labs/dorkos

Made for: Claude Code, Codex.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for reading-session-transcripts

README.md
[![agentmods](https://agentmods.dev/badge/skills/dork-labs/dorkos/reading-session-transcripts.svg)](https://agentmods.dev/skills/dork-labs/dorkos/reading-session-transcripts)
Your own site
<a href="https://agentmods.dev/skills/dork-labs/dorkos/reading-session-transcripts"><img src="https://agentmods.dev/badge/skills/dork-labs/dorkos/reading-session-transcripts.svg" alt="Measured on agentmods" height="20"></a>
Per session 54 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 767 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin unknown No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00054 $0.00767
Opus 5 $0.00027 $0.00383
Sonnet 5 $0.00011 $0.00153
Haiku 4.5 $0.00005 $0.00077

Measured today against content hash f7cdf75d9435, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

reading-session-transcripts scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured today.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

.claude/skills/reading-session-transcripts/SKILL.md · 70 lines

How it starts

The opening of the file, as written. The whole thing — 70 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Reading Session Transcripts

Overview

DorkOS sessions from the claude-code runtime are backed by Claude SDK JSONL transcript files on disk. When a user shares a session URL or asks you to read a transcript/chat, resolve the URL to the file path and read it directly.

Caveat: session storage is runtime-owned (ADR-0310). This resolution logic only applies to claude-code sessions — sessions from the codex or opencode runtimes live in their own runtime's store, not in ~/.claude/projects/.

When to Use

  • User shares a URL like http://localhost:*/session?session=...&dir=...
  • User says "read this transcript", "read this chat", "look at this session", or similar
  • User pastes one or more session URLs inline with other instructions
  • User references a session ID and directory path

URL Resolution

Given a URL like:

http://localhost:6241/session?session=05da5015-ed83-491c-a07b-10b21379c3e4&dir=%2FUsers%2Fjane%2FMy+Project

Step 1: Extract Parameters

  • Session ID: from session query param → 05da5015-ed83-491c-a07b-10b21379c3e4
  • Directory: from dir query param, URL-decoded → /Users/jane/My Project

Step 2: Slugify the Directory

Replace all non-alphanumeric, non-dash characters with dashes:

/Users/jane/My Project → -Users-jane-My-Project

This matches the SDK's getProjectSlug() in apps/server/src/services/runtimes/claude-code/sessions/transcript-reader.ts.

Step 3: Construct the File Path

~/.claude/projects/{slug}/{sessionId}.jsonl

Full example:

/Users/doriancollier/.claude/projects/-Users-jane-My-Project/05da5015-ed83-491c-a07b-10b21379c3e4.jsonl

Step 4: Read the File

Use the Read tool on the resolved path. The file contains one JSON object per line — the full conversation transcript including messages, tool calls, and results.

Multiple Transcripts

When the user provides multiple URLs, resolve and read each one. They may want comparison, analysis, or context from several sessions.

Read the full file on GitHub · 70 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. today First seen · 70 lines · 54 tokens per session scan A f7cdf75d9435

Subscribe to this mod's changes

reading-session-transcripts is a skill published in the GitHub repository dork-labs/dorkos (9 stars, last pushed today), licensed MIT. It adds 54 tokens to every session and 767 once invoked, about $0.0003 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-03.