Skip to content

Guide · Agent skill

How to use the Session Source Fork agent skill

Updated · written with AI from the project's own documentation and checked against our catalogue data

session-source-fork is an agent skill for the OpenRig project. It teaches an AI coding agent how to write OpenRig configuration that starts a new managed agent session by forking an existing native Claude or Codex conversation. This guide explains what the skill does, how to install it, how to ask for it in plain language, and where its limits are, so you can decide whether it fits your rig setup.

Session Source Forkmvschwarz/openrig · Apache-2.0

Quick start

  1. 1Install the skill. Download the ZIP from this page and unzip it into ~/.claude/skills/ or the project's .claude/skills/ folder, or upload it under Settings → Capabilities → Skills in the Claude apps.
  2. 2Confirm the prerequisites. Make sure the OpenRig daemon is available, Claude Code or Codex CLI is installed for the runtime you plan to fork, and you have a valid native session id from a prior conversation.
  3. 3Decide that fork is the right outcome. Check that you are creating a new seat from a prior conversation. If you are restoring an existing seat or rebuilding from artifacts, use the other paths instead.
  4. 4Ask for the member or payload. Describe the new member, its runtime, and the source session id in a plain request. Name the runtime as claude-code or codex.
  5. 5Review the session_source block. Check that mode is fork, ref.kind is native_id, and ref.value holds the correct id. Confirm the runtime is not terminal.
  6. 6Launch and check the outcome. After launch, verify the new seat's identity and continuity token. Treat the result as forked from source session, not as a restored original agent.

What an agent skill is and what this one does

An agent skill is a folder containing a SKILL.md file with instructions that an AI agent loads when a task matches the skill's description. This skill is not a program you run. It is guidance that makes the agent write correct OpenRig configuration.

The skill covers one field, session_source, which is a member-level field in an OpenRig rig spec. It declares that a newly launched managed seat should start from a prior runtime conversation. The v1 supported mode is fork, with ref.kind set to native_id, for Claude and Codex runtimes.

  • The new seat gets its own fresh native continuity token.
  • The original session's token is never written onto the new seat.
  • The skill tells the agent not to describe a fork as restoring or resuming the original agent.
  • Terminal runtimes are rejected for session_source, so the skill does not apply there.

Install the session-source-fork skill

Download the ZIP for this skill from this page and unzip it. The package contains SKILL.md. Place the unzipped skill folder in one of these locations, depending on how you want it available.

You can also upload the skill through the Claude apps. Open Settings, go to Capabilities, then Skills, and upload the skill there.

  • Personal use across projects: unzip into ~/.claude/skills/
  • Single project only: unzip into the project's .claude/skills/ folder
  • Claude apps: Settings → Capabilities → Skills, then upload the skill

Trigger the skill with natural requests

You do not need to name the skill. The skill's description tells the agent when to use it: when you are authoring a rig spec member or a rig expand payload that needs to start a new managed seat from a prior runtime conversation. Ask for that outcome directly.

If your request is about continuing an existing seat or rebuilding understanding from notes, the agent should choose a different path. The skill itself names those cases as out of scope.

  • Add a reviewer member to my rig spec that forks from the Claude conversation with this session id.
  • Write a rig expand payload that adds a Codex member branched from a prior native session.
  • Which should this new seat use: fork, rebuild, resume, or a fresh launch?

Read the YAML shape the skill produces

The skill writes members with a session_source block. The mode is fork, and ref holds kind and value. For native_id, value is the native session id of the prior conversation. Runtime is claude-code or codex, and agent_ref, profile and cwd are the usual member fields.

  • mode: the only valid v1 value is fork.
  • ref.kind: v1 accepts native_id only. The schema rejects artifact_path, name, last and artifact_set before launch.
  • ref.value: required when ref.kind is native_id.
  • rig expand accepts the same shape, so dynamically added members can carry session-source attribution.
  • The feature adds no new top-level command. It flows through existing rig spec and expansion pathways.
members: - id: reviewer-2 runtime: claude-code agent_ref: specs/agents/reviewer.yaml profile: reviewer cwd: . session_source: mode: fork ref: kind: native_id value: "0b0165d7-cb4d-4650-90de-15c0a1ede9e6"

Know what the runtime actually runs

For Claude, the fork is performed with the native command shape claude --resume <parent-id> --fork-session. For Codex, the shape is codex... fork <parent-id>. Both require that the runtime CLI is installed and that the source id is valid for it.

The skill also covers outcomes. A launch can be forked, fresh, resumed (restore of an existing managed seat) or failed. A fork that fails should produce an error that names the runtime and the step that failed, not a silent fresh launch.

  • Source session id not found: the error names the runtime and the missing id. It does not silently launch fresh.
  • Fork launch failed: runtime stderr is preserved, the seat is not recorded as launched, and the parent token is not written onto it.
  • Persistence inconsistency: the seat is not considered launched until the new token is durably written.
claude --resume <parent-id> --fork-session

Choose between fork, rebuild, resume and fresh

Use fork when a new seat should branch from a prior native conversation. Use restore or resume when you need to continue an existing managed seat, since restore is the correct path for continuity. Use rebuild mode when understanding should be reconstructed from artifacts or packets. The skill explicitly says not to collapse fork into artifact-backed reentry. Use a fresh launch when no prior conversation should be carried over.

The skill also warns against overstating results. The correct wording is forked from source session or started from prior conversation source, not restored the original agent.

What people use it for

  • Adding a reviewer seat to a rig spec that branches from an earlier Claude conversation about the same codebase.
  • Using rig expand to add a Codex member mid-session while keeping a traceable record of which native session it came from.
  • Deciding, before launch, whether a new seat should fork a prior conversation, rebuild from artifacts, or start fresh.

Frequently asked questions

How do I install the session-source-fork skill?

Download the ZIP from this page and unzip it into ~/.claude/skills/ for personal use, or into a project's .claude/skills/ folder for one project. You can also upload it in the Claude apps under Settings → Capabilities → Skills.

What do I need to use session-source-fork?

You need the OpenRig daemon, since the skill documents its rig spec and expansion system. You also need Claude Code or Codex CLI installed for the runtime being forked, and a valid native session id from a prior conversation.

Is session-source-fork free to use?

The source states the licence is Apache-2.0. This page does not list pricing, so check the project's own terms for any cost questions.

Does forking restore my original agent?

No. A fork creates a new managed seat with its own new continuity token. The original session's token is never attached to it, and the skill tells the agent not to describe the result as restoring or resuming the original agent.

What is the difference between fork and rebuild?

Fork starts a new seat from a prior native runtime conversation. Rebuild mode reconstructs understanding from artifacts or packets rather than native runtime continuity. The skill says these must not be collapsed into one another.

Why does my fork fail with a source session not found error?

The runtime could not resolve the native_id you provided. The skill's expected behaviour is an error naming the runtime and the missing id, rather than a silent fresh launch. Check that the session id is valid for that Claude or Codex runtime.

New agent skills, repos and AI tools — every week

The best new skills and open-source projects, the fastest-growing repos, and one free prompt. Five minutes to read. Unsubscribe anytime.

Our verdict

Use this skill if you write OpenRig rig specs or rig expand payloads and need a new member to branch from a prior Claude or Codex conversation with clear, traceable origins. Pick something else if you need to restore or continue an existing seat, rebuild context from artifacts, or work with terminal runtimes, since this skill does not cover those cases.

Download the skill