
Офлайн-инструмент с приоритетом безопасности для синхронизации и управления навыками агентов
Сканируйте навыки ИИ-агентов на предмет инъекций в промпты перед их установкой
```
╔════════════════════════════════════════════════════════╗
║ ███████╗██╗ ██╗██╗ ██╗██╗ ████████╗ ██████╗ ║
║ ██╔════╝██║ ██╔╝██║ ██║██║ ╚══██╔══╝██╔═══██╗ ║
║ ███████╗█████╔╝ ██║ ██║██║ ██║ ██║ ██║ ║
║ ╚════██║██╔═██╗ ██║ ██║██║ ██║ ██║ ██║ ║
║ ███████║██║ ██╗╚██████╔╝███████╗██║ ╚██████╔╝ ║
║ ╚══════╝╚═╝ ╚═╝ ╚═════╝ ╚══════╝╚═╝ ╚═════╝ ║
╠════════════════════════════════════════════════════════╣
║ CROSS-PLATFORM AI SKILLS MANAGEMENT ║
╚════════════════════════════════════════════════════════╝

## Что такое Skulto?
Skulto — это кроссплатформенный CLI-инструмент для управления навыками ИИ-ассистентов программирования на 33 платформах. Он предоставляет:
1. **Установку на множество платформ** — установка навыков в Claude Code, Cursor, Windsurf, Copilot, Codex, Cline, Roo Code, Gemini CLI, Kiro CLI и ещё 25+ инструментов
2. **Управление репозиториями** — добавление, синхронизация и удаление репозиториев навыков
3. **Полнотекстовый поиск** — поиск на базе SQLite FTS5 по всем проиндексированным навыкам
4. **Сканирование безопасности** — обнаружение prompt-инъекций и опасных паттернов кода
5. **Определение платформ** — автоматическое обнаружение установленных на вашей системе ИИ-инструментов
6. **Интерактивный TUI** — терминальный интерфейс на базе Bubble Tea со сворачиваемыми группами, множественным выбором и навигацией с клавиатуры
7. **Установка по URL** — установка напрямую из GitHub-репозиториев через `skulto install owner/repo`
## Возможности

- **Поддержка 33 платформ** — Claude Code, Cursor, Windsurf, GitHub Copilot, OpenAI Codex, OpenCode, Cline, Roo Code, Gemini CLI, Kiro CLI, Amp, Continue, Goose, Junie, Qwen Code, Trae и другие
- **Определение платформ** — обнаруживает установленные ИИ-инструменты и отображает их в выборе платформ
- **Работа офлайн** — работает без интернета после первоначальной синхронизации
- **Быстрый поиск** — полнотекстовый поиск на базе FTS5 с ранжированием BM25 (задержка ~50 мс)
- **Синхронизация через Git** — клонирование и pull репозиториев для надёжных обновлений
- **Сканер безопасности** — обнаруживает prompt-инъекции во frontmatter, ссылках, скриптах и опасные паттерны с уровнями угроз
- **Умная установка нескольких навыков** — установка нескольких навыков из URL репозитория с разрешением конфликтов для каждого навыка (пропустить уже установленные, добавить новые расположения или пропустить все)
- **Выбор области действия** — установка навыков глобально (`~/`) или для конкретного проекта (`./`) с отдельным управлением для каждой платформы
- **Сворачиваемые группы платформ** — обнаруженные/предпочтительные платформы вверху, все остальные — в свёрнутой группе во всех выборах
- **Запоминание расположения установки** — возможность запоминать выбор платформы/области действия для будущих установок
- **Избранное** — сохранение избранных навыков, которые сохраняются при сбросе базы данных
- **Недавно просмотренные** — отслеживание и отображение недавно просмотренных навыков
- **MCP-сервер** — сервер Model Context Protocol для интеграции с ИИ-инструментами (поиск, установка, программное управление навыками)
- **Телеметрия** — анонимная статистика использования (отключение через переменную окружения в настройках)
### Поддерживаемые платформы
Skulto обнаруживает и устанавливает навыки в 33 ИИ-инструмента программирования:
| | | | |
|---|---|---|---|
| Claude Code | Cursor | Windsurf | GitHub Copilot |
| OpenAI Codex | OpenCode | Cline | Roo Code |
| Gemini CLI | Kiro CLI | Amp | Continue |
| Goose | Junie | Kilo Code | Trae |
| Qwen Code | Kimi Code CLI | CodeBuddy | Command Code |
| Crush | Droid | Kode | MCPJam |
| Mux | OpenHands | Pi | Qoder |
| Zencoder | Neovate | Pochi | Antigravity |
| Moltbot | | | |
## Установка
### Homebrew```bash
brew install asteroid-belt/tap/skulto
Чтобы выполнить обновление:```bash brew upgrade asteroid-belt/tap/skulto
### Пакеты Linux
Релизы на GitHub предоставляют загрузки `.deb` и `.rpm` как для `amd64`, так и для
`arm64`. Выберите формат пакета для вашего дистрибутива и замените
версию ниже на тег релиза:```bash
VERSION=vX.Y.Z
ARCH=amd64 # or arm64
# Debian/Ubuntu
curl -LO "https://github.com/asteroid-belt/skulto/releases/download/${VERSION}/skulto_${VERSION#v}_linux_${ARCH}.deb"
# Fedora/RHEL/openSUSE
curl -LO "https://github.com/asteroid-belt/skulto/releases/download/${VERSION}/skulto-${VERSION#v}-1.$([ "$ARCH" = amd64 ] && echo x86_64 || echo aarch64).rpm"
# Download the release checksums, then verify the downloaded asset.
curl -LO "https://github.com/asteroid-belt/skulto/releases/download/${VERSION}/checksums.txt"
sha256sum -c checksums.txt --ignore-missing
Установите локальный файл с помощью пакетного менеджера вашего дистрибутива:```bash sudo apt install ./skulto_.deb sudo dnf install ./skulto-.rpm sudo zypper install ./skulto-*.rpm
Каждый пакет устанавливает `skulto` и `skulto-mcp` в `/usr/bin/skulto` и
`/usr/bin/skulto-mcp`. Skulto не требует системный Git во время выполнения. Это
загрузки из GitHub Release, а не настроенный репозиторий пакетов.
### Из исходного кода```bash
# Clone the repository
git clone https://github.com/asteroid-belt/skulto.git
cd skulto
# Install dependencies
make deps
# Build (outputs to ./build/)
make build-all
# Run
./build/skulto
GITHUB_TOKEN для более высоких лимитов APIskulto
skulto install asteroid-belt/skills
При первом запуске Skulto проведёт вас через процесс настройки:
1. **Выбор платформы** — обнаруженные ИИ-инструменты отображаются вверху; выберите, к каким из них синхронизировать навыки
2. **Выбор навыков** — подобранные стартовые навыки из Asteroid Belt (superplan, superbuild, teach, agentsmd-generator и другие)
3. **Выбор области применения** — укажите глобальную или проектную область для каждой платформы, с предзаполненными предыдущими выборами
## Управление навыками для команд
Skulto работает как менеджер пакетов для навыков ИИ-агентов. Используйте `skulto.json`, чтобы определить навыки, необходимые вашему проекту, а затем `skulto sync` для их установки — так у каждого разработчика и в каждой CI-среде будет одинаковый набор навыков.
### Рабочий процесс```bash
# 1. Install skills into your project
skulto install superplan
skulto install teach
# 2. Save project skills to a manifest
skulto save
# 3. Commit skulto.json to your repo
git add skulto.json
git commit -m "add skulto skill manifest"
# 4. Teammates (or CI) sync from the manifest
skulto sync
skulto.jsonМанифест отслеживает, от каких навыков зависит ваш проект и откуда они берутся:```json { "version": 1, "skills": { "superplan": "asteroid-belt/skills", "teach": "asteroid-belt/skills", "resume-ats-optimizer": "paramchoudhary/resumeskills" } }
Каждая запись сопоставляет слаг навыка с его исходным репозиторием (`owner/repo`). Когда участник команды запускает `skulto sync`, Skulto клонирует отсутствующие репозитории, разрешает навыки и устанавливает их на выбранные платформы.
### `skulto save`
Сохраняет текущие установки в рамках проекта в `skulto.json`:```bash
$ skulto save
SAVED to skulto.json
teach asteroid-belt/skills
superplan asteroid-belt/skills
2 skill(s) saved
Только установки в рамках проекта сохраняются — глобальные установки являются личными и не передаются через манифест.
skulto syncЧитает skulto.json и устанавливает все отсутствующие навыки:```bash
$ skulto sync
SYNCING from skulto.json (2 skills) ──────────────────────────────────────────────── Done! Installed: 2, Skipped: 0
При синхронизации Skulto:
1. Добавляет любые исходные репозитории, которых ещё нет в локальной базе данных
2. Разрешает каждый навык по слагу
3. Запрашивает выбор платформы и области применения (или использует обнаруженные значения по умолчанию с помощью `-y`)
4. Пропускает навыки, которые уже установлены в выбранных местах
### `skulto check`
Показывает все установленные навыки и места их установки:```bash
$ skulto check
SKILL INSTALLED LOCATIONS
─────────────────────────────────────────────────────────────
superplan claude (global), codex (global + project)
teach claude (global + project)
2 skill(s) installed
И skulto save, и skulto check автоматически обнаруживают навыки, которые существуют на диске (как символические ссылки в каталогах платформ вашего проекта), но отсутствуют в базе данных. Это происходит после миграций, сбросов базы данных или когда коллега устанавливает навыки вне Skulto.```bash
$ skulto check
RECONCILED 2 project skill(s) brainstorming claude modern-python codex
SKILL INSTALLED LOCATIONS ───────────────────────────────────────────────────────────── brainstorming claude (project) modern-python codex (project)
2 skill(s) installed
Обычные каталоги в вашем проекте (навыки, закоммиченные напрямую в репозиторий) остаются нетронутыми — им не нужно управление Skulto.
## Использование
### Режим TUI (по умолчанию)```bash
skulto

