| name | chronicle |
| description | View the user's screen and recent history to resolve ambiguity. Use when the user says "what was I just doing", "what app was that", "what did I have open earlier", or when a request doesn't specify which document/app/error is meant. Also use for any question about Chronicle itself or what Claude can see on screen.
|
Chronicle
This skill allows you to view the user's screen. This skill is enabled because the user has enabled the Codex screen recording (Chronicle) feature, which records a rolling buffer of the past several hours of work to $TMPDIR/chronicle/screen_recording.
Preconditions
- Only use this skill if memories are available in this rollout. This will manifest as an explicit mention of a ## Memories section in a Developer Message. If this section is not present, do not use this skill. If the user specifically tried to invoke this skill, you can mention it's disallowed because memories are disabled; otherwise, do not mention the existence of this skill (this skill is only supposed to be used when memories are enabled in Codex).
- Ensure Chronicle is running on the user's computer. You can check this by checking the pidfile at
$TMPDIR/codex_chronicle/chronicle-started.pid is valid (i.e., exists and process is running). If the pidfile is invalid, do not use this skill. This applies EVEN IF there are seemingly-fresh videos in the screen_recording folder; the user may have just recently disabled Chronicle. Regardless, the takeaway is that recordings cannot be fresh when Chronicle isn't running; therefore, you shouldn't treat the videos as fresh. (Note: when communicating Chronicle status to the user, don't mention the pidfile. That's an implementation detail.)
Ensure you follow preconditions before using the skill.
File structure
Chronicle has two primary outputs: screen recordings and memories.
# Raw screen recordings (ephemeral; not persisted)
$TMPDIR/chronicle/screen_recording/
โโโ <segment_timestamp>-display-<display_id>-latest.jpg - latest frame for this segment (started at <segment_timestamp>) + display, overwritten on every captured frame
โโโ <segment_timestamp>-display-<display_id>.capture - ephemeral capture segment marker
โโโ <segment_timestamp>-display-<display_id>.capture.json - metadata for this segment; contains segment timestamp and display ID but no app information
โโโ <segment_timestamp>-display-<display_id>.ocr.jsonl - append-only OCR history for the segment (created using Apple Vision OCR), one JSON object per material text change
โโโ 1min/
โโโ <segment_timestamp>-display-<display_id>/
โโโ frame-<frame_index>-<minute_bucket>Z.jpg - historical privacy-filtered frames from segment start to end
# Memories (persisted indefinitely; referenced in Codex Memories; see original implementation at https://github.com/openai/codex for more info)
~/.codex/memories/extensions/chronicle/
โโโ instructions.md - instructions for how to use the Chronicle memories
โโโ resources/
โโโ <utc_timestamp>-<4_alpha_chars>-10min-<slug_description>.md - markdown summary of the last 10 minutes of screen recordings, updated every minute
โโโ <utc_timestamp>-<4_alpha_chars>-6h-<slug_description>.md - markdown summary of the last 6 hours of screen recordings, updated every hour