skill-installer
GitHub用于通过CLI安装、列出或移除第三方openscience技能。支持从Git仓库获取,内置六层安全审查机制,经用户确认后写入本地并同步至云端,确保技能来源安全与跨设备一致性。
触发场景
安装
npx skills add synthetic-sciences/openscience --skill skill-installer -g -y
SKILL.md
Frontmatter
{
"name": "skill-installer",
"license": "MIT license",
"category": "other",
"metadata": {
"skill-author": "InkVell Inc."
},
"description": "Install or remove third-party openscience skills from a public git repository. Use when the user says \"add this skill <url>\", \"install skill <url>\", or \"remove skill <namespace>\". The skill runs locally via `openscience skill add|list|remove`, fetches the repo, runs a 6-layer safety gate (regex + server-side Haiku classifier), prompts the user to confirm, then writes the skills to ~\/.openscience\/installed-skills\/ and uploads to the dashboard for cross-machine sync."
}
Skill Installer
Overview
Installs URL-supplied third-party skills into the openscience CLI. The skill itself is a thin wrapper around the bundled openscience skill bash subcommand — when the user expresses install/uninstall intent, invoke openscience skill add|list|remove via the bash tool. The CLI handles fetching, the safety gate, confirmation, on-disk write, and cross-machine sync.
When to Use This Skill
Trigger on user messages like:
- "Add this skill:
" - "Install
" / "Install the skill at " - "Set up skills from
" - "Remove the X skill" / "Uninstall
" - "List my installed skills"
Do NOT use this skill for:
- Generating new skills (different workflow — see
openscience learn) - Installing system packages (use
bashdirectly) - Anything that's not a openscience skill source
How to Use
Add a skill
openscience skill add <git-url>
Accepted URL forms:
https://github.com/<owner>/<repo>— default branch, all skills inskills/**/SKILL.mdhttps://github.com/<owner>/<repo>/tree/<ref>— specific ref/taggh:<owner>/<repo>— shorthandgh:<owner>/<repo>@<ref>[/<path>]— shorthand with ref and optional path scope- Generic
git+ssh://.../https://gitlab.com/...URLs
What happens when the user runs add:
- CLI clones the repo into a temp dir, pins the commit SHA.
- Enumerates
skills/<name>/SKILL.mdfiles. - Runs Layers 1, 2, 4 (local regex passes) on every SKILL.md + companion script.
- POSTs the surviving manifest to
/api/cli/skill-reviewfor the Layer-3 Haiku classifier (server-side, sandboxed input with canary integrity check). - Renders a confirm screen showing the manifest + warnings + classifier reasoning + first lines of each SKILL.md.
- On
y, writes everything to~/.openscience/installed-skills/<namespace>/<name>/and uploads to the dashboard.
The <namespace> is derived from the repo name (last URL segment, lowercased).
List installed skills
openscience skill list
Prints <namespace>/<name> with a ⚠ marker for any skill the safety gate warned on.
Remove a skill
openscience skill remove <namespace> # whole namespace
openscience skill remove <namespace>/<name> # single skill within a namespace
Soft-deletes the cloud record (archived_at set) and removes the on-disk directory.
Examples
User: "Install the brainstorming skill from Anthropic's superpowers repo."
You: invoke bash with openscience skill add gh:anthropics/superpowers/skills/brainstorming. Wait for the spinner + confirm prompt. Relay the manifest to the user. Pass through their y/N response.
User: "Uninstall everything in superpowers."
You: invoke bash with openscience skill remove superpowers. Report the count of archived skills.
User: "What's installed?"
You: invoke bash with openscience skill list. Print the output.
Safety Notes
The user-facing openscience skill add command runs every install through 6 layers (regex catastrophic-reject, regex classifier-injection-reject, server-side LLM classifier, regex suspicious-warn, user-confirm screen, deferred allowed-tools sandboxing). Don't try to bypass any of these by editing ~/.openscience/installed-skills/ directly — that breaks the cloud-sync invariant. Always go through the bash subcommand.
If openscience skill add reports classifier unreachable, the dashboard backend is down — surface that to the user and stop. Do not retry with a flag that disables the classifier without the user's explicit consent.
Reference
- Spec:
thesis/docs/superpowers/specs/2026-05-14-cli-add-skill-from-url-design.md - Plan:
thesis/docs/superpowers/plans/2026-05-14-cli-add-skill-from-url.md - On-disk layout:
~/.openscience/installed-skills/<namespace>/<name>/SKILL.md(mirror of~/.openscience/learned-skills/) - Backend endpoints under
/api/cli/installed-skills+/api/cli/skill-review
版本历史
- e9844a4 当前 2026-07-11 17:31


