Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Convention + tooling for where agent-cloned repos live and how their worktrees are arranged. Default bare repo at `~/.x-repo/.bare/<provider>/<owner>/<name>.git` with linked working trees under `~/.x-repo/<provider>/<owner>/<name>[/@<wtname>]`. Discovered via `x repo ls`. Worktree management via `x repo wt`. Use for "where to clone", "git clone path", "workspace layout", "shared repos between agents", "worktree path".
.claude/skills/x-cmd-repo/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-01 | ✗→✓ | ▲ Improved | -4% | 0% |
| case-02 | ✗→✓ | ▲ Improved | -63% | 0% |
| case-03 | ✗→✓ | ▲ Improved | -7% | 0% |
| case-04 | ✗→✓ | ▲ Improved | -28% | 0% |
| case-05 | ✗→✓ | ▲ Improved | -43% | 0% |
All clones converge at ~/.x-repo/<provider>/<owner>/<name>. Same path for every agent, human, CI — mountable into containers or agent sandboxes so they share without re-cloning. One root to back up; discoverable via x repo ls. Layout mirrors github paths so ../<sibling> from any worktree resolves to that sibling's default worktree — configs and scripts that reference siblings work uniformly across wts and agents.
~/.x-repo/.bare/<provider>/<owner>/<name>.git~/.x-repo/<provider>/<owner>/<name>~/.x-repo/<provider>/<owner>/<name>@<wtname>@<wtname> — wtname is any identifier for this workspace: agent/worker name, branch name, tag, short SHA, issue id, free-form string. / in wtname encodes to ~.
By default, repos are bare with linked worktrees — the bare in .bare/, a separate directory from the worktrees, so rm -rf of one wt can't reach it. Plain git clone is also accepted (x repo ls/which/update see it) but without geometric protection. Please be careful in that case: don't rm -rf, prefer git worktree remove, and avoid cleanup heuristics that target .git/. Mid-task work lost this way can't be realigned with the original repo.
bashx repo <id> # cd to default wt (auto-clones if missing) x repo wt <id> <wtname> # attach to existing branch, or create new from HEAD x repo wt ls <id> # list wts x repo wt rm <id> <wtname> # graceful remove (use this, not rm -rf) x repo update <id> # refresh default wt after upstream changes x repo ls [--raw|--tsv] # discover what's cloned x repo which <id>[@<wtname>] # resolve id to absolute path
rm -rf a designed worktree. It leaves stale entries in the bare's worktrees/ registry. Use x repo wt rm. If you must, run git -C <bare> worktree prune afterwards.| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→pass | 9,277 | 5,691 | -39% | 1 | 1 | 0% | 1,516 | 1,457 | -4% | 0 | 0 | — |
case-02 | fail→pass | 15,261 | 2,556 | -83% | 1 | 1 | 0% | 2,473 | 904 | -63% | 0 | 0 | — |
case-03 | fail→pass | 7,915 | 15,497 | +96% | 1 | 1 | 0% | 1,199 | 1,113 | -7% | 0 | 0 | — |
case-04 | fail→pass | 11,938 | 9,532 | -20% | 1 | 1 | 0% | 1,982 | 1,430 | -28% | 0 | 0 | — |
case-05 | fail→pass | 11,813 | 2,879 | -76% | 1 | 1 | 0% | 1,736 | 997 | -43% | 0 | 0 | — |
case-06 | fail→pass | 8,379 | 2,530 | -70% | 1 | 1 | 0% | 1,305 | 1,014 | -22% | 0 | 0 | — |
case-07 | fail→pass | 10,817 | 7,060 | -35% | 1 | 1 | 0% | 1,771 | 1,164 | -34% | 0 | 0 | — |
case-08 | pass→pass | 27,671 | 3,988 | -86% | 1 | 1 | 0% | 605 | 1,200 | +98% | 0 | 0 | — |
case-09 | fail→pass | 19,239 | 4,066 | -79% | 1 | 1 | 0% | 1,720 | 895 | -48% | 0 | 0 | — |
case-10 | fail→pass | 11,048 | 2,268 | -79% | 1 | 1 | 0% | 1,758 | 889 | -49% | 0 | 0 | — |
case-11 | fail→pass | 9,860 | 2,976 | -70% | 1 | 1 | 0% | 394 | 962 | +144% | 0 | 0 | — |
case-12 | fail→pass | 6,191 | 2,442 | -61% | 1 | 1 | 0% | 863 | 869 | +1% | 0 | 0 | — |
case-13 | fail→pass | 27,259 | 2,521 | -91% | 1 | 1 | 0% | 5,127 | 887 | -83% | 0 | 0 | — |
case-14 | fail→pass | 11,664 | 3,569 | -69% | 1 | 1 | 0% | 2,275 | 914 | -60% | 0 | 0 | — |
case-15 | pass→pass | 16,372 | 11,906 | -27% | 1 | 1 | 0% | 2,391 | 2,296 | -4% | 0 | 0 | — |
case-16 | pass→pass | 16,577 | 11,721 | -29% | 1 | 1 | 0% | 2,357 | 2,710 | +15% | 0 | 0 | — |
case-17 | pass→pass | 17,352 | 7,597 | -56% | 1 | 1 | 0% | 1,571 | 1,340 | -15% | 0 | 0 | — |
case-18 | fail→pass | 36,505 | 4,529 | -88% | 1 | 1 | 0% | 3,330 | 1,091 | -67% | 0 | 0 | — |
case-19 | pass→pass | 11,878 | 2,514 | -79% | 1 | 1 | 0% | 1,580 | 919 | -42% | 0 | 0 | — |
case-20 | pass→pass | 5,470 | 4,860 | -11% | 1 | 1 | 0% | 826 | 1,155 | +40% | 0 | 0 | — |
case-21 | pass→pass | 11,235 | 3,467 | -69% | 1 | 1 | 0% | 938 | 1,045 | +11% | 0 | 0 | — |
case-22 | pass→pass | 5,754 | 3,576 | -38% | 1 | 1 | 0% | 895 | 1,090 | +22% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted. The headline lift of +64 percentage points is the difference between those two pass rates over the 22 comparable cases.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.