Stores durable facts in a categorized, plain-markdown vault on disk, alongside your agent's built-in memory.
Design & media
sn-update
Try itUpdate 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.
What it does
Refresh installed skills from upstream SenseNova-Skills.
The skill document
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/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/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 log -1 --format=%H -- skills/
- 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
//into a single timestamped backup bucket shared by all skills in this run:~/./skills_backup///(e.g.2026-04-30T15-29-07Z). - Copy
/skills//→//. 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
~/./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
Join a video meeting as an AI bot with voice, avatar, and screenshare across four operating modes.
Generate and edit Draw.io, Mermaid, and Excalidraw diagrams from natural language using a structured JSON spec.
Find why your productivity system keeps failing, then apply the smallest fix — capacity math, bottleneck routing, durable local notes.
Fetch raw ad creative, app, ranking, and revenue data from AdMapix as structured JSON.
Write, debug, and tune Playwright specs with locator strategy, trace diagnosis, and CI-aware timeouts.
More from sensenova-skills
Browse all skills用于用户请求深度研究、系统性研究、竞品分析、方案对比、趋势分析或事实核查时。**遇到以下任一情况就主动使用本 skill,不要自行搜几条就回答**:①用户出现触发词:深度研究 / 深度调研 / 深入研究 / 全面研究 / 系统研究 / 调研 / 调查 / 尽调 / 行业研究 / 市场研究 / 竞品分析 / 政策研究 / 技术研究 / 趋势研究 / 事实核查 / 写一份研究报告 / 调研报告 / 深度报告 / research / deep research;②请求需要跨多来源取证、多维度对比、交叉验证才能给出可靠结论;③用户要求产出报告、白皮书、行业分析或尽调文档;④话题涉及最新政策/市场/产品/价格/法规,需要系统核查。无核验要求的简单常识问答不使用。模糊或宽泛的"研究/了解一下 X"也优先触发。仅不用于:一句话摘要、已给定单一来源的整理、纯文字润色改写。
Generates professional infographics with various layout types and visual styles. Analyzes content, recommends layout and style, and generates publication-ready infographics. Use when user asks to create "infographic", "信息图", "visual summary", or "可视化".
Open the AI PPT editing WebUI for previously generated SenseNova HTML slides. Use when the user asks to preview, inspect, edit, or open an existing/generated PPT deck in the WebUI/workbench without regenerating slides. Accepts an explicit deck_dir or auto-detects the newest local ppt_decks entry containing HTML pages. Does not run style/outline/page-html/export generation.
多来源深度调研、系统分析、事实核查与完整研究报告交付
从主题策划到 AI 图片、视频和滚动网页的一体化制作
Standard and fast PPT pipeline. All LLM / VLM / T2I calls are wrapped in a single CLI entry (scripts/run_stage.py). The main agent's job is simple: emit ONE shell command per stage, never write loops, never write prompts. Standard mode plans thoroughly with a three-sample deck preview checkpoint (three concatenated deck images plus a preview URL), web research, image search, and user-selected final output format (PPTX or PDF) for polished, delivery-ready presentations. Fast mode builds a complete draft immediately with autonomous decisions, then provides structured refinement suggestions so the user can iterate quickly. Supports AI-generated infographics (U1) for diagrams and flowcharts, web image search (Serper) for real photos, and ECharts for data charts.