Guide · Agent skill
How to use the Update installed skills agent skill (update-skills)
Updated · written with AI from the project's own documentation and checked against our catalogue data
The update-skills skill teaches an AI agent how to refresh the code for channel and provider add-ons that are already installed in a NanoClaw project, usually right after NanoClaw itself has been updated. This guide explains what the skill does, how to install it, how to ask for it in plain language, and what it needs before it runs. By the end you will know when it is the right tool and how to read its result.
Quick start
- 1Install the skill. Download the ZIP from this page and unzip it into ~/.claude/skills/ or a project's .claude/skills/ folder, or upload it under Settings → Capabilities → Skills.
- 2Check the working tree. Run git status --porcelain in the NanoClaw project root. Commit or stash anything listed, because the skill stops on a dirty tree.
- 3Ask for the refresh. Tell the agent in plain language to refresh installed channel and provider code, or name the specific skills you want refreshed.
- 4Let the helper run. The agent runs pnpm exec tsx scripts/update-skills.ts --skills all, or a comma-separated subset, and reads the JSON result.
- 5Confirm every skill refreshed. Continue only if success is true and every status is refreshed. Otherwise fix the blocking item and rerun.
- 6Validate the checkout. The agent runs pnpm run build and pnpm test, plus the type check and image rebuild if the relevant container files changed.
- 7Review the report. Check the selected skills, registry remotes, changed files and validation results before committing.
What is an agent skill, and what does update-skills make the agent do?
An agent skill is a folder containing a SKILL.md file that gives an AI agent step-by-step instructions for one task. When the task matches, the agent follows those instructions in your project.
The update-skills skill is for NanoClaw projects. It refreshes the code carried by channel and provider skills that are already installed. Channel skills are refreshed from their registry branch in git. Provider skills are refreshed from their own payload folder in the checkout. The skill does not add new channels or providers.
- Checks that the git working tree is clean before starting
- Runs a helper script to pull the latest versions of installed channel and provider add-ons
- Stops and reports if any selected add-on did not refresh fully
- Only then builds, tests and, if container files changed, rebuilds the container image
- Does not re-run credential setup, edit .env, change wiring or restart services
Install the update-skills skill
Download the ZIP for this skill from this page. Then choose one of the two install routes below.
For Claude Code, unzip the file into ~/.claude/skills/ to make it available for all your projects, or into a project's .claude/skills/ folder to limit it to that project.
In the Claude apps, you can upload the skill under Settings → Capabilities → Skills instead.
- Personal install: unzip into ~/.claude/skills/
- Project install: unzip into the project's .claude/skills/
- Claude apps: Settings → Capabilities → Skills, then upload
Check what you need before running it
The skill assumes a NanoClaw project checkout with configured git remotes. It also needs git, pnpm with tsx available to run scripts/update-skills.ts, and Docker or the container tooling used by ./container/build.sh. Channel refreshes fetch registry branches from git remotes, so network access is required.
The skill is only meaningful inside the NanoClaw repository, because the helper script and paths exist only there.
- Git
- pnpm with tsx (used to run scripts/update-skills.ts)
- A NanoClaw project checkout with configured git remotes
- Docker or the container tooling used by ./container/build.sh
- Network access to fetch registry branches for channel skills
Trigger the skill with a natural request
You do not need a special command. Describe what you want in ordinary language from inside the NanoClaw project root. The agent will match the request to the skill's description, which covers updating NanoClaw and refreshing stale channel or provider code.
If you only want some add-ons refreshed, name them. The skill passes a comma-separated list to the helper. Otherwise it uses all installed channels and providers.
- "I just pulled a new NanoClaw version. Refresh the installed channel and provider code."
- "Update the installed skills for this project."
- "Refresh only the slack and opencode skills."
pnpm exec tsx scripts/update-skills.ts --skills allRead the result before you trust it
The helper prints JSON with one result per selected skill and exits with an error unless every selected skill was fully refreshed. The agent should continue only when success is true and every status is refreshed. A missing skill, unresolved input, fetch error or dependency error blocks the update.
If the refresh succeeds, the agent runs the build and test commands. If files under container/agent-runner/src/ changed, it also runs a type check. If anything under container/ changed, it rebuilds the agent image using the source mode set in .env. Any validation or image failure is blocking.
- Continue only when success is true and all statuses are refreshed
- Keep the full report in your update summary
- Expect a summary of selected skills, registry remote per branch, changed files and validation results
pnpm run build
pnpm testSafety notes: scripts, git and network
This skill runs a script and fetches from git remotes. The refresh engine overwrites skill-owned registry files and advances exact dependency and CLI-manifest pins. Review the changed files in the report before you commit.
The skill refuses to run on a dirty working tree, by design. Commit or stash unrelated edits first so that a refresh does not mix with them.
For a fork, the skill checks configured remotes to find the registry branch. If you set NANOCLAW_REGISTRY_REMOTE, that name is used as an explicit override and is validated before use.
- Commit or stash changes before running, so the clean-tree check passes
- Expect overwritten skill-owned registry files and advanced dependency pins
- Network access is used to fetch channel registry branches
- Restarts are not done by the helper; standalone refreshes may restart the service through the mode that owns your install
Tips for reliable refreshes
Run the skill right after you update NanoClaw, so installed add-ons do not drift behind the core code. If a refresh is blocked, fix the reported item and run it again rather than skipping it.
If you work in a fork, keep your official source as a remote named upstream and your own repo as origin. The skill handles that layout without extra configuration.
- Refresh immediately after a NanoClaw update
- Fix the blocking item in the report, then rerun
- Keep upstream and origin remotes clearly named in a fork
What people use it for
- Refreshing installed Slack or other channel add-ons after pulling a new NanoClaw version
- Keeping provider code current in a fork that tracks an upstream NanoClaw repository
- Getting a strict pass or fail report for an update rather than a silent partial refresh
- Refreshing only a named subset of installed skills, such as slack and opencode
Frequently asked questions
What is the update-skills agent skill?
It is a SKILL.md-based instruction set for an AI agent, used inside a NanoClaw project. It refreshes code for channel and provider skills that are already installed, and reports a structured result for each one.
How do I install the update-skills skill?
Download the ZIP from this page and unzip it into ~/.claude/skills/ for personal use or into a project's .claude/skills/ folder. You can also upload it in the Claude apps under Settings → Capabilities → Skills.
What do I need to run update-skills?
You need git, pnpm with tsx available to run scripts/update-skills.ts, a NanoClaw project checkout with configured git remotes, Docker or the container tooling used by ./container/build.sh, and network access for channel registry branches.
Does update-skills add new channels or providers?
No. It only refreshes skills that are already installed. Adding a new channel or provider is outside its scope.
Does the skill change my .env file or restart my services?
The refresh itself does not re-run credential setup, edit .env, change wiring or restart services. A standalone refresh may restart the service through the mode that owns the install, and that step is governed by the skill's report instructions.
Why does the skill refuse to run when my git tree has changes?
It is designed to stop on a dirty working tree so that a refresh is never mixed with unrelated edits. Commit or stash your changes first, then run it again.
New agent skills, repos and AI tools — every week
The best new skills and open-source projects, the fastest-growing repos, and one free prompt. Five minutes to read. Unsubscribe anytime.
Our verdict
Use update-skills if you maintain a NanoClaw install or fork and want installed channel and provider code kept current with a strict, reportable result. Pick something else if your project has uncommitted changes you do not want to commit, if you are working outside the NanoClaw repository, or if you need to add a new channel or provider.
Download the skill