skill-installer
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.
- License 许可
- MIT
- 最近更新
- 2026-10-28
- Stars
- ★ 0
- Forks
- 0
01 前言 Front Matter
- 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.
03 SKILL.md 正文
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: <url>"
- "Install <url>" / "Install the skill at <url>"
- "Set up skills from <repo>"
- "Remove the X skill" / "Uninstall <namespace>"
- "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
04 同仓库更多 Skills
statistical-power
Sample size calculation, power analysis, and effect size conversion for scientific studies. Use BEFORE data collection (a priori) to determine required N, or after (post-hoc) to compute achieved power. Covers parametric tests (t-test, ANOVA, chi-square, proportions, correlation, regression), simulation-based power for complex/clustered/nested designs, and power curves. Use this skill when someone asks 'how many samples do I need', 'what is my power', 'what effect size can I detect', or any variant. Pairs with /experimental-design (choose design first, then compute power) and /statistical-analysis (analyze data after collection).
statistical-analysis
Guided statistical analysis with test selection and reporting. Use when you need help choosing appropriate tests for your data, assumption checking, power analysis, and APA-formatted results. Best for academic research reporting, test selection guidance. For implementing specific models programmatically use statsmodels.
scientific-writing
Core skill for the deep research and writing tool. Write scientific manuscripts in full paragraphs (never bullet points). Use two-stage process with (1) section outlines with key points using research-lookup then (2) convert to flowing prose. IMRAD structure, citations (APA/AMA/Vancouver), figures/tables, reporting guidelines (CONSORT/STROBE/PRISMA), for research papers and journal submissions.
scientific-visualization
Meta-skill for publication-ready figures. Use when creating journal submission figures requiring multi-panel layouts, significance annotations, error bars, colorblind-safe palettes, and specific journal formatting (Nature, Science, Cell). Orchestrates matplotlib/seaborn/plotly with publication styles. For quick exploration use seaborn or plotly directly.
research-code
Debug, profile, review, and restructure Python research and analysis code. Use when analysis scripts crash, produce wrong results, run too slowly, or need a correctness review. Covers: reading tracebacks and diagnosing root causes, hypothesis-driven debugging, reviewing code for common statistical/numerical errors, profiling data pipelines, improving reproducibility (seeds, environments, determinism), and structuring analysis scripts for sharing. Distinct from /exploratory-data-analysis (which understands data) and /statistical-analysis (which chooses and runs tests) — this skill focuses on the code itself.
markdown-mermaid-writing
Comprehensive markdown and Mermaid diagram writing skill. Use when creating any scientific document, report, analysis, or visualization. Establishes text-based diagrams as the default documentation standard with full style guides (markdown + mermaid), 24 diagram type references, and 9 document templates.