worktree-data-sync
Sync non-git data (datasets, outputs, caches, symlinked data) between git worktrees.
Skill by FuZhiyu
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/fuzhiyu-worktree-data-sync
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: data
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md and code. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
- Runs as
- Python package
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/worktree-data-sync
What's inside
- Skill name
worktree-data-sync- Description
- Sync non-git data (datasets, outputs, caches, symlinked data) between git worktrees. Use proactively whenever creating or entering a worktree whose work depends on non-git-tracked data — seed the data in before dispatching or doing work there — and to seed, diff, reconcile, or tear down managed data between existing worktrees.
- License
- MIT
- Instructions
- 147 lines in SKILL.md · view on GitHub
Before installing
- Ships executable scripts
Files (4)
- SKILL.md
- sync_worktree_data.py · scripts/
- test_worktree_data_sync.py · scripts/
- worktree_data_discovery.py · scripts/
SKILL.md (first lines)
# Worktree Data Sync Skill Non-git data sync between existing worktrees — seed, diff, apply, data teardown. Worktree lifecycle (create / enter / remove): `skills/agent-orchestration/references/worktree-harness-fallback.md`. ## When to Use Activate the data-sync CLI below for: - seeding non-git-controlled data from one existing worktree into another - comparing non-git files across existing worktrees - copying managed data between worktrees - reconciling non-git differences after parallel work ## Command Surface Single CLI entrypoint (`<skill-dir>` = directory containing this `SKILL.md`; `--from` defaults to the worktree containing the caller's current directory): ```bash python3 <skill-dir>/scripts/sync_worktree_data.py --to <worktree-path> --mode <seed|diff|apply> [OPTIONS] ``` ## Modes ### `--mode seed` Materialize missing managed files in destination from source. Never overwrites existing destination files. Per managed directory root, a stat-only preflight walk picks the cheapest path: - **fresh, clean destination:** one `cp -c -R -p` clones the whole root (COW where the filesystem supports it, falling back to `shutil.copytree`) - **fresh destination with cloud-placeholder (dataless) files:** only the directories holding a placeholder are recreated — placeholders become symlinks to their resolved source, siblings clone whole, loose files batch-copy - **more than half the root's files are dataless:** seeds per-file (symlink placeholders, batch-copy the rest) and prints a suggestion to annotate the root `# data-sync:symlink`, since it never switches modes automatically - **destination root already exists:** falls back to the per-file merge walk, copying only what's missing Every failed path is recorded with its reason; seed prints the listing to stderr (capped, plus a total count) and exits nonzero when any path failed. Optional: `--seed-sync-mode <auto|force-symlink|force-cow>` (default: `auto`) - `auto`: preserve current per-path behavior (symlink-only roots get symlinks, others get copies) - `force-symlink`: create top-level symlinks for all managed roots when the destination path does not already exist; conflicting paths are skipped - `force-cow`: copy/COW all managed roots, including symlink-only annotated paths `--seed-sync-mode` is valid only with `--mode seed`; the CLI rejects it elsewhere. ### `--mode diff` Report source-to-destination differences for managed files. Statuses: - `new`: exists in source but missing in destination - `modified`: exists in both but differs - `unchanged`: identical (only shown with `--include-unmodified`) Output options: - human-readable report (default) - JSON report (`--json`), compatible with apply mode ### `--mode apply` Execute sync actions for selected changes. Actions: - `--action overwrite`: copy source file to destination path - `--action rename`: copy source file to destination with suffix Selection options: - `--from-json <file>` from prior diff output - `--files <path...>` for explicit relative paths - omit both to auto-process current diff (`new` + `modified`) No delete/discard action is provided. ## Managed Path Discovery Discovery is stateless and source-driven. Managed roots come from: - gitignored paths via `git ls-files --others --ignored --exclude-standard --directory`, minus a built-in denylist (below) - tracked symlinks that resolve outside the repo - top-level symlink safety net, skipping symlinks git already tracks (git checks those out in the destination) - `.gitignore` symlink-only annotations A gitignored entry whose basename matches a well-known non-data name — `.venv`, `venv`, `.direnv`, `node_modules`, `__pycache__`, `.pytest_cache`, `.mypy_cache`, `.ruff_cache`, `.tox`, `.nox`, `.cache`, `.ipynb_checkpoints`, `.quarto`, `dist`, `build`, `*.egg-info`, `.DS_Store`, `.env`, `.envrc`, `.worktrees`, `.claude`, `.codex` — is excluded from managed entries. The denylist filters discovered entries only — it excludes nothing from inside an otherwise-managed root. A `# data-sync:symlink` annotation always wins over the denylist, so an annotated root stays managed even under a denylisted name. Annotate a path as symlink-only by adding a **duplicate line** with the tag comment: ```gitignore Data/ Data/ # data-sync:symlink ``` The first line is the actual gitignore rule; the second is the annotation the discovery script parses. Legacy tag `# worktree:symlink` is also supported. Symlink-only roots are symlinked in seed auto mode and excluded from diff/apply actions. ## Examples ```bash # Seed from the current worktree into destination python3 <skill-dir>/scripts/sync_worktree_data.py \ --to ../MyRepo-feature \ --mode seed # Seed using top-level symlinks for all managed roots python3 <skill-dir>/scripts/sync_worktree_data.py \ --to ../MyRepo-feature \ --mode seed \ --seed-sync-mode force-symlink # Seed using copy/COW for all managed roots (including symlink-only) python3 <skill-dir>/scripts/sync_worktree_data.py \ --to ../MyRepo-feature \ --mode seed \ --seed-sync-mode force-cow # Diff explicit source -> destination python3 <skill-dir>/scripts/sync_worktree_data.py \ --from ../MyRepo-expA \ --to ../MyRepo-expB \ --mode diff --json # Apply overwrite using diff json
From FuZhiyu/superRA, MIT.
More from FuZhiyu/superRA
- 0.637score
slide-design
FuZhiyu
Research slide communication.
SkillAFreshness: A★ 11Claude Code +9 - 0.637score
superimplement
FuZhiyu
Run a superRA task tree autonomously through dispatched implementer and reviewer seats.
SkillAFreshness: A★ 11Claude Code +9 - 0.637score
communicate
FuZhiyu
Communication discipline for writing, rewriting, distilling, and reviewing any text meant for human reading, including conversation, task files, planning…
SkillAFreshness: A★ 11Claude Code +9 - 0.637score
superplan
FuZhiyu
Proactively plan or update superRA work.
SkillAFreshness: A★ 11Claude Code +9 - 0.637score
reproducibility
FuZhiyu
Register and verify task-declared reproduction graphs.
SkillAFreshness: A★ 11Claude Code +9 - 0.637score
result-protection
FuZhiyu
Protect key research results with permanent documentation, drift tests, or artifact-appropriate checks.
SkillAFreshness: A★ 11Claude Code +9 - 0.637score
onboarding
FuZhiyu
Bring an existing research project into superRA — a retroactive task tree, a reproduction graph, version control, and an optional isolated reproduction run —…
SkillAFreshness: A★ 11Claude Code +9 - 0.634score
using-superra
FuZhiyu
Master superRA workflow skill.
SkillAFreshness: A★ 11Claude Code +9 - 0.634score
zotero-paper-reader
FuZhiyu
Use Zotero to find, read, summarize, cite, or export academic papers.
SkillAFreshness: A★ 11Claude Code +9 - 0.634score
academic-writing
FuZhiyu
Academic prose support.
SkillAFreshness: A★ 11Claude Code +9 - 0.634score
agent-orchestration
FuZhiyu
Coordinate superRA agents and handoffs.
SkillAFreshness: A★ 11Claude Code +9 - 0.634score
econ-data-analysis
FuZhiyu
Economic data-analysis discipline.
SkillAFreshness: A★ 11Claude Code +9
Signals
- Stars
- 11
- Forks
- 2
- Open issues
- 5
- Last commit (this folder)
- Aug 19, 2026 (2 months ago)
- Last release
- Oct 5, 2026 (23 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/FuZhiyu/superRA
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from FuZhiyu
- 0.637score
result-protection
FuZhiyu
Protect key research results with permanent documentation, drift tests, or artifact-appropriate checks.
SkillAFreshness: A★ 11Claude Code +9 - 0.637score
superimplement
FuZhiyu
Run a superRA task tree autonomously through dispatched implementer and reviewer seats.
SkillAFreshness: A★ 11Claude Code +9 - 0.637score
reproducibility
FuZhiyu
Register and verify task-declared reproduction graphs.
SkillAFreshness: A★ 11Claude Code +9 - 0.637score
onboarding
FuZhiyu
Bring an existing research project into superRA — a retroactive task tree, a reproduction graph, version control, and an optional isolated reproduction run —…
SkillAFreshness: A★ 11Claude Code +9 - 0.637score
slide-design
FuZhiyu
Research slide communication.
SkillAFreshness: A★ 11Claude Code +9 - 0.637score
superplan
FuZhiyu
Proactively plan or update superRA work.
SkillAFreshness: A★ 11Claude Code +9
Cite this page
worktree-data-sync skill. Agent Mart. https://agentmart.dev/skills/fuzhiyu-worktree-data-sync (last updated 2026-10-24)