Sophnet Skill Installer
Overview
Install skills into the user's workspace skills/ directory with this priority:
- Default source:
https://github.com/DuffyCoder/awesome-sophnet-skills under skills/.
- Fallback source: another user-provided GitHub repo/path when the skill is not found in the default source.
Compare installed versions using each skill's
SKILL.md YAML frontmatter:
metadata.version.
Workspace resolution order:
$OPENCLAW_WORKSPACE (explicit override)
~/.openclaw/workspace (default)
Workflow
- On every trigger of this skill, first run
list-skills.py and show:
all skills in the default repo, then grouped sections: Not installed, Need update, Latest version.
- For version comparison, read
metadata.version from:
remote skills/<skill-name>/SKILL.md and local <workspace>/skills/<skill-name>/SKILL.md.
- If remote version is greater than local version, mark as
Need update.
- For install-by-name requests, check whether
skills/<skill-name> exists in the default repo.
- If found, install from the default repo.
- If not found, install from another GitHub repo/path.
- If fallback repo/path is missing, ask the user for
<owner>/<repo> and <path>.
- After showing grouped sections, guide the user with two options:
install all pending skills, or install specific selected skills.
- After successful install, tell the user:
🎉 恭喜!Sophnet Skills 现在已经可用了,快去体验一下吧!🚀
Scripts
Use these local scripts:
scripts/list-skills.py (defaults to DuffyCoder/awesome-sophnet-skills, skills, main)
scripts/list-skills.py --format json
scripts/install-skill-from-github.py --repo DuffyCoder/awesome-sophnet-skills --path skills/<skill-name>
scripts/install-skill-from-github.py --repo DuffyCoder/awesome-sophnet-skills --path skills/<skill-1> skills/<skill-2> --replace
scripts/install-skill-from-github.py --repo <owner>/<repo> --path <path/to/skill>
scripts/install-skill-from-github.py --url https://github.com/<owner>/<repo>/tree/<ref>/<path>
Communication
When this skill starts, output approximately:
"""
Skills from {repo}:
- skill-1 [not installed]
- skill-2 [needs update]
- ...
Not installed:
Need update:
Latest version:
Next step:
- Install all pending skills
- Install specific skills
Would you like to install all pending skills, or only specific ones?
"""
When fallback is needed, say clearly:
<skill-name> is not available in DuffyCoder/awesome-sophnet-skills/skills. Provide another repo/path and I will install it from there.
Behavior and Options
- Defaults to direct download for public GitHub repos.
- If download fails with auth/permission errors, falls back to git sparse checkout.
- By default, aborts if the destination skill directory already exists.
- Use
--replace to overwrite existing directories when updating installed skills.
- Installs into
<workspace>/skills/<skill-name> (defaults to ~/.openclaw/workspace/skills).
- Multiple
--path values install multiple skills in one run, each named from the path basename unless --name is supplied.
- Options:
--ref <ref> (default main), --dest <path>, --method auto|download|git.
Notes
- Default listing is fetched from
https://api.github.com/repos/DuffyCoder/awesome-sophnet-skills/contents/skills?ref=main. If unavailable, explain the error and stop.
- Version comparison depends on
metadata.version in each skill SKILL.md.
- If local or remote
metadata.version is missing, classify as Need update and mention missing version metadata.
- Private GitHub repos can be accessed via existing git credentials or optional
GITHUB_TOKEN/GH_TOKEN for download.
- Git fallback tries HTTPS first, then SSH.
- Installed annotations come from
<workspace>/skills.
1---2name: sophnet-skill-installer3description: Use when a user asks to list or install Sophnet skills. First install from DuffyCoder/awesome-sophnet-skills, and if a skill is not found there, install from another GitHub repo/path.4---56# Sophnet Skill Installer78## Overview9Install skills into the user's workspace `skills/` directory with this priority:101. Default source: `https://github.com/DuffyCoder/awesome-sophnet-skills` under `skills/`.112. Fallback source: another user-provided GitHub repo/path when the skill is not found in the default source.12Compare installed versions using each skill's `SKILL.md` YAML frontmatter:13`metadata.version`.1415Workspace resolution order:161. `$OPENCLAW_WORKSPACE` (explicit override)172. `~/.openclaw/workspace` (default)1819## Workflow201. On every trigger of this skill, first run `list-skills.py` and show:21 all skills in the default repo, then grouped sections: `Not installed`, `Need update`, `Latest version`.222. For version comparison, read `metadata.version` from:23 remote `skills/<skill-name>/SKILL.md` and local `<workspace>/skills/<skill-name>/SKILL.md`.243. If remote version is greater than local version, mark as `Need update`.254. For install-by-name requests, check whether `skills/<skill-name>` exists in the default repo.265. If found, install from the default repo.276. If not found, install from another GitHub repo/path.287. If fallback repo/path is missing, ask the user for `<owner>/<repo>` and `<path>`.298. After showing grouped sections, guide the user with two options:30 install all pending skills, or install specific selected skills.319. After successful install, tell the user: `🎉 恭喜!Sophnet Skills 现在已经可用了,快去体验一下吧!🚀`3233## Scripts34Use these local scripts:35- `scripts/list-skills.py` (defaults to `DuffyCoder/awesome-sophnet-skills`, `skills`, `main`)36- `scripts/list-skills.py --format json`37- `scripts/install-skill-from-github.py --repo DuffyCoder/awesome-sophnet-skills --path skills/<skill-name>`38- `scripts/install-skill-from-github.py --repo DuffyCoder/awesome-sophnet-skills --path skills/<skill-1> skills/<skill-2> --replace`39- `scripts/install-skill-from-github.py --repo <owner>/<repo> --path <path/to/skill>`40- `scripts/install-skill-from-github.py --url https://github.com/<owner>/<repo>/tree/<ref>/<path>`4142## Communication4344When this skill starts, output approximately:45"""46Skills from {repo}:471. skill-1 [not installed]482. skill-2 [needs update]493. ...5051Not installed:52- ...5354Need update:55- ...5657Latest version:58- ...5960Next step:611. Install all pending skills622. Install specific skills63Would you like to install all pending skills, or only specific ones?64"""6566When fallback is needed, say clearly:67`<skill-name> is not available in DuffyCoder/awesome-sophnet-skills/skills. Provide another repo/path and I will install it from there.`6869## Behavior and Options70- Defaults to direct download for public GitHub repos.71- If download fails with auth/permission errors, falls back to git sparse checkout.72- By default, aborts if the destination skill directory already exists.73- Use `--replace` to overwrite existing directories when updating installed skills.74- Installs into `<workspace>/skills/<skill-name>` (defaults to `~/.openclaw/workspace/skills`).75- Multiple `--path` values install multiple skills in one run, each named from the path basename unless `--name` is supplied.76- Options: `--ref <ref>` (default `main`), `--dest <path>`, `--method auto|download|git`.7778## Notes7980- Default listing is fetched from `https://api.github.com/repos/DuffyCoder/awesome-sophnet-skills/contents/skills?ref=main`. If unavailable, explain the error and stop.81- Version comparison depends on `metadata.version` in each skill `SKILL.md`.82- If local or remote `metadata.version` is missing, classify as `Need update` and mention missing version metadata.83- Private GitHub repos can be accessed via existing git credentials or optional `GITHUB_TOKEN`/`GH_TOKEN` for download.84- Git fallback tries HTTPS first, then SSH.85- Installed annotations come from `<workspace>/skills`.