
Herramienta offline y centrada en la seguridad para sincronizar y gestionar habilidades de agentes.
Analiza las habilidades de los agentes de IA en busca de inyecciones de prompts antes de instalarlas
```
╔════════════════════════════════════════════════════════╗
║ ███████╗██╗ ██╗██╗ ██╗██╗ ████████╗ ██████╗ ║
║ ██╔════╝██║ ██╔╝██║ ██║██║ ╚══██╔══╝██╔═══██╗ ║
║ ███████╗█████╔╝ ██║ ██║██║ ██║ ██║ ██║ ║
║ ╚════██║██╔═██╗ ██║ ██║██║ ██║ ██║ ██║ ║
║ ███████║██║ ██╗╚██████╔╝███████╗██║ ╚██████╔╝ ║
║ ╚══════╝╚═╝ ╚═╝ ╚═════╝ ╚══════╝╚═╝ ╚═════╝ ║
╠════════════════════════════════════════════════════════╣
║ CROSS-PLATFORM AI SKILLS MANAGEMENT ║
╚════════════════════════════════════════════════════════╝

## ¿Qué es Skulto?
Skulto es una herramienta CLI multiplataforma para gestionar habilidades de asistentes de codificación con IA en 33 plataformas. Proporciona:
1. **Instalación multiplataforma** - Instala habilidades en Claude Code, Cursor, Windsurf, Copilot, Codex, Cline, Roo Code, Gemini CLI, Kiro CLI y más de 25 adicionales
2. **Gestión de repositorios** - Añade, sincroniza y elimina repositorios de habilidades
3. **Búsqueda de texto completo** - Búsqueda impulsada por SQLite FTS5 en todas las habilidades indexadas
4. **Escaneo de seguridad** - Detecta inyección de prompts y patrones de código peligrosos
5. **Detección de plataformas** - Detecta automáticamente qué herramientas de IA están instaladas en tu sistema
6. **TUI interactiva** - Interfaz de terminal impulsada por Bubble Tea con grupos plegables, selección múltiple y navegación por teclado
7. **Instalación por URL** - Instala directamente desde repositorios de GitHub mediante `skulto install owner/repo`
## Características

- **Soporte para 33 plataformas** - Claude Code, Cursor, Windsurf, GitHub Copilot, OpenAI Codex, OpenCode, Cline, Roo Code, Gemini CLI, Kiro CLI, Amp, Continue, Goose, Junie, Qwen Code, Trae y más
- **Detección de plataformas** - Detecta herramientas de IA instaladas y las muestra en los selectores de plataforma
- **Prioridad offline** - Funciona sin internet después de la sincronización inicial
- **Búsqueda rápida** - Búsqueda de texto completo impulsada por FTS5 con clasificación BM25 (~50 ms de latencia)
- **Sincronización basada en Git** - Clona y actualiza repositorios para actualizaciones fiables
- **Escáner de seguridad** - Detecta inyección de prompts en frontmatter, referencias, scripts y patrones peligrosos con niveles de amenaza
- **Instalación inteligente de múltiples habilidades** - Instala varias habilidades desde una URL de repositorio con resolución de conflictos por habilidad (omitir las ya instaladas, añadir nuevas ubicaciones u omitir todas)
- **Selección de alcance** - Instala habilidades globalmente (`~/`) o por proyecto (`./`) con control separado por plataforma
- **Grupos de plataformas plegables** - Plataformas detectadas/preferidas en la parte superior, todas las demás en un grupo plegado en todos los selectores
- **Memoria de ubicación de instalación** - Opcionalmente recuerda tus elecciones de plataforma/alcance para futuras instalaciones
- **Favoritos** - Guarda habilidades favoritas que persisten entre reinicios de la base de datos
- **Vistos recientemente** - Rastrea y muestra las habilidades que has visto recientemente
- **Servidor MCP** - Servidor Model Context Protocol para integración con herramientas de IA (buscar, instalar y gestionar habilidades programáticamente)
- **Telemetría** - Estadísticas de uso anónimas (se puede desactivar con una variable de entorno en Configuración)
### Plataformas compatibles
Skulto detecta e instala habilidades en 33 herramientas de codificación con IA:
| | | | |
|---|---|---|---|
| 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 | | | |
## Instalación
### Homebrew```bash
brew install asteroid-belt/tap/skulto
Para actualizar:```bash brew upgrade asteroid-belt/tap/skulto
### Paquetes de Linux
Los lanzamientos de GitHub proporcionan descargas `.deb` y `.rpm` tanto para `amd64` como para
`arm64`. Elige el formato de paquete para tu distribución y reemplaza la
versión a continuación con una etiqueta de lanzamiento:```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
Instala el archivo local con el gestor de paquetes de tu distribución:```bash sudo apt install ./skulto_.deb sudo dnf install ./skulto-.rpm sudo zypper install ./skulto-*.rpm
Cada paquete instala `skulto` y `skulto-mcp` en `/usr/bin/skulto` y
`/usr/bin/skulto-mcp`. Skulto no requiere Git del sistema en tiempo de ejecución. Estas son
descargas de GitHub Release, no un repositorio de paquetes configurado.
### Desde el código fuente```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 para límites de tasa de API más altosskulto
skulto install asteroid-belt/skills
Al primer inicio, Skulto te guía a través de la configuración inicial:
1. **Selección de plataforma** - Las herramientas de IA detectadas aparecen en la parte superior; selecciona a cuáles sincronizar las habilidades
2. **Selección de habilidades** - Habilidades iniciales seleccionadas del Cinturón de Asteroides (superplan, superbuild, teach, agentsmd-generator y más)
3. **Selector de ubicación** - Elige el ámbito global o de proyecto por plataforma, con tus selecciones anteriores ya rellenadas
## Gestión de Habilidades para Equipos
Skulto funciona como un gestor de paquetes para las habilidades de los agentes de IA. Usa `skulto.json` para definir las habilidades que tu proyecto necesita y luego `skulto sync` para instalarlas, de modo que cada desarrollador y entorno de CI tenga la misma configuración de habilidades.
### El Flujo de Trabajo```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.jsonEl manifiesto registra de qué habilidades depende tu proyecto y de dónde provienen:```json { "version": 1, "skills": { "superplan": "asteroid-belt/skills", "teach": "asteroid-belt/skills", "resume-ats-optimizer": "paramchoudhary/resumeskills" } }
Cada entrada asigna un slug de habilidad a su repositorio fuente (`owner/repo`). Cuando un compañero ejecuta `skulto sync`, Skulto clona los repositorios faltantes, resuelve las habilidades y las instala en las plataformas seleccionadas.
### `skulto save`
Captura tus instalaciones actuales del ámbito del proyecto en `skulto.json`:```bash
$ skulto save
SAVED to skulto.json
teach asteroid-belt/skills
superplan asteroid-belt/skills
2 skill(s) saved
Solo se guardan las instalaciones a nivel de proyecto; las instalaciones globales son personales y no se comparten mediante el manifiesto.
skulto syncLee skulto.json e instala cualquier habilidad que falte:```bash
$ skulto sync
SYNCING from skulto.json (2 skills) ──────────────────────────────────────────────── Done! Installed: 2, Skipped: 0
Al sincronizar, Skulto:
1. Añade cualquier repositorio fuente que aún no esté en la base de datos local
2. Resuelve cada habilidad por slug
3. Solicita la selección de plataforma y alcance (o usa los valores predeterminados detectados con `-y`)
4. Omite las habilidades que ya están instaladas en las ubicaciones seleccionadas
### `skulto check`
Muestra todas las habilidades instaladas y dónde están instaladas:```bash
$ skulto check
SKILL INSTALLED LOCATIONS
─────────────────────────────────────────────────────────────
superplan claude (global), codex (global + project)
teach claude (global + project)
2 skill(s) installed
Tanto skulto save como skulto check detectan automáticamente las habilidades que existen en el disco (como enlaces simbólicos en los directorios de plataforma de tu proyecto) pero que faltan en la base de datos. Esto ocurre después de migraciones, reinicios de la base de datos o cuando un compañero instala habilidades fuera de 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
Los directorios simples en tu proyecto (skills confirmados directamente en el repositorio) se dejan intactos: no necesitan gestión de Skulto.
## Uso
### Modo TUI (Predeterminado)```bash
skulto

