Force update over local edits
You tweaked an installed skill, the hub has since moved on, and you want the
hub's copy back — or you aren't sure what changed and want to look before you
lose anything. quay never resolves this silently: a plain quay add on a skill
you already have shows you the difference and stops.
Look first
quay scan # status column: installed-modified = edited since install
quay outdated # version bumps, and content that differs whatever the version says
quay diff csv-parse
quay diff compares the whole skill directory and gives a verdict from hub
history — hub ahead, your copy ahead, or changed in an unknown direction — then
a per-file diff. + lines are what the hub would give you, - lines are what
you'd lose. It writes nothing.
If any of your edits are worth keeping, push them first
(quay push csv-parse) or copy them somewhere. Nothing below has an undo
except your project's own git history.
Take the hub's copy
quay add csv-parse --force
This overwrites every file the hub's version contains. It skips the reconcile step entirely — no verdict, no prompt.
Without --force, in a terminal, quay add csv-parse prints the verdict and
diff and asks what to do with that one skill. Use that when you want to decide
per skill rather than overwrite.
Files only you have
The hub's version may not contain every file in your copy — notes you added, or a file the hub deleted since. quay can't tell those apart, so in a terminal it lists them and asks. Decide up front instead:
quay add csv-parse --force --keep-extra # keep them, no prompt
quay add csv-parse --force --delete-extra # exact hub copy, no prompt
With no terminal and neither flag, they are kept. Dotfiles and symlinks are never touched.
Several at once
quay add -i --force
In the picker, --force overwrites every selected skill. Without it, quay asks
once for all collisions: update all, skip all, or prompt per skill.
Gotchas
quay updatewon't help with drift — for frontmatter skills. It acts on version upgrades there. A skill whose content differs at the same version — your edit, or a hub fix that didn't bumpversion— needsquay add --force. Slash-command and freestyle skills (no YAML frontmatter) are compared by content, so for themupdatedoes act on drift — and overwrites your edits. A frontmatter skill that merely omitsversionis not: it counts as0.0.0on both sides, soupdateskips it — usequay add --force.- Mirrors follow. Configured mirrors (
[install].mirrors) are re-applied after the install, so.claude/skills/csv-parseand friends get the new copy too. --delete-extratrusts the hub'sregistry.json. If the registry is stale, a file that still exists upstream can be deleted.quay rebuild-registryon the hub fixes the registry.