sn-update
Update SenseNova Skills (the sn-* bundle) inside an OpenClaw or hermes-agent install. ALWAYS use this skill when the user says any of: "update SenseNova skills", "update SN skills", "更新 sensenova skills", "更新 sn skills", "刷新 sn-*", "升级 sn-* skills", or names a specific sn-* skill to update (e.g.
Install / Use
npx skills add OpenSenseNova/SenseNova-Skills --skill sn-updateInstalls into whichever agent you are using.
SKILL.md
Installable skill definition
Quality Score
Category
Development & EngineeringSupported Platforms
Our assessment of sn-update
sn-update scores 87/100 on our quality scale, 842nd of 2,398 Development & Engineering skills we index (top 36%).
Its SKILL.md is 5.4 KB long, well organised into 9 sections with 2 code examples: a solid amount of guidance for an agent.
With 5,691 GitHub stars, it is one of the more widely adopted skills in the catalogue.
Maintenance, license and trust
- The repository was last updated 8 days ago, so sn-update is actively maintained.
- It is released under the MIT license, a permissive license that allows use, modification and commercial use with attribution.
- Its trust signals score 100/100, with no cautions. These come from repository metadata, not a code audit — read the skill file before letting an agent act on it.
sn-update compared with similar skills
All 4 of these similar skills score higher than sn-update; compare them before choosing.
| Skill | Score | Stars | Updated | Format |
|---|---|---|---|---|
| sn-update (this skill)by OpenSenseNova | 87 | 5.7k | 8d ago | SKILL.md |
| ai-job-searchby MadsLorentzen | 100 | 44.0k | 5d ago | CLAUDE.md |
| claude-howtoby luongnv89 | 100 | 41.7k | today | CLAUDE.md |
| LocalAIby mudler | 100 | 49.3k | today | MCP Server |
| algorithmic-artby anthropics | 100 | 177.9k | 4d ago | SKILL.md |
Frequently asked questions
- How do I install sn-update?
- Run
npx skills add OpenSenseNova/SenseNova-Skills --skill sn-update. The install tabs above show the steps for each supported agent. - Which AI agents does sn-update work with?
- It is written for Universal, as a SKILL.md file. Other agents that read the same format can often use it too.
- Is sn-update safe to use?
- It is MIT-licensed and scores 100/100 on trust signals. Skills are instructions an agent will follow, so read the file before installing it and do not approve commands you do not understand.
- Is sn-update still maintained?
- The repository was last updated 8 days ago, so sn-update is actively maintained.
Skill content
View source on GitHubname: sn-update description: | Update SenseNova Skills (the sn-* bundle) inside an OpenClaw or hermes-agent install. ALWAYS use this skill when the user says any of: "update SenseNova skills", "update SN skills", "更新 sensenova skills", "更新 sn skills", "刷新 sn-", "升级 sn- skills", or names a specific sn-* skill to update (e.g. "更新 sn-ppt-standard", "refresh sn-image-base"). Default scope is the whole sn-* bundle; if the user names specific skills, update ONLY those. metadata: project: SenseNova-Skills tier: 1 category: meta user_visible: true triggers:
- "sn-update"
- "更新 sn"
- "更新 sensenova"
- "update sn skills"
- "update SN skills"
- "更新 sn skills"
- "刷新 sn-*"
- "刷新 sn skills"
- "更新 sn-ppt-standard"
- "refresh sn-image-base"
- "update sensenova skills"
sn-update
Refresh installed sn-* skills from upstream
SenseNova-Skills.
Decide the scope
- No list given → every
sn-*skill upstream. - Specific skills named → only those. Don't expand.
- A named skill missing upstream → surface as error and stop.
- User said "force / 强制" → re-install even when up-to-date.
Decide the target agent
Check which directories exist:
| ~/.openclaw/skills/ | ~/.hermes/skills/ | Target |
|---|---|---|
| exists | absent | openclaw |
| absent | exists | hermes |
| exists | exists | ask the user — never silently dual-write |
| absent | absent | no install found, stop |
Sync the upstream repo
Persistent cache at ~/.cache/sn-update/repo/. Default URL:
https://github.com/OpenSenseNova/SenseNova-Skills.git. User may override
with a fork URL.
- First run: if you want to actually limit blob download, use partial
clone with
--filter=blob:none --no-checkout, then sparse-checkout only the selectedskills/<name>paths before copying them.--filter=blob:nonealone does not keep the cache small if the full worktree is checked out; that checkout will still download most or all needed blobs. It still preserves history metadata for SHA queries. - Subsequent runs: fetch + hard-reset to the upstream default branch, and
re-apply sparse-checkout for only the requested
skills/<name>paths before copying. If updating the wholesn-*bundle, expect most/all skill blobs to be downloaded. - URL changed: if cache's
origindiffers from the requested URL, delete and re-clone.
Compare versions per skill (A → B → C)
For each skill, pick the highest-precedence signal present on both sides (installed + upstream); equal → skip, differ → install.
Upstream "version" is the per-subtree commit SHA — using repo HEAD would mark unrelated skills as stale every time:
git -C <cache> log -1 --format=%H -- skills/<skill-name>
- A —
.sn-versionmarker: one-line file inside the installed skill holding the SHA from its last install. - B —
.sn-releasemarker (fallback): one-line file holding the upstream tag name. Compare againstgit describe --tags --abbrev=0. - C — optional
version:field in SKILL.md frontmatter: parse from YAML on both sides, but only for forks or skills that explicitly add this field. If either side lacks it, C does not apply. - Nothing usable → treat as stale and install.
Always write .sn-version on install so future runs can use A.
Install with backup
For each skill flagged "install":
- Move (not copy) any existing
<agent-skills>/<skill-name>/into a single timestamped backup bucket shared by all skills in this run:~/.<agent>/skills_backup/<UTC-timestamp>/<skill-name>/(e.g.2026-04-30T15-29-07Z). - Copy
<cache>/skills/<skill-name>/→<agent-skills>/<skill-name>/. Never symlink (ln -s) from the cache. The cache lives under~/.cache/with permissions the agent runtime may not be able to traverse, and some runtimes refuse to load skills resolved through symlinks. Always do a real recursive copy so the installed tree is self-contained and owned by the agent skills dir. - Write
.sn-versionwith the upstream subtree SHA inside the new copy.
If the bucket ends up empty (all targets were fresh installs), remove it.
The backup tree is a sibling of skills/, never a .bak folder
inside it — most agent runtimes scan the whole skills/ directory and
would pick up stale duplicates.
Enforce backup retention
After every run, prune the per-agent backup root to at most 3 buckets. Timestamps sort lexicographically; keep the newest 3, delete the rest. Run this even when the current run produced no backup of its own.
Report to the user
Group by status, keep it short:
Updated (3): sn-ppt-standard, sn-image-base, sn-deep-research
Already up-to-date (5): sn-ppt-creative, sn-ppt-doctor, ...
Backup: ~/.openclaw/skills_backup/2026-04-30T15-29-07Z/
- Omit
Backup:when nothing was backed up. - Show SHA pairs (
abc1234 → def5678) only if the user asks for detail. - Errors get their own line — never bury them in a success summary.
Edge cases
- Asks to delete sn- skills* — not this skill's job. Decline; point at
~/.<agent>/skills_backup/if they want to roll back. - User is in the dev repo and asks to "update sn skills" — they mean push to their agent install. Proceed normally; this skill only touches the cache and the agent install dirs, never the dev checkout.
sn-updateupdating itself — fine; the new copy takes effect on the next invocation.
Related Skills
ai-job-search
44.0kThe job search that runs on your machine. AI job application framework built on Claude Code: evaluate postings, tailor CVs, write cover letters, prep interviews. Fork it and own it.
claude-howto
41.7kA visual, example-driven guide to Claude Code — from basic concepts to advanced agents, with copy-paste templates that bring immediate value.
LocalAI
49.3kLocalAI is the open-source AI engine. Run any model - LLMs, vision, voice, image, video - on any hardware. No GPU required.
algorithmic-art
177.9kCreating algorithmic art using p5.js with seeded randomness and interactive parameter exploration. Use this when users request creating art using code, generative art, algorithmic art, flow fields, or particle systems.
Languages
Trust signals
From repository metadata: license, adoption, age and documentation. Not a code audit — see the Safety scan above for what the skill file itself contains.
