skills-finder

$npx mdskill add wquguru/skills/skills-finder

Discover and securely adopt agent skills from skills.sh.

  • Searches skills.sh for third-party skills matching a user query.
  • Depends on the skills CLI and a local security audit script.
  • Gates every candidate through a security audit before adoption.
  • Installs only skills that pass the audit or get explicit user approval.

SKILL.md

.github/skills/skills-finderView on GitHub ↗
---
name: skills-finder
description: Find Agent Skills on skills.sh and adopt only the ones that pass a security audit. Use when the user wants to discover, search for, evaluate, or install a third-party skill ("find a skill for X", "is this skill safe to install", "search skills.sh", "what skill should I use for Y"). Always runs the skills.sh security audit before recommending or installing anything, and refuses to adopt skills that fail the audit.
---

# Skills Finder

Discover skills on [skills.sh](https://skills.sh) and **gate every candidate
through a security audit before adopting it**. The user's rule is firm: only
adopt skills with no security problems. Never install a skill that has not
cleared the audit.

## Workflow

```
1. DISCOVER   npx skills find "<query>"          → candidate list
2. GATE       scripts/audit.py <candidate>...     → ADOPT / REVIEW / REJECT
3. DECIDE     adopt only ADOPT (or REVIEW after explicit user OK)
4. INSTALL    npx skills add <owner/repo@skill>   → only for approved skills
```

## Step 1 — Discover (no token needed)

Use the `skills` CLI; it handles auth internally, so no Vercel token is required:

```bash
npx -y skills@latest find "<query>"            # e.g. "pdf", "postgres backup"
npx -y skills@latest find "<query>" --owner <github-owner>   # scope to an owner
```

Output lines look like `owner/repo@skill   <N> installs` plus a
`https://skills.sh/owner/repo/skill` URL. Higher installs ≠ safer — still gate.

Other CLI verbs: `npx skills list` (installed), `npx skills add <owner/repo@skill>`
(install), `npx skills use <owner/repo@skill>` (one-off prompt, no install).

## Step 2 — Security gate (MANDATORY, no token needed)

Run every candidate through the audit script. The audit endpoint is public, so
this always works:

```bash
python3 scripts/audit.py <candidate> [<candidate> ...]   # human-readable
python3 scripts/audit.py <candidate> --json              # machine-readable
```

A `<candidate>` is any of: `owner/repo@skill`, `owner/repo/skill`,
`github/owner/repo@skill`, or a full `https://skills.sh/...` URL — paste the
identifier or URL straight from `find` output.

The script queries all providers (Gen Agent Trust Hub, Socket, Snyk, Runlayer,
ZeroLeaks) and prints one verdict per skill. Process exit code = the worst
verdict across all inputs.

## Step 3 — Decide (the policy)

| Verdict | Exit | Meaning | Action |
|---|---|---|---|
| **ADOPT** | 0 | Every provider `pass`; no risk above `NONE`/`SAFE` | Safe to install |
| **REVIEW** | 10 | No `fail`, but a `warn` or `LOW`/`MEDIUM` risk | Do **not** auto-install — show the user the flagged provider + summary and ask before proceeding |
| **REJECT** | 20 | A provider returned `fail`, or risk is `HIGH`/`CRITICAL` | **Refuse.** Do not install. Report which provider failed and why |
| **UNVERIFIED** | 30 | No audits exist yet (`404`) | Treat as not-yet-safe. Do not auto-install; offer to inspect the source first |

Rules:
- **Default to safety.** Only ADOPT installs without asking. REJECT and
  UNVERIFIED are never installed. REVIEW requires explicit user consent and you
  must surface the specific risk (provider, riskLevel, summary).
- When recommending from a list, prefer ADOPT skills. If only REVIEW/REJECT
  skills exist, say so plainly rather than installing a borderline one.
- Always tell the user the verdict and the deciding provider(s) — don't hide a
  warn/fail behind a recommendation.

## Step 4 — Install approved skills

```bash
npx -y skills@latest add <owner/repo@skill>          # project scope
npx -y skills@latest add <owner/repo@skill> --global # user scope
```

To inspect source before trusting a borderline (REVIEW/UNVERIFIED) skill without
installing, use `npx skills use <owner/repo@skill>` or read the files via the
detail endpoint (see references/api-reference.md — needs a Vercel token).

## API details

For raw endpoints, response fields, identifier mapping, and how to obtain a
Vercel OIDC token for the token-gated discovery endpoints, read
**references/api-reference.md**. The everyday flow above needs no token.

More from wquguru/skills

SkillDescription
agent-compat-syncKeep repository-level Claude and Codex agent instructions compatible by creating safe symlinks between CLAUDE.md and AGENTS.md, and between .claude/skills/* and .agents/skills/*. Use when a repository should work with both Claude and Codex, when one agent instruction file exists but the other is missing, when migrating agent skills between .claude and .agents directories, or when asked to improve Claude/Codex compatibility for a repo.
clean-my-loopAudit and clean the persistent context that feeds a recurring autonomous agent loop — memory files and indexes, scheduled-task / automation prompts, and CLAUDE.md / AGENTS.md — so the loop stops degrading into a self-reinforcing echo chamber. Works for Claude Code /loop crons and Codex automations.
english-swe-daily>
fable-5-best-practiceRoute Claude tiers, effort, and subagents for Fable-led work, and handle Fable-specific prompting, long-running execution, API behavior, refusals, and fallback.
free-my-cpuSafely audit and reduce CPU, load average, I/O wait, and Docker container resource pressure on macOS and Ubuntu/Linux hosts, especially remote production-like servers over SSH. Use when a host feels slow, load average is high, monitoring shows CPU spikes, Docker containers are suspected of consuming CPU, a service dashboard times out, or the user asks for a repeatable CPU optimization workflow.
free-my-diskSafely audit and reclaim disk space on macOS and Ubuntu/Linux hosts, including remote servers over SSH. Use when the user says their Mac, Linux box, VPS, or server disk is full, asks what can be safely deleted, wants to clean caches, developer artifacts, Docker storage, apt/Homebrew/npm/pnpm/yarn/pip/uv caches, journal/log files, Xcode data, editor extensions, node_modules, Trash, crontab/systemd timer disk checks, or asks for a repeatable free-space cleanup workflow.
gpt-5-6-best-practiceRoute GPT-5.6 tiers, reasoning effort, and subagents to minimize accepted-result cost subject to an explicit quality floor.
grafana-best-practiceReview, improve, organize, deploy, and verify Grafana dashboards, provisioned alert rules, and the Telegraf→InfluxDB→Grafana monitoring stack. Use when working on Grafana dashboards, dashboard folders, tags, legends, panel readability, Flux/InfluxDB query correctness or performance, Prometheus/Telegraf dimensions, Telegraf JSON/HTTP scraping, anonymous access, dashboard/alert provisioning, Grafana Docker deployments, high CPU or memory caused by dashboard queries, provisioned alert rules and Flux alert conditions, contact points and Telegram/notification delivery, or requests like "review this dashboard", "optimize Grafana panels", "why is this dashboard slow / using CPU", "fix legends", "move dashboards into a folder", "add tags", "set up Grafana alerting", "alert won't fire / won't deliver", "fix Telegram alerts", "route alerts to a Telegram topic/thread (message_thread_id)", "bump/upgrade the Grafana version", "deploy and verify dashboards", or "Grafana best practices".
pi-setupThis skill should be used when the user wants to install or configure Pi Agent (@earendil-works/pi-coding-agent) with DeepSeek (built-in), Ant-Ling Ring-2.6-1T (single-model custom provider), and ZenMux (multi-model OpenAI-compatible aggregator including Gemini 3.5 Flash, Claude, GPT), including auth, models.json, settings.json, a curated extension set, and known-pitfall fixes. Triggers on "配置 pi"、"setup pi agent"、"pi 装一下"、"配 ring/deepseek/gemini/zenmux 到 pi".
youtube-toolkitDownload YouTube videos with yt-dlp and post-process them with ffmpeg — fetch best-quality video/audio, convert formats, extract audio, and burn in translated (e.g. Chinese) subtitles with a translator watermark. Covers cross-environment tool installation (macOS-focused) including the ffmpeg-full / libass gotcha. Triggers on "youtube 视频下载处理".