CLI reference
A small, dependency-free Node.js tool. Its whole job is to copy skill folders where Claude can find them, and to keep them up to date.
Running it
Without installing anything, via npx — or install it globally and call it directly.
$ npx cg-web-skills <command>
$ npm install --global cg-web-skills
Commands
| Command | Description |
|---|---|
list | Lists every skill shipped in the package, with a short description. |
install <skill...> | Copies each named skill from skills/<skill>/ into .claude/skills/<skill>/ in the current project. Creates .claude/skills/ if needed. If any name is unknown, nothing is installed. |
install --all | Installs every skill in the skillset. Skills that are already installed are skipped, so you can re-run it after an update to add new skills. |
update <skill...> | Replaces the named installed skills with the version in this package. Skills with local changes are left alone unless you add --force. |
update --all | Updates every installed CG Web Skill. Skills that are not installed are left alone. |
init | Creates .claude/skills/ in the current project without installing anything. Optional, and safe to re-run. |
help | Shows help. |
Options
| Option | Description |
|---|---|
-a, --all | For install and update: every skill. |
-f, --force | For update: also update skills with local changes. The current version is backed up first. |
-g, --global | For install, update and init: use your personal Claude directory instead of the project. |
-v, --version | Shows the version. |
-h, --help | Shows help. |
Running it with no command
Running cg-web-skills without a command, or with --help, shows the help. In a terminal at least 94 columns wide it opens with the CG Web Skills banner; in narrower terminals and when the output is piped, it prints a plain title instead.
Exit codes
| Code | Meaning |
|---|---|
0 | Success |
1 | General error (for example: skill not found, already installed) |
2 | Invalid usage (for example: unknown command or option, missing or invalid skill name) |
Safety
- The CLI only copies files. Skill contents are treated as data and are never executed or modified.
- install never overwrites an existing installation.
- update replaces a skill only when it has no local changes, or with --force after moving the current version to a backup.
- The new version is copied first and swapped in afterwards, so a failed update never leaves a half-copied skill.
- Skill names must be lowercase kebab-case. Anything else — including .., path separators and absolute paths — is rejected, so a name can never write outside the skills directory.
- Skills containing symlinks or other special files are refused.