Sprawl vs. Library, in 3D
Every cube is a skill file; every color is a different coding agent's dotfolder. Drag to rotate. Flip between the two worlds and watch the duplication math change.
Why Sprawl Hurts
Scattered: N agents × M skills
- Fix a prompt bug in one copy, the other five keep the bug — silent behavioral drift between your tools.
- No versioning:
git blamecan't tell you why an instruction changed if it lives outside any repo. - Onboarding a new machine means archaeological digs through hidden folders.
- You stop improving skills because updating them is a chore — the library rots.
Library: M skills, N thin links
- One canonical file per skill; agents get symlinks, generated copies, or plugin-managed views.
- Version control, review, and diff — instructions become code with history.
- Browse and search in one place (Agentfiles does this inside Obsidian, treating skills as notes).
- Worked example below: the edit count collapses from N×1 to exactly 1.
The Skills-as-Code Playbook
Inventory
List every instruction file: CLAUDE.md, .cursor/rules, AGENTS.md, global dotfolders. Most people find 2–3× more than they expected.
Deduplicate
Merge near-identical copies. Keep the best phrasing; delete the rest. A skill that says the same thing two ways confuses both you and the model.
Centralize + link
Put canonical files in one versioned folder (or vault). Distribute with symlinks or a sync tool so each agent still finds its expected path.
Review like code
Skills change behavior, so changes deserve diffs and rollback. When an agent misbehaves, the skill history is your debugger.
Worked Example: the maintenance bill
Say you use 5 coding agents and maintain 14 skills. Scattered, that's up to 5 × 14 = 70 files. A single improvement to your "write tests first" skill requires 5 edits — or, realistically, 1 edit and 4 forgotten copies.
After centralizing: 14 canonical files and 5 link sets. That same improvement is 1 edit, propagated everywhere instantly. Over a year of, say, 3 improvements per skill, you avoid 14 × 3 × 4 = 168 redundant edits — and, more importantly, zero drift between your agents.
This is the same argument that gave us package managers and monorepos. Agent instructions are just the newest artifact to earn real tooling.