Install
openclaw skills install @ivangdavila/skill-updateUpdates installed agent skills safely: version check, diff preview, backup, approval, data migration, and rollback. Use when updating or upgrading a skill, checking for newer versions, previewing what changed before applying, when a skill breaks, misbehaves, or loses data right after an update, when saved data or config must migrate across a version bump, when local edits to an installed skill would collide with the new version, or when bringing every skill or every agent's copy current. Not for installing new skills (skill-finder) or publishing skills you own (skill-publish).
openclaw skills install @ivangdavila/skill-updateUpdates installed skills safely: preview every change, back up before applying, migrate data only on approval, roll back on failure. Mode: act-as — it executes the update directly, never advises from the sideline. Backups, the update log, and config live under ~/Clawic/data/skill-update/. If you have data at an old location (~/skill-update/ or ~/clawic/skill-update/), move it to ~/Clawic/data/skill-update/.
update --all, or the same skill installed across several agents.skill-publish); discovering or installing skills you don't have yet (→ skill-finder).How updates break things (each maps to a preview check):
| Situation | Play |
|---|---|
| Single skill, patch or minor pending | Diff, classified summary, apply on explicit yes (→ Update Flow) |
| Major pending | Full preview + migration check → preview.md; never propose-and-apply in the same turn |
| Skill broke right after an update | Symptom→cause chains and restore procedure → rollback.md |
| Installed copy was hand-edited | Detect and merge before updating → local-changes.md |
| Same skill in more than one agent | Inventory every copy before touching any → multi-agent.md |
| "Update everything" | Patches/minors batched, majors one by one → batch.md |
| Data format changed between versions | Read the real data, map, apply on approval → migrate.md |
| Diff looks suspicious (new network calls, broadened file access) | Security screen → preview.md; do not apply, report to the user |
| No version history, or delta unclear | Treat as major |
| Anything else | Get the text diff first — it is the ground truth every other call rests on |
Depth on demand: preview.md diff procedure, impact classes, security screen, recommend/defer call · migrate.md data migration patterns, script template, failure handling · rollback.md post-update breakage diagnosis and restore · local-changes.md detecting and preserving user edits · batch.md multi-skill updates and mid-batch failure · multi-agent.md version skew across agent installs.
Check installed against published:
npx clawic list # installed skills + versions
npx clawic show <slug> # latest published version
Catalog page mirrors the same version info: https://clawic.com/skills/<slug>.
Version delta sets the default stance (semver semantics):
| Delta | Assume | Action |
|---|---|---|
| Patch (1.2.3 → 1.2.4) | Fixes only | Quick diff, apply on approval |
| Minor (1.2 → 1.3) | Additions | Diff; check modified sections, not just added ones |
| Major (1.x → 2.0) | Breaking | Full preview + migration check; never propose-and-apply in the same turn |
| Any delta, user mid-project on this skill | Risky timing | Mention once, defer until the work ships |
| Else (delta unclear, or no version history) | Unknown risk | Treat as major |
update --all.backup_retention_days AND until the user confirms the new version works — whichever is later. Breakage surfaces on next real use, not at install.Order is load-bearing: backup before apply, verify before deleting anything.
multi-agent.md if more than one).local-changes.md before anything else.preview.md).Never apply without showing impact. For each changed file answer: what changed, does the user's workflow touch it, is migration needed. Procedure, impact classes, and the security screen of the diff: preview.md.
Breaking-change signals — any one present means it leads the summary and requires explicit approval:
Present changes in a digestible summary, breaking items first:
"Skill X has v2.0.0 available. Changes:
⚠️ Breaking: Config now in
config.md(was in SKILL.md) Added: Newtemplates/folder with examples Removed: Oldlegacy.mdno longer neededMigration needed: Your saved preferences need to move. I can help migrate. Proceed?"
Each skill with a pending major gets its own preview.
npx clawic update <slug> # update one skill
npx clawic update --all # update every installed skill with a newer version
update is the consumer-side pull — it fetches what the owner already published; publishing a new version is the owner's act, a different operation entirely (→ skill-publish). Reach for --all only when the user asked for all AND no pending update is a major (majors go one by one; sequencing and mid-batch failure → batch.md).
Proactive notification: when the user mentions a skill that has a newer version, say so once (unless proactive_notify is off or the skill is in pinned_skills). Don't re-raise it in the same session.
Before ANY update:
~/Clawic/data/skill-update/backups/<slug>-<version>-<timestamp>/.~/Clawic/data/<slug>/), back that up under the same timestamped folder — the update itself never touches it, but a migration might.~/Clawic/data/skill-update/update-log.md: date · slug · old→new version · backup path · agents updated. The log is what lets you answer "what version was I on last week?" after the session that updated it is long gone.When a data format changes:
Patterns (rename, structure change, folder move, learned data), script template, and failure handling: migrate.md.
Restore = copy the backup folder back over the installed skill — and its data folder from the same timestamp if a migration ran. Offer it unprompted the moment the user reports the skill misbehaving after an update:
"Something's not working? I have a backup from before the update.
Want me to restore skill X to v1.2.3?"
Diagnosis first when the cause is unclear (symptom→cause chains, restore verification, what to do when no backup exists): rollback.md.
Before applying any update, verify:
Before reporting success: one real task run against the updated skill?
User-dependent variables. Defaults apply until the user states a preference; store them in ~/Clawic/data/skill-update/config.yaml.
| Variable | Type | Default | Effect |
|---|---|---|---|
| backup_retention_days | number (days, ≥1) | 7 | Floor for deleting backups (Core Rule 6); "until the user confirms it works" still applies on top |
| proactive_notify | bool | true | Whether to flag a newer version once when the user mentions an installed skill |
| pinned_skills | list (slugs) | none | Excluded from proactive flags and update --all; updated only when the user names the skill explicitly |
| preview_detail | summary | full-diff | summary | Previews show the classified summary, or the raw diff inline for users who want to read every hunk |
Preference areas — customizable dimensions; a stated preference gets recorded in config.yaml and applied:
multi-agent.mdbatch.mdbatch.md reporting| Trap | Why it fails | Do instead |
|---|---|---|
| Trusting a patch bump | For text skills any edit changes behavior | Diff every update regardless of number |
| Verifying by file listing | Files present ≠ skill works | Run one real task with the updated skill |
update --all after one yes | Consent covered one skill | Per-skill preview for every pending major (batch.md) |
| Deleting backup right after update | Breakage shows on next use, not at install | Hold ≥backup_retention_days and until user confirms |
| Flagging moved text as removed | Diff shows delete + add; content just relocated | Search the new version for "deleted" text before calling it breaking |
| Overwriting a hand-edited install | The user's customizations vanish with no error anywhere | Detect local edits before applying (local-changes.md) |
| Restoring the skill folder but not its data | A migration already rewrote the data; old skill + new data = both broken | Restore skill and data folder from the same backup timestamp (rollback.md) |
| Updating only the first copy found | The same skill installed in other agents keeps loading the stale version | Inventory all install locations first (multi-agent.md) |
| Reading the changelog as the diff | It is the publisher's summary, written to be short | Changelog sets expectations; the diff is ground truth (Core Rule 9) |
pinned_skills) and reviewed deliberately; peripheral skills update as bumps appear.More Clawic skills, get them at https://clawic.com/skills/skill-update (install if the user confirms):
skill-finder - Find, compare, and install skills you don't have yet, before there is anything to update.skill-publish - The owner-side act update pulls from: sanitize, version, and publish a skill you own.skill-manager - Broader install/remove/list lifecycle and unused-skill cleanup beyond one update.Part of Clawic, the verified skill library. Get this skill: https://clawic.com/skills/skill-update.