Version Chaos Untangler Skill
Six copies of the contract: email attachments, two drives, someone's desktop, one renamed -final-JT-edits. Two have diverged — different edits on a shared ancestor — and the team is now editing in parallel universes. Untangling is forensic then structural: census every copy (where, modified-when, by-whom), establish the canonical defensibly (newest is not automatically rightest), merge what diverged, then kill the conditions — one home, links-not-attachments, and platform version history doing what filename suffixes failed to do.
What This Skill Produces
- The version census — every known copy: location, modified date, editor, size/diff signals
- The canonical verdict — which version wins and why (the lineage argument, not just the timestamp)
- The merge plan — the divergent edits reconciled, with the who-confirms list for judgment conflicts
- The single-source install — one home, the redirect of every old copy, and the links-only norm
Required Inputs
Ask for these if not provided:
- The copies — everywhere it lives (search email attachments by filename, both drives, ask the usual suspects); the census is only as good as the hunt
- The stakes — a contract mid-negotiation and a team doc carry different merge rigor; legal-adjacent docs get the careful version
- The editors — who touched it recently; diverged edits need their authors for the judgment calls
- The platform reality — where the canonical should live (the versioned platform — cloud doc or drive with history — not email, not desktops)
Framework: The Untangle Rules
- Census before choosing: list every copy with modified-date and editor before any verdict — the loudest "mine is latest" claim is wrong often enough that the census is not optional. Email attachments are copies-at-a-timestamp, and every send forked the universe.
- Canonical is lineage, not timestamp: the winner is the copy containing the most confirmed-wanted edits — usually but not always the newest. The tell for divergence: two copies both modified after their common ancestor. When found, neither is canonical yet; the merge output is.
- Merge by diff, confirm by author: compare divergent copies section-by-section (platform compare tools where they exist); mechanical differences merge directly, judgment conflicts (two different edits to the same clause) go to their authors by name. The merge doc lists every judgment call and who confirmed it — for legal-adjacent docs, that list is the audit trail.
- Kill the old copies loudly: every non-canonical copy gets replaced by a pointer ("moved — canonical lives here: [link]") or deleted where possible, and the announcement names the one true home. Silent canonicalization loses to the first person who edits their bookmarked copy.
- The prevention is structural: the doc lives on a versioned platform (history replaces suffix-naming) · links, never attachments (an attachment is a fork) · the filename loses its version theater per filename-convention · and mid-negotiation external docs get one named copy-holder who alone sends/receives versions.
Output Format
Version Untangle: [document]
The Census
| Copy |
Location |
Modified |
Editor |
Signals |
The Verdict
[Canonical: which and the lineage why · divergence found: yes/no · if yes: the merge is the canonical]
The Merge (if diverged)
[Section-level reconciliation · judgment calls × confirming author · the audit-trail note for legal docs]
The Install
[The one home (versioned platform) · pointers placed over old copies · the announcement line · links-only norm + the external copy-holder rule if applicable]
Quality Checks
Anti-Patterns
1---2name: version-chaos-untangler-23description: Untangle a document that exists in six copies across email, drives, and desktops — establish the canonical version defensibly, merge the divergent edits, and install the single-source rule that prevents the rematch. Use when asked which version is the real one, merge these document copies, we've been editing different files, or stop the version chaos on this doc. Produces the version census with the canonical verdict, the divergence merge plan, the announce-and-redirect step, and the single-source going-forward rules.4---56# Version Chaos Untangler Skill78Six copies of the contract: email attachments, two drives, someone's desktop, one renamed `-final-JT-edits`. Two have diverged — different edits on a shared ancestor — and the team is now editing in parallel universes. Untangling is forensic then structural: census every copy (where, modified-when, by-whom), establish the canonical *defensibly* (newest is not automatically rightest), merge what diverged, then kill the conditions — one home, links-not-attachments, and platform version history doing what filename suffixes failed to do.910## What This Skill Produces1112- **The version census** — every known copy: location, modified date, editor, size/diff signals13- **The canonical verdict** — which version wins and *why* (the lineage argument, not just the timestamp)14- **The merge plan** — the divergent edits reconciled, with the who-confirms list for judgment conflicts15- **The single-source install** — one home, the redirect of every old copy, and the links-only norm1617## Required Inputs1819Ask for these if not provided:20- **The copies** — everywhere it lives (search email attachments by filename, both drives, ask the usual suspects); the census is only as good as the hunt21- **The stakes** — a contract mid-negotiation and a team doc carry different merge rigor; legal-adjacent docs get the careful version22- **The editors** — who touched it recently; diverged edits need their authors for the judgment calls23- **The platform reality** — where the canonical *should* live (the versioned platform — cloud doc or drive with history — not email, not desktops)2425## Framework: The Untangle Rules26271. **Census before choosing:** list every copy with modified-date and editor before any verdict — the loudest "mine is latest" claim is wrong often enough that the census is not optional. Email attachments are copies-at-a-timestamp, and every send forked the universe.282. **Canonical is lineage, not timestamp:** the winner is the copy containing the most confirmed-wanted edits — usually but not always the newest. The tell for divergence: two copies both modified after their common ancestor. When found, neither is canonical yet; the *merge output* is.293. **Merge by diff, confirm by author:** compare divergent copies section-by-section (platform compare tools where they exist); mechanical differences merge directly, judgment conflicts (two different edits to the same clause) go to their authors by name. The merge doc lists every judgment call and who confirmed it — for legal-adjacent docs, that list is the audit trail.304. **Kill the old copies loudly:** every non-canonical copy gets replaced by a pointer ("moved — canonical lives here: [link]") or deleted where possible, and the announcement names the one true home. Silent canonicalization loses to the first person who edits their bookmarked copy.315. **The prevention is structural:** the doc lives on a versioned platform (history replaces suffix-naming) · **links, never attachments** (an attachment is a fork) · the filename loses its version theater per [filename-convention](../filename-convention/SKILL.md) · and mid-negotiation external docs get one named copy-holder who alone sends/receives versions.3233## Output Format3435# Version Untangle: [document]3637## The Census38| Copy | Location | Modified | Editor | Signals |39|---|---|---|---|---|4041## The Verdict42[Canonical: which and the lineage why · divergence found: yes/no · if yes: the merge is the canonical]4344## The Merge (if diverged)45[Section-level reconciliation · judgment calls × confirming author · the audit-trail note for legal docs]4647## The Install48[The one home (versioned platform) · pointers placed over old copies · the announcement line · links-only norm + the external copy-holder rule if applicable]4950## Quality Checks5152- [ ] Every findable copy is in the census before any verdict53- [ ] The canonical argument is lineage-based, not timestamp-only54- [ ] Divergent judgment calls were confirmed by their authors, listed55- [ ] Every old copy now points to the canonical or is gone56- [ ] The doc's new home has version history — the suffix era is over for this file5758## Anti-Patterns5960- [ ] Do not crown the newest by default — the newest fork of the wrong branch is still wrong61- [ ] Do not merge judgment conflicts by taste — authors confirm their own clauses62- [ ] Do not canonicalize silently — unannounced truth loses to bookmarked habit63- [ ] Do not leave the winner on a desktop or in a thread — un-versioned homes restart the chaos64- [ ] Do not send attachments of the untangled doc — every attachment is the sequel's opening scene