Atajos de teclado:
| Tecla | Acción |
|---|---|
/ | Abrir búsqueda |
j / k | Navegar hacia abajo / arriba |
h / l | Navegar hacia la izquierda / derecha (entre columnas) |
↑ / ↓ | Navegar por los resultados |
Enter | Seleccionar / confirmar |
Espacio | Alternar selección (en selectores) |
f | Alternar favorito / marcador |
i | Instalar / gestionar ubicaciones de habilidades |
c | Copiar contenido de la habilidad al portapapeles |
p | Extraer/sincronizar repositorios |
Esc | Atrás / cancelar |
q | Salir |
La vista de inicio muestra tres columnas:
Cuando seleccionas una habilidad, verás:
c para copiar el contenido completo de la habilidadAl instalar una habilidad, eliges dónde instalarla:
~/.claude/skills/ (para todo el usuario) o ./.claude/skills/ (local al proyecto)a todas, n ninguna, g solo global, p solo proyectoPulsa i en una habilidad instalada para gestionar sus ubicaciones:

Skulto proporciona subcomandos CLI para scripting y automatización:
| Comando | Propósito |
|---|---|
skulto | Iniciar la TUI interactiva |
skulto install <slug o repo> | Instalar habilidades por slug o desde una URL de repositorio |
skulto uninstall <slug> | Desinstalar una habilidad de las plataformas seleccionadas |
skulto save | Guardar instalaciones de ámbito de proyecto en skulto.json |
skulto sync | Instalar todas las habilidades desde el manifiesto skulto.json |
skulto check | Listar todas las habilidades instaladas y sus ubicaciones |
skulto add <repo> | Añadir un repositorio de habilidades y sincronizar sus habilidades |
skulto list | Listar todos los repositorios de origen configurados |
skulto pull | Extraer/sincronizar todos los repositorios y reconciliar las habilidades instaladas |
skulto remove [repo] | Eliminar un repositorio (selección interactiva si no se especifica repositorio) |
skulto scan | Analizar habilidades en busca de amenazas de seguridad |
skulto update | Extraer + analizar con informe de cambios |
skulto info <slug> | Mostrar información detallada sobre una habilidad |
skulto favorites add <slug> | Añadir una habilidad a favoritos |
skulto favorites remove <slug> | Eliminar una habilidad de favoritos |
skulto favorites list | Listar todas las habilidades favoritas |
skulto feedback | Abrir la página de comentarios/informe de errores |
skulto installInstalar habilidades por slug o directamente desde un repositorio de GitHub:
```bash
skulto install superplan
skulto install asteroid-belt/skills
skulto install https://github.com/asteroid-belt/skills
skulto install asteroid-belt/skills -y
Cuando se instala desde una URL de repositorio:
1. Skulto sincroniza el repositorio y presenta todas las habilidades disponibles
2. Selecciona qué habilidades instalar con una lista de verificación interactiva
3. Elige las plataformas objetivo con un selector de plataformas plegable (plataformas detectadas en la parte superior)
4. **Omisión inteligente** para habilidades ya instaladas: se solicita con `y` (añadir ubicaciones), `N` (omitir, predeterminado) o `s` (omitir todas las restantes)
5. El resumen final muestra los recuentos de instaladas, omitidas y fallidas
#### `skulto add <repo>`
Añade un repositorio de habilidades a 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 pullSincroniza todos los repositorios registrados:
```bash
skulto pull
Este clona/actualiza todos los repositorios y reconcilia el estado de las habilidades instaladas con el sistema de archivos.
#### `skulto remove`
Elimina un repositorio y todas sus habilidades:```bash
# Interactive selection
skulto remove
# Specify repository
skulto remove asteroid-belt/skills
# Skip confirmation
skulto remove asteroid-belt/skills --force
skulto scanEscanea habilidades en busca de amenazas de seguridad:
```bash
skulto scan --all
skulto scan --skill teach
skulto scan --source asteroid-belt/skills
skulto scan --pending
Informa los niveles de amenaza: CRÍTICO, ALTO, MEDIO, BAJO
#### `skulto update`
Combinación de pull + escaneo con informes:
```bash
# Update and scan new/updated skills
skulto update
# Update and scan ALL skills
skulto update --scan-all
skulto favoritesGestiona tus habilidades favoritas. Los favoritos persisten entre reinicios de la base de datos y se almacenan por separado en ~/.agents/skulto/favorites.json.```bash
skulto favorites add docker-expert
skulto favorites remove docker-expert
skulto favorites list
También puedes alternar favoritos en la TUI presionando `f` en cualquier vista de detalle de habilidad.
### Servidor MCP (`skulto-mcp`)
Skulto incluye un servidor MCP (Model Context Protocol) que expone habilidades a Claude Code y otros clientes compatibles con MCP. Esto permite que los asistentes de IA busquen, naveguen, instalen y gestionen habilidades y repositorios de forma programática.


