Przejdź do treści
Biblioteka skilli
AI i agenci · Analiza

codex-transcripts

/codex-transcripts

Odczytuje transkrypt sesji agenta Codex zamiast zgadywać z zawartości tmux, by sprawdzić postęp i pełne wyjście narzędzi.

Repozytorium
dx ↗
Licencja
MIT
Ostatnia zmiana repozytorium
10.11.2026

Ocena i bezpieczeństwo

100/ 100Klasa: dobry
Format25 / 25
Frontmatter z nazwą i opisem, poprawna nazwa, opis do 1024 znaków, nazwa zgodna z folderem.
Odkrywalność25 / 25
Opis mówi, kiedy użyć skilla, ma sensowną długość i jest w 3. osobie.
Treść35 / 35
Co najmniej 150 słów i do 500 linii, nagłówki, listy kroków, przykłady albo kod.
Higiena15 / 15
Bez zaślepek typu TODO, bez ścieżek Windows, z licencją.
Ryzykobrak sygnałów w skanie
Pliki w paczce
1
Skrypty
0
Komentarze HTML
0
Adresy URL w SKILL.md
0
Przestarzałość

Brak sygnałów. Repozytorium zmienione 10.11.2026, bez odwołań do wycofanych modeli i API.

Licencja

MIT, otwarta: można używać i zmieniać, z zachowaniem informacji o autorze.

Co robi i kiedy

Odczytuje transkrypt sesji agenta Codex zamiast zgadywać z zawartości tmux, by sprawdzić postęp i pełne wyjście narzędzi.

Wyzwalacze z opisu

… +66 lines (ctrl + t to view transcript)
Oryginalny opis (EN)

Read what a Codex CLI agent is actually doing by querying its session transcript instead of scraping the tmux pane. Use when supervising or coordinating with a Codex agent running in another tmux window/pane, when pane output shows truncation markers like "… +66 lines (ctrl + t to view transcript)", when you need a Codex agent's full tool output/reasoning, or before reporting on another agent's progress. Also covers locating the active thread, tailing live, and reading a compacted agent's pre-compaction history.

Jak działa

  1. Why this exists
  2. Pick the right tool
  3. Locate the active session
  4. Read it
  5. Notes
  6. When NOT to use this
Sekcje z nagłówków SKILL.md, w oryginale · 146 linii, 815 słów
Podgląd SKILL.md
---
name: codex-transcripts
description: Read what a Codex CLI agent is actually doing by querying its session transcript instead of scraping the tmux pane. Use when supervising or coordinating with a Codex agent running in another tmux window/pane, when pane output shows truncation markers like "… +66 lines (ctrl + t to view transcript)", when you need a Codex agent's full tool output/reasoning, or before reporting on another agent's progress. Also covers locating the active thread, tailing live, and reading a compacted agent's pre-compaction history.
---

# Reading Codex Session Transcripts

## Why this exists

When a Codex CLI agent runs in a tmux pane, `tmux capture-pane` gives you the
**rendered** view, and the TUI collapses tool output:

```
… +66 lines (ctrl + t to view transcript)
```

Those lines were never in the pane, so no amount of `-S -2000` scrollback
recovers them. That is fine for a glance — "is it working, is it stuck" — but
it is a poor basis for asserting *what* an agent is doing. A `cd /opt/foo` in a
truncated command reads as "it is working on foo" when it may only have been
borrowing that directory's `node_modules`.

Codex writes a complete JSONL transcript of every session: full tool inputs,
outputs, and reasoning, readable without interrupting the agent.

## Pick the right tool

This skill is one option, not the default. In rough order of cost:

1. **Glance at the pane** — fine for liveness, progress, whether it is blocked.
2. **Query ground truth directly** — usually the strongest signal and often
   cheapest. If the question is "did the rollout land", ask Docker/systemd/git,
   not the agent's narration of them.
3. **Ask the agent** — it knows its own intent and plan better than any
   artifact does, and a one-line question is cheap. Prefer this when the
   question is "what are you doing / how long", especially if you are about to
   act on the answer.
4. **Read the transcript** — when you need detail the pane truncated, when the
   agent is mid-task and you would rather not interrupt, when you need history
   it compacted away, or when you want to verify rather than take its word.

Reaching for 4 first is usually the expensive way to learn something 2 or 3
would have told you faster.

## Locate the active session

Codex tracks threads in SQLite. `threads.rollout_path` points at the transcript.

```bash
sqlite3 "file:$HOME/.codex/state_5.sqlite?mode=ro" \
  "select rollout_path, git_branch, cwd,
          datetime(updated_at_ms/1000,'unixepoch','localtime') as updated
   from threads
   where cwd like '%<repo>%'
   order by updated_at_ms desc limit 5;"
```

**Always use `?mode=ro`.** The DB is open in WAL mode by a live process; a
read-only handle avoids lock contention and cannot corrupt an active session.

The `state_N.sqlite` suffix is a schema version and increments across Codex
releases. If `state_5` is absent, discover the current one:

