Local-modification-preserving clawhub skill updater.
You modified a clawhub-installed skill → clawhub released a new version → Skill-Updater updates while preserving your local changes.
text
Step 1: Save modifications
→ Scans skill directory, generates unified diff patch
→ Backs up originals to .skill-updater/originals/
Step 2: clawhub update
→ clawhub update downloads new version files
Step 3: Try to merge
→ patch --dry-run attempts to apply changes to new version
→ Success: written with your changes preserved ✅
→ Fail: show diff, user decides manually
text
skill-dir/
├── .skill-updater/
│ ├── mod.patch # unified diff of your changes
│ └── originals/ # snapshot of original files at install time
└── [skill files]
bash
# Dry-run: preview which skills have updates and conflicts
python3 git_update.py
# Apply updates
python3 git_update.py --apply
# Update specific skill
python3 git_update.py --apply --skill <slug>
# Show saved modifications
python3 git_update.py --show-patch
# Discard modifications (accept new version, drop your changes)
python3 git_update.py --discard --skill <slug>
SituationResultPatch applies cleanlyNew version + your changes preserved ✅Same area modified by bothShow diff, user decidesNo local modificationsDirect clawhub update ✅Choose to discardDelete patch, accept new version
clawhub CLIdiff (coreutils)patch (coreutils)python3 git_update.py without --apply first to preview--discard