Añádelo a tu configuración de Claude Code (`.claude.json`):```json
{
"mcpServers": {
"skulto": {
"command": "/opt/homebrew/bin/skulto-mcp",
"type": "stdio"
}
}
}
| Herramienta | Descripción |
|---|---|
skulto_search | Buscar habilidades mediante búsqueda de texto completo con clasificación BM25 |
skulto_get_skill | Obtener información detallada sobre una habilidad, incluido el contenido completo y las etiquetas |
skulto_list_skills | Listar todas las habilidades con paginación |
skulto_browse_tags | Listar etiquetas disponibles por categoría (idioma, framework, herramienta, concepto, dominio) |
skulto_get_stats | Obtener estadísticas de la base de datos (total de habilidades, etiquetas, fuentes) |
skulto_get_recent | Obtener habilidades vistas recientemente |
skulto_install | Instalar una habilidad en cualquier plataforma compatible (33 plataformas, ámbito global o de proyecto) |
skulto_uninstall | Desinstalar una habilidad de las plataformas especificadas |
skulto_favorite | Añadir o eliminar una habilidad de favoritos |
skulto_get_favorites | Obtener habilidades favoritas |
skulto_check | Listar todas las habilidades instaladas y sus ubicaciones de instalación |
skulto_add | Añadir un repositorio de habilidades y sincronizar sus habilidades |
El servidor MCP también expone recursos para el acceso directo a habilidades:
| URI del recurso | Descripción |
|---|---|
skulto://skill/{slug} | Contenido completo en markdown de una habilidad |
skulto://skill/{slug}/metadata | Metadatos JSON que incluyen etiquetas, fuente y estadísticas |
Skulto almacena datos en ~/.agents/skulto/, coexistiendo con otras herramientas de agentes bajo el espacio de nombres compartido ~/.agents/:
| Ruta | Propósito |
|---|---|
~/.agents/skulto/skulto.db | Base de datos SQLite |
~/.agents/skulto/skulto.log | Archivo de registro |
~/.agents/skulto/repositories/ | Repositorios git clonados |
~/.agents/skulto/skills/ | Directorio local de habilidades del usuario |
~/.agents/skulto/favorites.json | Habilidades favoritas (persisten entre reinicios de la base de datos) |
¿Actualizando desde una versión anterior? Si tienes un directorio
~/.skulto/existente, Skulto lo migra automáticamente a~/.agents/skulto/en el primer inicio, incluidos los registros de la base de datos y los enlaces simbólicos de habilidades instaladas. No se requieren pasos manuales.
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
## Arquitectura```
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 se configura completamente mediante variables de entorno (sin archivo de configuración):
| Variable | Propósito |
|---|---|
GITHUB_TOKEN | Límites de tasa de API de GitHub más altos (opcional) |
OPENAI_API_KEY | Incrustaciones para búsqueda semántica (opcional) |
SKULTO_TELEMETRY_TRACKING_ENABLED | Establecer en false para deshabilitar la telemetría |
Skulto recopila estadísticas de uso anónimas (frecuencia de comandos, tasas de error) para mejorar la herramienta. La telemetría está habilitada por defecto.
Para optar por no participar:```bash export SKULTO_TELEMETRY_TRACKING_ENABLED=false
No se recopilan datos personales ni direcciones IP. Consulta más información en [events](https://github.com/asteroid-belt/skulto/blob/main/internal/telemetry/events.go).
## Documentación
- [Descripción general](https://github.com/asteroid-belt/skulto/blob/main/docs/overview.md) - Identidad del proyecto y características clave
- [Arquitectura](https://github.com/asteroid-belt/skulto/blob/main/docs/architecture.md) - Diseño del sistema, componentes y flujo de datos
- [Primeros pasos](https://github.com/asteroid-belt/skulto/blob/main/docs/getting-started.md) - Requisitos previos, instalación y primera ejecución
- [Desarrollo](https://github.com/asteroid-belt/skulto/blob/main/docs/development.md) - Flujo de trabajo para contribuciones, pruebas y CI/CD
- [Registros de decisiones de arquitectura](https://github.com/asteroid-belt/skulto/blob/main/docs/adr/README.md) - Decisiones técnicas clave y su justificación
- [Glosario](https://github.com/asteroid-belt/skulto/blob/main/docs/glossary.md) - Terminología del dominio
## Contribuciones
¡Las contribuciones son bienvenidas! Lee primero [CONTRIBUTING.md](https://github.com/asteroid-belt/skulto/blob/main/CONTRIBUTING.md).
## Licencia
Licencia MIT - consulta [LICENSE](https://github.com/asteroid-belt/skulto/blob/main/LICENSE) para más detalles.
---
Hecho con ❤️ por [Asteroid Belt](https://github.com/asteroid-belt)