forking

Create stream forks referencing source data up to a specified offset.

1.7k|64|Updated Dec 4, 2025
One-click install
npx skills add https://github.com/durable-streams/durable-streams --skill forking
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: forking
Source: https://github.com/durable-streams/durable-streams/tree/main/packages/client/skills/forking
Command: npx skills add https://github.com/durable-streams/durable-streams --skill forking

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Forks solve the challenge of reusing and diverging data from an existing stream without duplicating content. They enable independent lifecycles, separate TTLs, and separate deletion of forked data while preserving the source's history up to the chosen offset.

Core Features & Use Cases

  • Fork streams with offset-based inheritance and independent lifecycle.
  • Branch from a source with TTL/expiry and content-type inheritance rules.
  • Read and write to forks without affecting the source.
  • Use case: create dedicated fork for experimentation while preserving source data.

Quick Start

Create a fork of an existing stream by specifying the source and optional offset.

Frequently Asked Questions about forking

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I branch or fork a data stream without duplicating content?

Stream forking creates a new stream that references source data up to a specified offset without copying it. This allows independent lifecycle management and separate TTLs while preserving the original stream's history.

What happens to TTL and content-type when branching from a source stream?

When branching from a source stream, forked streams inherit TTL, expiry, and content-type rules. This ensures the fork maintains consistent data expiration and formatting properties derived from the original stream configuration.

Can I write to a forked stream without affecting the source data?

Yes, you can read and write to forked streams using a fresh handle without affecting the source. This enables safe experimentation on divergent data variants while the original stream remains completely isolated.

How do Stream-Forked-From and Stream-Fork-Offset headers work?

Stream-Forked-From and Stream-Fork-Offset headers define the source stream reference and the specific data offset for branching. They establish the exact boundary up to which the fork inherits source history.

Does deleting a forked stream affect the original source stream?

No, forked streams adhere to a server-side deletion lifecycle independent of the source. Deleting a fork only removes the forked variant, leaving the original source stream and its data fully intact.

When should I use stream forking instead of copying data for experimentation?

Use stream forking to create dedicated experimental branches without duplicating content. It enables independent lifecycles and separate TTLs, making it ideal for diverging data analysis while preserving source history.