--- name: continue-codex-work description: >- Continues interrupted Codex work only after read-codex-history verifies rollout identity and fork/compaction lineage — restores the original outcome, unfulfilled requests, and the next action. Use when given a Codex Session ID, asked to pick up a prior Codex run, told Codex was interrupted, fused, compacted or stuck, or asked to take over without `codex resume`. Not for a conversation Codex already natively resumed. argument-hint: "[session-id]" --- # Continue Codex Work Continue means finish the still-unfulfilled business task. Reading history is a mandatory evidence phase, not the deliverable. ## Entry gate: external takeover, not native resume | Current situation | Action | |---|---| | Codex itself natively resumed this same conversation, and the restored turns or compaction state are already in the current context | Do not invoke this Skill or `read-codex-history`. Continue directly from the retained context, then verify current workspace and external state before changing anything. | | A new/different Agent context must take over an earlier Codex rollout, or the user identifies another Session ID whose continuity is not already present here | Use this Skill. Step 1's verified history receipt remains mandatory. | A restart is not enough to choose the second row. The deciding fact is whether the current conversation is the host-restored continuation of the same Session, not whether a Codex process was restarted. ## Step 1: Obtain a verified Codex read receipt Invoke `daymade-claude-code:read-codex-history` for the exact Session ID and request the full chronological Session evidence briefing. If the ID is unknown, use that Skill's inventory or bounded search first. The receipt must state: - prompt-ledger, state-index, and rollout sources used; - selected `session_meta.id` and whether it exactly matches the requested ID; - root-to-child fork lineage and exact inherited byte boundaries; - selected and inherited chronological user/assistant turns; - compacted context, latest plan, end reason, unresolved calls, files, and gaps. Fail closed on a mismatched rollout, missing child rollout, ambiguous physical copy, missing parent, broken byte boundary, or continuation cue with no recoverable parent objective. Never continue from the “closest” file. ## Step 2: Rebuild the continuation contract Before the first project-changing tool call, fill this internal contract from the read receipt and current-state verification: | Field | Evidence required | |---|---| | Original business outcome | Earliest still-governing human request across inherited and selected timelines | | Current explicit request | Latest human request that is not only a continuation cue | | Current delivery stage / non-goals | Latest human correction narrowing what to deliver now and what to defer; do not promote the original long-term ambition back above it | | Already completed | Current independent verification, not old Agent narration | | Still unfulfilled | Requested result without completion evidence | | User corrections / do-not-repeat | Human messages rejecting a route, assumption, or output | | Proven assets and successful routes | Existing code, documents, Skills, outputs, commands, and prior successful experiments | | Next direct action | One action whose success visibly reduces the unfulfilled business result | If the child contains only “继续,” “continue,” or `/fork`, inherit the task from the verified parent snapshot. A local cue is not a standalone goal. ## Step 3: Reconcile with current reality 1. Read the current target project's `AGENTS.md`/`CLAUDE.md`. 2. Confirm cwd, branch, working tree, relevant files, and external state. 3. Verify that recorded patches, commits, pushes, downloads, jobs, or Agent outputs actually landed; rollouts record attempted actions too. 4. Retrieve and reuse prior successful assets before creating a replacement. 5. For transient failures such as usage limits or service errors, verify whether the original process later resumed and finished before duplicating work. For an existing native Goal, use [Native Goal reconciliation](references/native-goal-reconciliation.md) to distinguish unfinished business, runtime status, supported recovery and observed automatic continuation. An absent recovery tool in one tool menu is not proof that the live host has no recovery control. 6. Check what was **in flight** when the session died. A foreground long task (remote diagnostic, download, build) dies with its session, and its unpersisted output dies with the pipe — the rollout records that the task started, never its result. Treat such a result as not done: probe whether the remote process or its output file survived, and before re-running, give the rerun a detached result-to-disk channel (e.g. remote `( cmd > log 2>&1 rc ) &` polled through the rc file — prefer `setsid`/`nohup` where the target has them, since a pty-backed session can still SIGHUP a bare subshell) so the next interruption cannot take the result again. ## Step 4: Execute the business task Perform the next direct action and close its feedback loop. Reviews, Skill work, infrastructure cleanup, format polish, and extra safety machinery remain subordinate unless they directly unblock the original result or the user explicitly promoted them. Before every material branch, ask: “If this succeeds, which unfulfilled result in the current authorized stage becomes smaller?” No answer means the branch is not continuation work. A blocked source, login or provider route blocks only dependent work; execute other necessary authorized work before declaring the whole task blocked. Verify the result at the user's consumption surface: searchable bytes alone do not prove a readable page, and generated suggestions do not prove saved human decisions. Reuse passed checks for unchanged inputs; expand verification only for new changes, failures or unresolved evidence gaps. Do not run `codex resume` or `codex --continue`. Do not overwrite unrelated changes. ## Step 5: Report against the contract - **Recovered goal**: exact Session lineage and original business outcome. - **Executed**: actions and independent verification. - **Now complete**: contract rows actually closed. - **Remaining**: unresolved rows and exact blockers. - **Not repeated**: relevant rejected routes deliberately avoided. Context recovery, parser success, a green review, or a finished subprocess is not by itself successful continuation. The user's business result is the completion unit.