Сочетания клавиш:
| Клавиша | Действие |
|---|---|
/ | Открыть поиск |
j / k | Перемещение вниз / вверх |
h / l | Перемещение влево / вправо (между колонками) |
↑ / ↓ | Перемещение по результатам |
Enter | Выбрать / подтвердить |
Space | Переключить выбор (в диалогах выбора) |
f | Переключить избранное / закладку |
i | Установить / управлять расположением навыков |
c | Скопировать содержимое навыка в буфер обмена |
p | Получить / синхронизировать репозитории |
Esc | Назад / отмена |
q | Выход |
Главный вид отображает три колонки:
При выборе навыка вы увидите:
c, чтобы скопировать полное содержимое навыкаПри установке навыка вы выбираете, куда его установить:
~/.claude/skills/ (для всех пользователей) или ./.claude/skills/ (для проекта)a все, n нет, g только глобально, p только для проектаНажмите i на установленном навыке, чтобы управлять его расположениями:

Skulto предоставляет подкоманды CLI для написания скриптов и автоматизации:
| Команда | Назначение |
|---|---|
skulto | Запустить интерактивный TUI |
skulto install <slug or repo> | Установить навыки по slug или из URL репозитория |
skulto uninstall <slug> | Удалить навык с выбранных платформ |
skulto save | Сохранить установки в области проекта в skulto.json |
skulto sync | Установить все навыки из манифеста skulto.json |
skulto check | Перечислить все установленные навыки и их расположения |
skulto add <repo> | Добавить репозиторий навыков и синхронизировать его навыки |
skulto list | Перечислить все настроенные исходные репозитории |
skulto pull | Получить/синхронизировать все репозитории и согласовать установленные навыки |
skulto remove [repo] | Удалить репозиторий (интерактивный выбор, если репозиторий не указан) |
skulto scan | Сканировать навыки на предмет угроз безопасности |
skulto update | Pull + сканирование с отчётом об изменениях |
skulto info <slug> | Показать подробную информацию о навыке |
skulto favorites add <slug> | Добавить навык в избранное |
skulto favorites remove <slug> | Удалить навык из избранного |
skulto favorites list | Перечислить все избранные навыки |
skulto feedback | Открыть страницу обратной связи/отчёта об ошибках |
skulto installУстановка навыков по slug или напрямую из репозитория GitHub:
```bash
skulto install superplan
skulto install asteroid-belt/skills
skulto install https://github.com/asteroid-belt/skills
skulto install asteroid-belt/skills -y
При установке из URL-адреса репозитория:
1. Skulto синхронизирует репозиторий и показывает все доступные навыки
2. Выберите, какие навыки установить, с помощью интерактивного чек-листа
3. Выберите целевые платформы с помощью сворачиваемого выбора платформ (обнаруженные платформы — вверху)
4. **Умный пропуск** уже установленных навыков: запрос с `y` (добавить расположения), `N` (пропустить, по умолчанию) или `s` (пропустить все оставшиеся)
5. Итоговая сводка показывает количество установленных, пропущенных и неудачных навыков
#### `skulto add <repo>`
Добавить репозиторий навыков в Skulto:
```bash
# Short format
skulto add asteroid-belt/skills
# Full URL
skulto add https://github.com/asteroid-belt/skills
# Skip initial sync
skulto add asteroid-belt/skills --no-sync
skulto pullСинхронизировать все зарегистрированные репозитории:
```bash
skulto pull
Это клонирует/обновляет все репозитории и приводит установленное состояние навыков в соответствие с файловой системой.
#### `skulto remove`
Удаляет репозиторий и все его навыки:```bash
# Interactive selection
skulto remove
# Specify repository
skulto remove asteroid-belt/skills
# Skip confirmation
skulto remove asteroid-belt/skills --force
skulto scanСканирование навыков на предмет угроз безопасности:
```bash
skulto scan --all
skulto scan --skill teach
skulto scan --source asteroid-belt/skills
skulto scan --pending
Сообщает уровни угроз: CRITICAL, HIGH, MEDIUM, LOW
#### `skulto update`
Комбинированный pull + сканирование с формированием отчёта:
```bash
# Update and scan new/updated skills
skulto update
# Update and scan ALL skills
skulto update --scan-all
skulto favoritesУправление избранными навыками. Избранное сохраняется при сбросах базы данных и хранится отдельно в ~/.agents/skulto/favorites.json.```bash
skulto favorites add docker-expert
skulto favorites remove docker-expert
skulto favorites list
Вы также можете переключать избранное в TUI, нажав `f` в любом представлении деталей навыка.
### MCP-сервер (`skulto-mcp`)
Skulto включает MCP-сервер (Model Context Protocol), который предоставляет навыки клиентам Claude Code и другим совместимым с MCP клиентам. Это позволяет ИИ-ассистентам выполнять поиск, просмотр, установку и управление навыками и репозиториями программным способом.


Добавьте в настройки Claude Code (`.claude.json`):```json
{
"mcpServers": {
"skulto": {
"command": "/opt/homebrew/bin/skulto-mcp",
"type": "stdio"
}
}
}
| Инструмент | Описание |
|---|---|
skulto_search | Поиск навыков с помощью полнотекстового поиска с ранжированием BM25 |
skulto_get_skill | Получение подробной информации о навыке, включая полное содержимое и теги |
skulto_list_skills | Список всех навыков с постраничной навигацией |
skulto_browse_tags | Список доступных тегов по категориям (язык, фреймворк, инструмент, концепция, домен) |
skulto_get_stats | Получение статистики базы данных (всего навыков, тегов, источников) |
skulto_get_recent | Получение недавно просмотренных навыков |
skulto_install | Установка навыка на любую поддерживаемую платформу (33 платформы, глобальная или проектная область) |
skulto_uninstall | Удаление навыка с указанных платформ |
skulto_favorite | Добавление или удаление навыка из избранного |
skulto_get_favorites | Получение избранных навыков |
skulto_check | Список всех установленных навыков и мест их установки |
skulto_add | Добавление репозитория навыков и синхронизация его навыков |
Сервер MCP также предоставляет ресурсы для прямого доступа к навыкам:
| URI ресурса | Описание |
|---|---|
skulto://skill/{slug} | Полное содержимое навыка в формате Markdown |
skulto://skill/{slug}/metadata | Метаданные в формате JSON, включая теги, источник и статистику |
Skulto хранит данные в ~/.agents/skulto/, сосуществуя с другими инструментами агентов в общем пространстве имён ~/.agents/:
| Путь | Назначение |
|---|---|
~/.agents/skulto/skulto.db | База данных SQLite |
~/.agents/skulto/skulto.log | Файл журнала |
~/.agents/skulto/repositories/ | Клонированные git-репозитории |
~/.agents/skulto/skills/ | Локальный каталог навыков пользователя |
~/.agents/skulto/favorites.json | Избранные навыки (сохраняются при сбросе базы данных) |
Обновление с предыдущей версии? Если у вас есть существующий каталог
~/.skulto/, Skulto автоматически перенесёт его в~/.agents/skulto/при первом запуске — включая записи базы данных и символические ссылки установленных навыков. Никаких ручных действий не требуется.
make build # Production build make dev # Development build with race detector
make test # Run all tests with coverage make test-race # Run with race detector
make lint # Run golangci-lint make format # Format code
make clean # Remove build artifacts
## Архитектура```
skulto/
├── cmd/skulto/ # Main CLI entry point
├── cmd/skulto-mcp/ # MCP server binary
├── internal/
│ ├── cli/ # Cobra CLI commands (add, install, pull, etc.)
│ │ └── prompts/ # Interactive CLI prompts (platform selector)
│ ├── config/ # Configuration (env vars only)
│ ├── db/ # GORM + SQLite + FTS5 database layer
│ ├── detect/ # AI tool detection on system
│ ├── embedding/ # Embedding provider abstraction
│ ├── favorites/ # File-based favorites persistence
│ ├── installer/ # Skill installation via symlinks (33 platforms)
│ ├── llm/ # LLM provider abstraction
│ ├── log/ # Structured logging
│ ├── mcp/ # MCP server implementation
│ ├── migration/ # Database migrations
│ ├── models/ # Data structures (Skill, Tag, Source, etc.)
│ ├── scraper/ # GitHub scraping (git clone based)
│ ├── search/ # Search service
│ ├── security/ # Security scanner for skills
│ ├── telemetry/ # PostHog analytics (opt-in)
│ ├── testutil/ # Test utilities
│ ├── tui/ # Bubble Tea TUI
│ │ ├── components/ # Reusable UI components (dialogs, selectors)
│ │ └── views/ # Screen views (home, search, detail, onboarding, manage)
│ └── vector/ # Vector store
├── pkg/version/ # Version info (set via ldflags)
└── scripts/ # Build and release scripts
Skulto настраивается полностью через переменные окружения (без файла конфигурации):
| Переменная | Назначение |
|---|---|
GITHUB_TOKEN | Более высокие лимиты скорости API GitHub (необязательно) |
OPENAI_API_KEY | Эмбеддинги для семантического поиска (необязательно) |
SKULTO_TELEMETRY_TRACKING_ENABLED | Установите false, чтобы отключить телеметрию |
Skulto собирает анонимную статистику использования (частота команд, частота ошибок) для улучшения инструмента. Телеметрия включена по умолчанию.
Чтобы отказаться от участия:```bash export SKULTO_TELEMETRY_TRACKING_ENABLED=false
Никакие персональные данные и IP-адреса не собираются. Подробнее см. в [events](https://github.com/asteroid-belt/skulto/blob/main/internal/telemetry/events.go).
## Документация
- [Обзор](https://github.com/asteroid-belt/skulto/blob/main/docs/overview.md) — идентичность проекта и ключевые возможности
- [Архитектура](https://github.com/asteroid-belt/skulto/blob/main/docs/architecture.md) — проектирование системы, компоненты и потоки данных
- [Начало работы](https://github.com/asteroid-belt/skulto/blob/main/docs/getting-started.md) — предварительные требования, установка и первый запуск
- [Разработка](https://github.com/asteroid-belt/skulto/blob/main/docs/development.md) — рабочий процесс внесения вклада, тестирование и CI/CD
- [Журнал архитектурных решений](https://github.com/asteroid-belt/skulto/blob/main/docs/adr/README.md) — ключевые технические решения и их обоснование
- [Глоссарий](https://github.com/asteroid-belt/skulto/blob/main/docs/glossary.md) — терминология предметной области
## Вклад в проект
Вклад приветствуется! Сначала прочитайте [CONTRIBUTING.md](https://github.com/asteroid-belt/skulto/blob/main/CONTRIBUTING.md).
## Лицензия
Лицензия MIT — подробности см. в [LICENSE](https://github.com/asteroid-belt/skulto/blob/main/LICENSE).
---
Сделано с ❤️ командой [Asteroid Belt](https://github.com/asteroid-belt)