```bash
lsof -p "$(pgrep -x codex | head -1)" 2>/dev/null | grep -oE '/[^ ]*state_[0-9]+\.sqlite' | head -1
# or
ls ~/.codex/state_*.sqlite
```

Transcripts also live at a predictable path if you would rather glob:
`~/.codex/sessions/YYYY/MM/DD/rollout-<ISO8601>-<thread-uuid>.jsonl`

Sibling DBs: `logs_N.sqlite` is Codex's internal tracing log (level/target/
module_path — application debug output, **not** the conversation) and
`goals_N.sqlite` holds `/goal` state.

## Read it

One JSON object per line: `{timestamp, type, payload}`. The interesting field is
`payload.type`:

| payload.type | What it holds |
|---|---|
| `agent_message`, `message` | assistant-visible text |
| `reasoning` | chain of thought |
| `custom_tool_call` / `_output` | full tool input and output, uncollapsed |
| `function_call` / `_output` | function-style tool calls |
| `patch_apply_end` | file edits applied |
| `context_compacted` | a compaction happened here |
| `token_count` | usage, incl. rate limits |
| `sub_agent_activity`, `task_started`, `task_complete` | subagent lifecycle |

Last few substantive messages:

```bash
python3 - "$F" <<'PY'
import sys, json
msgs = []
for line in open(sys.argv[1]):
    try: d = json.loads(line)
    except: continue
    p = d.get('payload', {})
    if p.get('type') in ('agent_message', 'message'):
        c = p.get('content') or p.get('text') or ''
        if isinstance(c, list):
            c = ' '.join(str(x.get('text','')) for x in c if isinstance(x, dict))
        c = str(c).strip()
        if len(c) > 60:
            msgs.append((d.get('timestamp','')[11:16], c))
for ts, c in msgs[-5:]:
    print(f"--- {ts} ---\n{c[:800]}\n")
PY
```

Survey what a session contains before targeting a query:

```bash
python3 -c "
import sys,json,collections
c=collections.Counter()
for l in open(sys.argv[1]):
    try: c[json.loads(l).get('payload',{}).get('type','?')]+=1
    except: pass
print(dict(c))" "$F"
```

## Notes

- **Compaction**: `context_compacted` entries mark where the agent lost context.
  The transcript keeps everything, so it is the way to recover what an agent
  knew before compacting — useful for re-anchoring it on state it dropped.
- **Size**: multi-hour sessions reach 5 MB / 1400+ records. Filter by
  `payload.type` and tail; do not read whole files into context.
- **Tail live**: `tail -f "$F" | python3 …` works; the file is appended to in
  real time.
- **Claude Code sessions** are the analogous artifact at
  `~/.claude/projects/<path-encoded-cwd>/<session-uuid>.jsonl`. Same idea,
  different layout — and note a Codex agent's transcript is NOT there, which is
  the usual reason a search comes up empty.

## When NOT to use this

Reading a peer's transcript is supervision, not collaboration. If you need the
agent to *do* something, message it (`tmux send-keys`) — do not infer intent
from its transcript and act unilaterally. Use this to report accurately, to
avoid duplicating its work, and to hand back state it lost in a compaction.

To spawn or drive Codex subagents rather than observe them, see the
`codex-subagents` skill.

Wersje

W bazie nie ma innych skilli o nazwie codex-transcripts.

Migawka bazy z 13.11.2026 · wersja paczki 42f003628d7b (skrót SHA-256 całej paczki)

Pobrania w ostatnich 30 dniach: 0 · ranking

Zgłoś problem z tym skillem: szkodliwa treść, błędny opis albo prośba autora o usunięcie.

Podobne skille

  • 100tmux-agent-plane
    Zarządza agentami kodującymi w sesjach tmux przez CLI tmux-agent-plane: czyta, wysyła wiadomości i sprawdza stan.
  • 100party-crew
    Łączy się z innymi agentami kodującymi w tmux, zleca im pracę i odczytuje ich raporty.
  • 100agent-messaging-session-relay
    Wysyła wiadomość do innej sesji Codex lub Claude albo agenta w panelu tmux i sprawdza, kto nadał otrzymaną wiadomość.
  • 100session-relay
    Wysyła wiadomość do innej sesji Codex lub Claude albo agenta w panelu tmux i sprawdza, kto nadał wiadomość, która dotarła.
  • 100dmux-workflows
    Opisuje orkiestrację wielu agentów przez dmux, menedżer paneli tmux, z równoległymi przepływami dla Claude Code, Codex i innych narzędzi.
  • 100dmux-workflows
    Opisuje wzorce orkiestracji wielu agentów z dmux, czyli menedżerem paneli tmux, dla równoległych sesji w OpenAI Codex, OpenCode i innych narzędziach.

Uwagi i zgłoszenia

Wiadomość trafi do Bartosza Sokolińskiego. Adres e-mail jest potrzebny tylko do odpowiedzi. Szczegóły w polityce prywatności.