From daymade-claude-code
Recovers actionable context from Codex CLI session rollout files and resumes interrupted work without running `codex resume`. Use for inspecting or continuing Codex sessions.
How this skill is triggered — by the user, by Claude, or both
Slash command
/daymade-claude-code:continue-codex-work [session-id][session-id]The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Recover actionable context from a prior **Codex CLI** session and continue execution in the current conversation. Codex records each session as a rollout JSONL under `~/.codex/sessions/YYYY/MM/DD/rollout-*.jsonl` (with an optional `state_*.sqlite` index). Use those local files as the source of truth, then continue with concrete edits and checks — not just summarizing.
Recover actionable context from a prior Codex CLI session and continue execution in the current conversation. Codex records each session as a rollout JSONL under ~/.codex/sessions/YYYY/MM/DD/rollout-*.jsonl (with an optional state_*.sqlite index). Use those local files as the source of truth, then continue with concrete edits and checks — not just summarizing.
Why this exists instead of codex resume: replaying a full rollout re-feeds every reasoning step, tool call, and tool output back into the context window. For long sessions that wastes the window on resolved turns and stale output. This skill selectively reconstructs only actionable context — the last compaction's surviving requests, recent user/assistant turns, the tool calls and files edited, and how the session ended — giving a fresh start with prior knowledge.
This is the Codex sibling of continue-claude-work. The two are deliberately split because the on-disk formats differ: Claude Code writes ~/.claude/projects/<encoded>/<session>.jsonl, Codex writes ~/.codex/sessions/.../rollout-*.jsonl with a different record schema. Use this skill for Codex sessions; use continue-claude-work for Claude Code sessions.
For the rollout directory layout, the record/payload schema, and the compaction format, see references/file_structure.md.
Run the bundled extractor. It handles session discovery (via the shared _core), rollout parsing, noise filtering, and workspace state in one call:
# Latest Codex session for the current project (cwd)
python3 scripts/extract_codex_resume.py
# A specific session by id (full or unambiguous prefix)
python3 scripts/extract_codex_resume.py --session <SESSION_ID>
# Search sessions by a keyword in the title
python3 scripts/extract_codex_resume.py --query "skill migrator"
# List recent sessions for the current project
python3 scripts/extract_codex_resume.py --list
# List across all projects (not just the current cwd)
python3 scripts/extract_codex_resume.py --all-projects --list
Expected output: a structured Markdown briefing. What you should see:
# Codex Resume Context Briefing header, then ## Session Info (id, project cwd, last-active time, title, Codex version).**Session end reason** — the single most important routing signal (see Step 2).## Compact Summary — if the session was compacted, the surviving user/assistant thread (system preamble and re-injected AGENTS.md are stripped out).## Last User Requests and ## Last Assistant Responses — the most recent turns.## Recent Tool Calls, ## Files Edited in Session (from apply_patch results), ## Errors Encountered.## Current Workspace State — git branch, uncommitted changes, recent commits.If instead you see No Codex sessions found for <path>, the current directory has no Codex history — try --all-projects --list to find the right project, or pass --session <id> directly.
The briefing's Session end reason tells you how the prior run stopped. Route on it:
| End reason | What it means | Strategy |
|---|---|---|
| Clean exit | The agent had the last word (a completed turn). | Read the last user request that was addressed; continue from any pending work. |
| In progress | Tools ran but the agent left no closing message — cut off mid-task. | This is the common resume case. Read the recent tool calls + files edited, verify what landed, and finish the turn the agent was in. |
| Interrupted | Tool calls were dispatched but never returned (hard stop / ctrl-c). | Re-check whether those actions took effect, then retry or move on. |
| Abandoned | A user message got no response. | Treat the last user message as the current request. |
| Error cascade | Repeated tool failures. | Do not retry blindly — diagnose the root cause first. |
Before making changes:
cwd.Then:
Respond concisely:
Discovery goes through _core.codex.collect_codex (bundled into scripts/_core/), the same schema-tolerant reader the local-conversation-history skill uses: it prefers the state_*.sqlite index and falls back to scanning raw rollout JSONL when the DB is missing or its schema has drifted. So listing, --query, and latest-for-project all share one tested implementation.
Codex's rollout schema is not Claude's. The parser reads:
event_msg/user_message, event_msg/agent_message, task_complete.last_agent_message) — these store plain strings and mirror the response_item/message items, so we avoid double-counting and sidestep output_text content that isn't needed here.event_msg/patch_apply_end — the keys of its changes map are the files apply_patch touched.response_item/function_call and custom_tool_call, paired with their *_output by call_id (an unpaired call means it never returned).compacted records — Codex replaces the compacted window with a replacement_history of messages (not a single summary), and re-injects the system preamble; the parser keeps only the user/assistant turns.Classified from the tail of the rollout: a trailing task_complete/agent_message is completed; unpaired tool calls are interrupted; tools that ran with no closing message are in progress; a trailing user message is abandoned; three or more tool failures are an error cascade.
Codex re-injects large system blocks after compaction and between turns — the permissions block, the agent-role message, and the project's AGENTS.md. The parser drops these using the shared is_noise_text (which recognizes <permissions instructions, <system-reminder, # AGENTS.md instructions for, and similar prefixes) so the briefing shows the real conversation, not the harness scaffolding.
codex resume or codex --continue — this skill provides context recovery within the current conversation.~/.codex/sessions/.MEMORY.md; the project's AGENTS.md is deliberately filtered out as re-injected noise, so read it separately if you need the project's standing instructions.019f66..."codex resume, just read the rollout and keep going"continue-claude-work — the same capability for Claude Code sessions (~/.claude). If the prior session was Claude, not Codex, use that skill instead.local-conversation-history — lists both Claude and Codex conversations across every config home. Use it first when you are not sure which session (or which provider) you want, then bring the Codex session id here.npx claudepluginhub daymade/claude-code-skills --plugin daymade-claude-codeRecovers actionable context from local .claude session artifacts to continue interrupted work without running claude --resume. Extracts compact summaries, pending work, errors, and workspace state.
Manages Claude Code sessions with naming, checkpointing, and resume strategies for long-running work or multi-session debugging.
Retrieves previous Claude Code or Codex CLI session transcripts, printing recent turns and metadata to resume work. Supports UUID lookup and automatic detection of most recent session.