К основному содержанию
скилл CX Codex

janitor-discover — скилл для Claude Code: поиск и установка

Ищет скиллы на GitHub, сравнивает их с локальными и проверяет кандидатов перед установкой. Подходит для поиска и первичного аудита.

Установить в Claude Code · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add khendzel/skills-janitor --skill janitor-discover -a claude-code
Открыть на GitHub

Что делает janitor-discover

janitor-discover ищет скиллы на GitHub по ключевым словам, отбирает репозитории с признаками скилла и сортирует результаты по релевантности. Он также сравнивает локальный скилл с альтернативами и проверяет URL, короткий адрес репозитория или локальную папку перед установкой.

Проверка перед установкой состоит из анализа пересечений с уже установленными скиллами и сканирования безопасности через security.sh. Внутри используются discover.sh, search.sh, precheck.sh и compare.sh; результаты можно запросить в JSON. Для работы нужны Claude Code с установленным плагином skills-janitor, bash 3.2+, curl и доступ к api.github.com. GITHUB_TOKEN повышает лимиты и открывает поиск по коду.

Для удалённого URL анализируется только загруженный SKILL.md, поэтому скрипты репозитория после клонирования нужно проверить отдельно. Локальная папка сканируется целиком вместе с вложенными скриптами.

Какие задачи решает

  • найти скиллы на GitHub по теме
  • сравнить локальный скилл с альтернативами
  • проверить пересечения перед установкой
  • оценить риск удалённого скилла
  • вывести результаты в JSON

Примеры запросов агенту

  • Найди скиллы для n8n через /janitor-discover n8n и покажи уже установленные варианты.
  • Проверь user/my-skill перед установкой через /janitor-discover user/my-skill.
  • Сравни локальный скилл marketing-seo-audit с альтернативами через /janitor-discover --compare marketing-seo-audit.

Как установить janitor-discover

1Через Skills CLI (Vercel)

npx skills add khendzel/skills-janitor --skill janitor-discover -a claude-code

2Вручную: положить файлы

~/.claude/skills/janitor-discover/SKILL.md

Папка скилла целиком; для одного проекта — .claude/skills/janitor-discover/

По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов

Вопросы о janitor-discover

Как установить janitor-discover в Claude Code?

Выполните npx skills add khendzel/skills-janitor --skill janitor-discover -a claude-code, затем проверьте файл ~/.claude/skills/janitor-discover/SKILL.md.

Что делает janitor-discover?

Скилл ищет подходящие репозитории на GitHub, сравнивает кандидата с установленными скиллами и проводит проверку безопасности перед установкой.

Что именно сканируется при проверке URL?

Для URL или user/repo загружается только SKILL.md. Вложенные скрипты не скачиваются, поэтому после клонирования нужна отдельная проверка.

Исходный текст

SKILL.md · MIT
---
name: janitor-discover
description: "Find new skills on GitHub or check a specific skill before installing. Use when the user wants to search for skills, evaluate a skill URL, check overlap and security risk before installing, or compare a local skill against alternatives. Trigger with '/janitor-discover'."
allowed-tools: Read, Bash(bash:*)
argument-hint: "<query-or-url> [--limit N] [--compare <skill>] [--json]"
version: 1.6.0
author: Krzysztof Hendzel <[email protected]>
license: MIT
compatibility: Designed for Claude Code. Requires bash 3.2+, curl, and network access to the GitHub API (anonymous works; GITHUB_TOKEN raises rate limits).
tags:
  - skills
  - discovery
  - github-search
  - pre-install
  - duplicates
  - security
---

# Skill Discovery & Pre-Install Check

Combined entry point for finding skills on GitHub and for evaluating a specific skill (URL or local path) before installing it.

## Overview

Replaces the v1.2 split between `/janitor-search` and `/janitor-precheck`. The dispatcher picks the right mode from the argument shape. Search results are relevance-gated (a repo must carry a skill signal in its name/description/topics) and ranked by relevance before stars, so generic mega-repos don't crowd out actual skills.

| Argument | Mode | What runs |
|---|---|---|
| Keyword(s) like `seo` or `n8n workflows` | Discovery | `search.sh` — find matching skills on GitHub |
| `--compare <skill-name>` | Comparison | `search.sh --compare` — find alternatives to a local skill |
| Full URL: `https://github.com/user/skill` | Pre-install check | `precheck.sh` — analyze before installing |
| Short repo: `user/skill` | Pre-install check | `precheck.sh` (auto-expanded to URL) |
| Local path: `~/path/to/skill` | Pre-install check | `precheck.sh` (local folder) |

Pre-install mode runs **two** checks, not one: overlap against what's already installed, and
(since v1.6) a security scan of the candidate via `security.sh` — the same heuristics
`/janitor-security` uses on installed skills.

## Prerequisites

- Claude Code with the skills-janitor plugin installed (provides `scripts/discover.sh`, `search.sh`, `precheck.sh`, `compare.sh`)
- bash 3.2+ and `curl`
- Network access to `api.github.com` (anonymous OK; set `GITHUB_TOKEN` for higher rate limits and code search)

## Instructions

### Step 1: Dispatch on argument shape

```bash
bash ~/.claude/skills/skills-janitor/scripts/discover.sh <query-or-url> [options]
```

Examples:

- `discover.sh seo` — search for SEO-related skills
- `discover.sh n8n --limit 20` — top 20 n8n skills
- `discover.sh --compare marketing-seo-audit` — alternatives to a local skill
- `discover.sh https://github.com/user/my-skill` — check before installing
- `discover.sh user/my-skill` — same, short form

### Step 2: Present results per mode

**Discovery mode** — ranked list of GitHub repos with skill name, description, stars, last updated, and a one-line verdict.

**Pre-install mode** — two sections. First, overlap analysis: which of the user's existing skills (including plugin skills) overlap with the candidate by description, and a recommendation to install / skip / replace. Second, a `--- Security (<scope>) ---` block.

**Always report the security scope back to the user**, because it differs by source:

| Source | Scanned |
|---|---|
| Local path | Full directory — SKILL.md **and** bundled scripts |
| URL / `user/repo` | Fetched SKILL.md **only** — scripts are never downloaded, so re-check after cloning |

A `PASS` on a remote URL therefore means "nothing suspicious in the text we could see", not "this repo is safe". Say so when the candidate ships scripts.

## Output

Discovery: a numbered table (repository, stars, updated, INSTALLED/AVAILABLE status).

Pre-install: overlap buckets (HIGH ≥60%, MODERATE 30–59%, LOW <30%) with shared keywords and a final verdict line (`HIGH_OVERLAP` / `MODERATE_OVERLAP` / `SAFE`), plus a security block that prints either `No suspicious patterns found.` (PASS), `Security scan unavailable.` (UNKNOWN), or `VERDICT: REVIEW|RISK` followed by one severity + title + evidence line per finding. With `--json`, the same data lands under a `security` key (`verdict`, `scope`, `findings`).

## Error Handling

1. **Error**: `GitHub API rate limit exceeded`
   **Solution**: Set the `GITHUB_TOKEN` environment variable (any classic token, no scopes needed) and re-run; anonymous search allows only a few requests per minute.

2. **Error**: `Could not fetch SKILL.md from <url>`
   **Solution**: The repo keeps its SKILL.md at a non-standard path — pass a direct URL to the SKILL.md file, or a local clone path instead.

3. **Error**: No results for a valid topic
   **Solution**: The relevance gate drops repos without any skill signal. Broaden the keyword (e.g. `n8n skill` → `n8n`) or check the cached results note — results are cached for 24h in `data/search-cache.json`.

4. **Error**: `Security scan unavailable.` (verdict `UNKNOWN`)
   **Solution**: `security.sh` failed or returned no parseable JSON — the overlap result is still valid, but do not present the candidate as security-checked. Re-run, or scan after cloning with `/janitor-security`.

## Examples

### Example 1: Find skills by topic

**Input**: "Find me an n8n skill."

**Output**: Run `discover.sh n8n`, present the ranked table, and flag any result already installed.

### Example 2: Check before installing

**Input**: "Is github.com/user/seo-helper worth installing?"

**Output**: Run `discover.sh https://github.com/user/seo-helper`, then summarize: overlap with existing skills, the verdict (e.g. "MODERATE_OVERLAP — 45% with marketing-skills:seo-audit"), the security verdict, and a recommendation. Note that only the fetched SKILL.md was scanned.

### Example 3: Candidate trips the security scan

**Input**: "Check user/handy-helper before I install it."

**Output**: Run `discover.sh user/handy-helper`. If the security block reports `VERDICT: RISK`, lead with that rather than the overlap number — quote the finding's severity, title and evidence, explain that RISK means "read this before trusting it" (not "malware"), and remind the user that bundled scripts were not fetched.

## Resources

- Dispatcher (plugin-relative): `{baseDir}/../../scripts/discover.sh`
- Search cache: `data/search-cache.json` (24h TTL)
- `/janitor-security` — same scan, run across everything already installed
- `/janitor-report` — health check of currently installed skills
- `/janitor-value` — are existing skills earning their context cost
- `/janitor-fix` — fix issues with installed skills

© Krzysztof Hendzel · MIT · khendzel/skills-janitor

Похожие скиллы

Все скиллы по теме «Настройка агента: память, контекст, субагенты» →
setup-matt-pocock-skills Matt Pocock Скилл настраивает репозиторий для инженерных скиллов Matt Pocock: задаёт трекер задач, метки триажа и расположение доменной документации. Запустите его перед первым использованием остальных скиллов. 1 052 851установок ask-matt Matt Pocock Помогает выбрать подходящий скилл или рабочий поток из набора Matt Pocock. Пригодится, когда непонятно, с чего начать задачу: от идеи до разбора бага. 766 587установок to-tickets Matt Pocock Разбивает план, спецификацию или переписку на небольшие сквозные задачи и отмечает, какие из них блокируют остальные. Пригодится, когда нужно согласовать порядок работы до публикации задач в трекере. 711 230установок writing-plans Jesse Vincent Скилл превращает требования к многошаговой задаче в подробный план реализации до начала работы с кодом. Пригодится, когда исполнителю нужно зафиксировать файлы, интерфейсы и проверки. CX Codex 282 859установок caveman-review JuliusBrussee Пишет замечания к коду одной строкой: место, проблема, исправление. Пригодится, когда ревью диффа или PR надо пройти быстро и без воды. CX Codex +1 411 800установок caveman-compress JuliusBrussee Сжимает CLAUDE.md, списки задач и другие текстовые файлы в краткий формат, сохраняя читаемую резервную копию. CX Codex +1 411 500установок

Из того же набора5

Спонсоры проекта

Компании, которые помогают держать аналитику открытой