settings — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited settings (Hook) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
<div align="center">
<picture> <source media="(prefers-color-scheme: dark)" srcset="./.github/assets/banner-dark.png"> <source media="(prefers-color-scheme: light)" srcset="./.github/assets/banner-light.png"> <img alt="SaferSkills — every AI capability, independently scanned" src="./.github/assets/banner-light.png" width="100%"> </picture>
<h1>SaferSkills</h1>
<p><b>Every AI capability, independently scanned.</b><br> A free, open, public trust-scoring service for the skills, MCP servers, hooks, plugins & rules<br> you install into Claude Code, Cursor, Windsurf, Copilot, Codex, Gemini, Cline & OpenClaw.</p>
<a href="https://saferskills.ai"><b>saferskills.ai</b></a> · <a href="https://saferskills.ai/methodology">Methodology</a> · <a href="https://github.com/OpenLatch/saferskills/discussions">Discussions</a> · <a href="https://saferskills.ai/slack">Slack</a> · <a href="./SECURITY.md">Security</a>
</div>
<div align="center">
<picture> <source media="(prefers-color-scheme: dark)" srcset="./.github/assets/demo-dark.svg"> <source media="(prefers-color-scheme: light)" srcset="./.github/assets/demo-light.svg"> <img alt="Terminal demo: 'npx saferskills info' returns a 97/100 GREEN BAND with a four-axis breakdown; 'install' re-checks the score at install time and writes to your detected agents; 'agent' mints a behavioral scan and returns a PASS verdict; then a saferskills.ai browser card fades in — browse the catalog, scan a capability, or scan an agent with no terminal at all." src="./.github/assets/demo-light.svg" width="92%"> </picture>
</div>
No install needed — npx runs the prebuilt native binary:
npx saferskills info mcp-server-github # score, four-axis breakdown, findings & report URL
npx saferskills install mcp-server-github # install to your detected agents — score re-checked, severity-gated
npx saferskills capability ./my-skill # scan a local file/dir — or a public GitHub URL
npx saferskills agent # behaviorally scan a running agent against ~20 adversarial testsPrefer it installed? npm install -g saferskills or cargo install saferskills. No terminal at all? Everything the CLI does is in your browser at [saferskills.ai](https://saferskills.ai) — browse the catalog, scan a capability, or run a behavioral agent scan, with no account and nothing to install. Full command + flag reference: cli/README.md.
_SaferSkills is v0.x, built in the open — the catalog is filling in as ingestion scales toward the public launch._
You install a Claude skill, an MCP server, a Cursor rules file, or a Codex hook. It runs with your file-system access. It can read your .env. It can curl | bash. It can quietly ship your repo to a paste site. And across the tens of thousands of such items now circulating, there is no public, transparent record of what each one actually does.
SaferSkills is that record. Anyone — a developer, a vendor, a researcher — submits a GitHub URL (or uploads a file), and a ~30-second deterministic scan returns a Yuka-style report: an aggregate trust score (0–100), a four-axis breakdown, every detector that fired, the rule that fired it, the exact line of evidence, the remediation, and a permalink the vendor can dispute.
Methodology, not opinion. Every rule is documented. Every score is reproducible. Every appeal is public.
<div align="center">
<picture> <source media="(prefers-color-scheme: dark)" srcset="./.github/assets/diagram-dark.png"> <source media="(prefers-color-scheme: light)" srcset="./.github/assets/diagram-light.png"> <img alt="Three-stage pipeline: 01 Public catalog (submit a GitHub URL or upload a file; skills, MCP servers, hooks, plugins and rules are indexed and auto-scanned) → 02 Scan engine (static detector rules grade four axes, no LLM in the verdict path, every finding has a rule id and a quotable line of evidence) → 03 Scan report (a 0–100 trust score, the 4-tier band, every rule with its evidence, and a vendor right-of-reply on every verdict)." src="./.github/assets/diagram-light.png" width="100%"> </picture>
</div>
The verdict path is fully deterministic — there is no LLM deciding your score. Every finding carries a static rule_id and a quotable line of evidence, so a verdict is reproducible from the trace alone. The result is a public report permalink:
<div align="center">
<picture> <source media="(prefers-color-scheme: dark)" srcset="./webapp/src/assets/docs-screenshots/item-report.dark.png"> <source media="(prefers-color-scheme: light)" srcset="./webapp/src/assets/docs-screenshots/item-report.light.png"> <img alt="A SaferSkills public report page showing a big trust score, the four-axis score breakdown, the latest-scan facts, and an 'install via saferskills' panel." src="./webapp/src/assets/docs-screenshots/item-report.light.png" width="82%"> </picture>
</div>
| Tier | Range | Meaning |
|---|---|---|
| 🟢 Green | 80–100 | Indexed, signed, behaviorally clean, provenance-verified |
| 🟡 Yellow | 60–79 | Known author, no critical findings, some lower-severity flags |
| 🟠 Orange | 40–59 | Anonymous author or mid-severity finding or provenance unclear |
| 🔴 Red | 0–39 | Critical finding — prompt injection / shell RCE / secret exfil / supply-chain |
Sub-scores are weighted: Identity 25% · Integrity 25% · Behavior 30% · Provenance 20%. A single critical finding floors the aggregate into the red tier regardless of the other axes. Full rubric and every detection rule → saferskills.ai/methodology.
| Mode | Best for | Status |
|---|---|---|
Service — browse saferskills.ai, share a report permalink | every dev, every researcher | live — catalog + scan reports |
CLI — npx saferskills install <name> (score re-checked at install) | individual installers | shipped — npm + crates.io |
Self-host — docker compose up (this repo) | privacy-strict / air-gapped orgs | scan engine shipped |
<table> <tr> <td width="33%" align="center"><b>Catalog</b></td> <td width="33%" align="center"><b>Scan report</b></td> <td width="33%" align="center"><b>Agent report</b></td> </tr> <tr> <td> <picture> <source media="(prefers-color-scheme: dark)" srcset="./webapp/src/assets/docs-screenshots/catalog.dark.png"> <img alt="The SaferSkills catalog: a searchable, filterable grid of scanned capabilities with trust scores." src="./webapp/src/assets/docs-screenshots/catalog.light.png"> </picture> </td> <td> <picture> <source media="(prefers-color-scheme: dark)" srcset="./webapp/src/assets/docs-screenshots/scan-report.dark.png"> <img alt="A SaferSkills scan report: per-capability scores with explainable findings and evidence." src="./webapp/src/assets/docs-screenshots/scan-report.light.png"> </picture> </td> <td> <picture> <source media="(prefers-color-scheme: dark)" srcset="./webapp/src/assets/docs-screenshots/agent-report.dark.png"> <img alt="A SaferSkills behavioral Agent Report: a verdict from running adversarial tests against a live agent." src="./webapp/src/assets/docs-screenshots/agent-report.light.png"> </picture> </td> </tr> </table>
One trust layer for every coding agent. Detect, install, and re-verify across:
claude-code · cursor · windsurf · copilot · codex · gemini · cline · openclaw
One command teaches any of the 8 supported agents to use SaferSkills — and to scan a capability before it installs, adds, recommends, or trusts it:
npx saferskills install saferskillsThe canonical skill lives at skills/saferskills/SKILL.md and renders to each agent's native format (Claude Code & OpenClaw get the SKILL.md verbatim; Cursor .mdc, Cline/Windsurf rules, Codex/Copilot AGENTS.md, Gemini GEMINI.md get a native render). See the install guide.
<!-- badge filled by plan 03 (dogfood scan): real run_id + the saferskills capability score (target 100). Kept commented until the public-ref scan runs — see .local/.brainstorms/saferskills-skill/outbox/01. -->
If SaferSkills helps you install AI capabilities more safely, [star the repo](https://github.com/OpenLatch/saferskills) — it's the cheapest way to help a free, public safety service reach the people installing risky skills. Stars are how this gets in front of the next developer about to curl | bash something they didn't read.
<div align="center">
<picture> <source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/svg?repos=OpenLatch/saferskills&type=Date&theme=dark"> <source media="(prefers-color-scheme: light)" srcset="https://api.star-history.com/svg?repos=OpenLatch/saferskills&type=Date"> <img alt="SaferSkills star history over time" src="https://api.star-history.com/svg?repos=OpenLatch/saferskills&type=Date" width="68%"> </picture>
</div>
git clone https://github.com/OpenLatch/saferskills.git
cd saferskills
pnpm install
pnpm run generate # 9 generators: ingestion registry + Pydantic + SQLAlchemy + openapi.json + TS DTO + Zod + methodology + agent-pack
docker compose up # postgres + api + webapp
curl http://localhost:8000/api/v1/health
open http://localhost:5173Requirements: Node 24 LTS, Python 3.14, pnpm 10, uv 0.7+, Docker.
| Path | What it is | Docs |
|---|---|---|
cli/ | The saferskills Rust CLI — install + capability/agent scans | README |
ui/ | Design system — React 19 + Tailwind v4 tokens & components | README |
webapp/ | Astro 6 public site — catalog, scan/agent reports, docs | README |
services/api/ | FastAPI backend — catalog, scan engine, ingestion | README |
services/worker/ | Procrastinate ingestion + bulk-scan worker (same image as the API) | README |
schemas/ | JSON Schema source-of-truth for every wire/DB/type contract | README |
rubric/ | The open, versioned detection-rule rubric | README |
scripts/ | The codegen pipeline (pnpm run generate) | dir |
tools/ | Dev + ops tooling | data-seed · e2e · fp-audit · admin |
We welcome contributions — code, detection-rule RFCs, scan-report appeals, and translations. Read CONTRIBUTING.md, the Code of Conduct, and the methodology summary first. Detection-rule proposals go through the rule-RFC issue template — don't land a rule without one.
[email protected]).[email protected].~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.