The Branching Company

Source control for the slides, skills, and docs you ship.

For the forward-deployed engineers, consultants, and agencies who ship a different deck, prompt, and SOP to every client—where a shared drive and a Git repo aren't enough.

Artifact branch treepitch-deck · main+3 −1+2 −0+1 −2acme @ v3.1globex @ v2.4initech @ v1.8release · v3.2 ready
Scroll for more

Surfaces

Wherever the artifact lives.
Branching lives there too.

Install the Chrome extension. Branching reads what you're working on—deck, skill, or doc—and shows you a tree of every variant you've ever shipped, who it went to, and what changed.

Live now · 4 surfaces
PowerPoint

PowerPoint

Branch a deck. Diff every slide. Roll back without losing work.

Google Slides

Google Slides

Fork the master for one client. Merge the polish back later.

Gamma

Gamma

Diff every regenerate before it overwrites your hand-tuned slide.

Canva

Canva

Track who edited the brand template, when, and what they changed.

Coming next · 2 surfaces
// soon

Skills

skills.md

Diff prompt, tools, and model in one view. Run evals before you ship.

// soon

Docs & SOPs

Refund tiers, intake flows, pricing rules. One source of truth across every agent that reads them.

The Problem

Git was built for code.
You ship everything else.

01

You send the same deck twelve different ways.

A consultancy customizes the same pitch deck for twelve prospects: a logo swap, a price slide tuned in a Slack thread three months ago, a benchmarks chart updated in one variant and forgotten in the other eleven. The deck Acme saw is not the deck Globex saw, and nobody on the team can tell you exactly why anymore.

pitch-deck · acme @ v3.1pitch-deck · globex @ v2.4pitch-deck · initech @ v1.8
02

An agent just edited your skill. You can't see what changed.

An MCP-connected agent rewrote your refund-policy skill on Monday morning, and the diff—what prompt got tightened, which tool got swapped, what threshold moved—exists nowhere a human can read. You find out it changed when a customer asks why their refund was denied, three days and forty support tickets later.

03

Git asks you to merge a deck like it's a function.

A skill is a markdown file plus a system prompt plus an MCP server config plus an eval suite plus a model choice; a deck is a thousand binary nudges and a brand kit; an SOP is a tree of policies other artifacts depend on. Git asks you to merge any of them like a code change and pretends a binary diff is a useful review.

04

Your refund policy says three different things.

Three tiers—auto-refund under $5, auto-deny on prior abuse, manual review otherwise—written into one master SOP and forked across four agents. Last quarter someone bumped the master ceiling to $10, didn't tell the others, and finance flagged the line when two clients got the new threshold and two didn't.

policy.refunds · master @ v4policy.refunds · agent.support @ v3policy.refunds · agent.intake @ v2

Version every artifact.
Not just the code beneath it.

Visualize

Every artifact, every variant, every client on one graph: the deck Acme saw, the skill the support agent runs, the SOP that fired on Tuesday's refund. You see what your next change touches before you ship it, and what an agent already changed before a customer reports it.

Agent graphacme · prodglobex · stagingagent.acmeagent.globexskill.toneskill.toneskill.lookupeval.suiteservice.crm

Branch

Fork a deck for one client, fork a skill to test a tighter prompt, fork an entire policy tree to try a refund threshold against last quarter's tickets—keep what works and throw away the rest without losing it. The graph remembers everything you tried, the customer who asked for it, and which variant won.

system_prompt.md
You are a support agent for {{client.name}}.
Reply in 3 sentences. Be concise.
Reply in 5 sentences. Match the client's tone.
Cite the source policy when refunding.
tools.json
"refund.create",
"order.lookup",
"churn.predict"
eval0.840.91

Ship

Promote a deck from staging to one client to all clients with the same review-and-approve flow you'd want for production code—tag every release, diff slides, prompts, tools, and policies side by side, roll back instantly. Nothing reaches a customer without passing the gate.

dev
staging
acme.clientreview
all clients

Verify

Catch the drift before the customer does: run the new refund policy against the agents that handle intake and support, and if they answer differently for the same case, you see it in the graph before the change goes live. Every policy you ship is checked against every artifact that reads it.

policy.refunds
policy.refunds · master
auto-refund < $10
agent.support · refunds
auto-refund < $10
agent.intake · refunds
auto-refund < $5
drift1 of 3artifacts disagree