
Strumento offline e incentrato sulla sicurezza per sincronizzare e gestire le competenze degli agenti.
Scansiona le competenze degli agenti AI per individuare prompt injection prima di installarle
```
╔════════════════════════════════════════════════════════╗
║ ███████╗██╗ ██╗██╗ ██╗██╗ ████████╗ ██████╗ ║
║ ██╔════╝██║ ██╔╝██║ ██║██║ ╚══██╔══╝██╔═══██╗ ║
║ ███████╗█████╔╝ ██║ ██║██║ ██║ ██║ ██║ ║
║ ╚════██║██╔═██╗ ██║ ██║██║ ██║ ██║ ██║ ║
║ ███████║██║ ██╗╚██████╔╝███████╗██║ ╚██████╔╝ ║
║ ╚══════╝╚═╝ ╚═╝ ╚═════╝ ╚══════╝╚═╝ ╚═════╝ ║
╠════════════════════════════════════════════════════════╣
║ CROSS-PLATFORM AI SKILLS MANAGEMENT ║
╚════════════════════════════════════════════════════════╝

## Cos'è Skulto?
Skulto è uno strumento CLI multipiattaforma per gestire le skill degli assistenti di codifica AI su 33 piattaforme. Offre:
1. **Installazione multipiattaforma** - Installa skill su Claude Code, Cursor, Windsurf, Copilot, Codex, Cline, Roo Code, Gemini CLI, Kiro CLI e oltre 25 altre
2. **Gestione repository** - Aggiungi, sincronizza e rimuovi repository di skill
3. **Ricerca full-text** - Ricerca full-text basata su SQLite FTS5 su tutte le skill indicizzate
4. **Scansione di sicurezza** - Rileva prompt injection e pattern di codice pericolosi
5. **Rilevamento piattaforme** - Rileva automaticamente quali strumenti AI sono installati sul tuo sistema
6. **TUI interattiva** - Interfaccia terminale basata su Bubble Tea con gruppi comprimibili, multi-selezione e navigazione da tastiera
7. **Installazione tramite URL** - Installa direttamente da repository GitHub tramite `skulto install owner/repo`
## Funzionalità

- **Supporto per 33 piattaforme** - Claude Code, Cursor, Windsurf, GitHub Copilot, OpenAI Codex, OpenCode, Cline, Roo Code, Gemini CLI, Kiro CLI, Amp, Continue, Goose, Junie, Qwen Code, Trae e altre
- **Rilevamento piattaforme** - Rileva gli strumenti AI installati e li mostra nei selettori di piattaforma
- **Offline-first** - Funziona senza connessione internet dopo la sincronizzazione iniziale
- **Ricerca rapida** - Ricerca full-text basata su FTS5 con ranking BM25 (latenza ~50ms)
- **Sincronizzazione basata su Git** - Clona e aggiorna repository per aggiornamenti affidabili
- **Scanner di sicurezza** - Rileva prompt injection in frontmatter, riferimenti, script e pattern pericolosi con livelli di minaccia
- **Installazione intelligente multi-skill** - Installa più skill da un URL di repository con risoluzione dei conflitti per singola skill (salta già installate, aggiungi nuove posizioni o salta tutto)
- **Selezione dell'ambito** - Installa skill a livello globale (`~/`) o per progetto (`./`) con controllo separato per piattaforma
- **Gruppi di piattaforme comprimibili** - Piattaforme rilevate/preferite in alto, tutte le altre in un gruppo comprimibile in tutti i selettori
- **Memoria della posizione di installazione** - Ricorda opzionalmente le tue scelte di piattaforma/ambito per installazioni future
- **Preferiti** - Salva le skill preferite che persistono tra i ripristini del database
- **Visualizzati di recente** - Tiene traccia e mostra le skill che hai visualizzato di recente
- **Server MCP** - Server Model Context Protocol per l'integrazione con strumenti AI (ricerca, installazione, gestione programmatica delle skill)
- **Telemetria** - Statistiche di utilizzo anonime (disattivabile con variabile d'ambiente nelle Impostazioni)
### Piattaforme supportate
Skulto rileva e installa skill su 33 strumenti di codifica AI:
| | | | |
|---|---|---|---|
| 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 | | | |
## Installazione
### Homebrew```bash
brew install asteroid-belt/tap/skulto
Per aggiornare:```bash brew upgrade asteroid-belt/tap/skulto
### Pacchetti Linux
Le GitHub Releases forniscono download `.deb` e `.rpm` sia per `amd64` che per
`arm64`. Scegli il formato del pacchetto per la tua distribuzione e sostituisci la
versione qui sotto con un tag di release:```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
Installa il file locale con il gestore pacchetti della tua distribuzione:```bash sudo apt install ./skulto_.deb sudo dnf install ./skulto-.rpm sudo zypper install ./skulto-*.rpm
Ogni pacchetto installa `skulto` e `skulto-mcp` in `/usr/bin/skulto` e
`/usr/bin/skulto-mcp`. Skulto non richiede Git di sistema in fase di esecuzione. Questi sono
download da GitHub Release, non un repository di pacchetti configurato.
### Dal sorgente```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 per limiti di velocità API più elevatiskulto
skulto install asteroid-belt/skills
Al primo avvio, Skulto ti guida attraverso la configurazione iniziale:
1. **Selezione della piattaforma** - Gli strumenti AI rilevati appaiono in cima; seleziona quelli a cui sincronizzare le skill
2. **Selezione delle skill** - Skill iniziali curate da Asteroid Belt (superplan, superbuild, teach, agentsmd-generator e altre)
3. **Scelta della posizione** - Scegli l'ambito globale o di progetto per ogni piattaforma, con le selezioni precedenti già precompilate
## Gestione delle Skill per i Team
Skulto funziona come un gestore di pacchetti per le skill degli agenti AI. Usa `skulto.json` per definire le skill di cui il tuo progetto ha bisogno, poi `skulto sync` per installarle — così ogni sviluppatore e ambiente CI ha la stessa configurazione di skill.
### Il Flusso di Lavoro```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.jsonIl manifest tiene traccia delle skill da cui dipende il tuo progetto e da dove provengono:```json { "version": 1, "skills": { "superplan": "asteroid-belt/skills", "teach": "asteroid-belt/skills", "resume-ats-optimizer": "paramchoudhary/resumeskills" } }
Ogni voce associa uno slug di skill al suo repository sorgente (`owner/repo`). Quando un membro del team esegue `skulto sync`, Skulto clona eventuali repository mancanti, risolve le skill e le installa sulle piattaforme selezionate.
### `skulto save`
Cattura le installazioni correnti a livello di progetto in `skulto.json`:```bash
$ skulto save
SAVED to skulto.json
teach asteroid-belt/skills
superplan asteroid-belt/skills
2 skill(s) saved
Solo le installazioni a livello di progetto vengono salvate — le installazioni globali sono personali e non vengono condivise tramite il manifest.
skulto syncLegge skulto.json e installa eventuali skill mancanti:```bash
$ skulto sync
SYNCING from skulto.json (2 skills) ──────────────────────────────────────────────── Done! Installed: 2, Skipped: 0
Al sync, Skulto:
1. Aggiunge eventuali repository sorgente non già presenti nel database locale
2. Risolve ogni skill tramite slug
3. Richiede la selezione di piattaforma e ambito (oppure usa i valori predefiniti rilevati con `-y`)
4. Salta le skill già installate nelle posizioni selezionate
### `skulto check`
Mostra tutte le skill installate e dove sono installate:```bash
$ skulto check
SKILL INSTALLED LOCATIONS
─────────────────────────────────────────────────────────────
superplan claude (global), codex (global + project)
teach claude (global + project)
2 skill(s) installed
Sia skulto save che skulto check rilevano automaticamente le skill presenti su disco (come symlink nelle directory di piattaforma del tuo progetto) ma mancanti dal database. Questo accade dopo migrazioni, reset del database o quando un collega installa skill al di fuori di 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
I progetti in directory semplici (skill committate direttamente nel repository) vengono lasciati invariati — non necessitano della gestione di Skulto.
## Utilizzo
### Modalità TUI (predefinita)```bash
skulto

Tasti di scelta rapida:
| Tasto | Azione |
|---|---|
/ | Apri la ricerca |
j / k | Naviga giù / su |
h / l | Naviga a sinistra / destra (tra le colonne) |
↑ / ↓ | Naviga tra i risultati |
Invio | Seleziona / conferma |
Spazio | Attiva/disattiva selezione (nei selettori) |
f | Attiva/disattiva preferito / segnalibro |
i | Installa / gestisci posizioni delle skill |
c | Copia il contenuto della skill negli appunti |
p | Esegui pull/sync dei repository |
Esc | Indietro / annulla |
q | Esci |
La vista home mostra tre colonne:
Quando selezioni una skill, vedrai:
c per copiare il contenuto completo della skillQuando installi una skill, scegli dove installarla:
~/.claude/skills/ (a livello utente) o ./.claude/skills/ (a livello progetto)a tutto, n nessuno, g solo globale, p solo progettoPremi i su una skill installata per gestire le sue posizioni:

Skulto fornisce sottocomandi CLI per scripting e automazione:
| Comando | Scopo |
|---|---|
skulto | Avvia la TUI interattiva |
skulto install <slug o repo> | Installa skill tramite slug o da un URL di repository |
skulto uninstall <slug> | Disinstalla una skill dalle piattaforme selezionate |
skulto save | Salva le installazioni a livello progetto in skulto.json |
skulto sync | Installa tutte le skill dal manifest skulto.json |
skulto check | Elenca tutte le skill installate e le loro posizioni |
skulto add <repo> | Aggiungi un repository di skill e sincronizza le sue skill |
skulto list | Elenca tutti i repository sorgente configurati |
skulto pull | Esegui pull/sync di tutti i repository e riconcilia le skill installate |
skulto remove [repo] | Rimuovi un repository (selezione interattiva se nessun repo specificato) |
skulto scan | Scansiona le skill per minacce di sicurezza |
skulto update | Pull + scan con report delle modifiche |
skulto info <slug> | Mostra informazioni dettagliate su una skill |
skulto favorites add <slug> | Aggiungi una skill ai preferiti |
skulto favorites remove <slug> | Rimuovi una skill dai preferiti |
skulto favorites list | Elenca tutte le skill preferite |
skulto feedback | Apri la pagina di feedback/segnalazione bug |
skulto installInstalla skill tramite slug o direttamente da un repository GitHub:
```bash
skulto install superplan
skulto install asteroid-belt/skills
skulto install https://github.com/asteroid-belt/skills
skulto install asteroid-belt/skills -y
Quando si installa da un URL di repository:
1. Skulto sincronizza il repository e presenta tutte le skill disponibili
2. Seleziona quali skill installare con un elenco interattivo a caselle di spunta
3. Scegli le piattaforme di destinazione con un selettore di piattaforme comprimibile (piattaforme rilevate in alto)
4. **Salto intelligente** per le skill già installate: viene richiesto con `y` (aggiungi percorsi), `N` (salta, predefinito) o `s` (salta tutte le rimanenti)
5. Il riepilogo finale mostra i conteggi di installate, saltate e non riuscite
#### `skulto add <repo>`
Aggiungi un repository di skill 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 pullSincronizza tutti i repository registrati:
```bash
skulto pull
Questo clona/aggiorna tutti i repository e riconcilia lo stato delle skill installate con il filesystem.
#### `skulto remove`
Rimuove un repository e tutte le sue skill:```bash
# Interactive selection
skulto remove
# Specify repository
skulto remove asteroid-belt/skills
# Skip confirmation
skulto remove asteroid-belt/skills --force
skulto scanScansiona le skill per minacce alla sicurezza:
```bash
skulto scan --all
skulto scan --skill teach
skulto scan --source asteroid-belt/skills
skulto scan --pending
Reports threat levels: CRITICAL, HIGH, MEDIUM, LOW
#### `skulto update`
Pull combinato + scansione con report:
```bash
# Update and scan new/updated skills
skulto update
# Update and scan ALL skills
skulto update --scan-all
skulto favoritesGestisci le tue skill preferite. I preferiti persistono tra i ripristini del database e sono salvati separatamente in ~/.agents/skulto/favorites.json.```bash
skulto favorites add docker-expert
skulto favorites remove docker-expert
skulto favorites list
Puoi anche attivare/disattivare i preferiti nella TUI premendo `f` su qualsiasi vista dei dettagli di una skill.
### Server MCP (`skulto-mcp`)
Skulto include un server MCP (Model Context Protocol) che espone le skill a Claude Code e ad altri client compatibili con MCP. Questo consente agli assistenti AI di cercare, sfogliare, installare e gestire skill e repository in modo programmatico.


Aggiungi alle impostazioni di Claude Code (`.claude.json`):```json
{
"mcpServers": {
"skulto": {
"command": "/opt/homebrew/bin/skulto-mcp",
"type": "stdio"
}
}
}
| Strumento | Descrizione |
|---|---|
skulto_search | Cerca competenze utilizzando la ricerca full-text con ranking BM25 |
skulto_get_skill | Ottieni informazioni dettagliate su una competenza, inclusi contenuto completo e tag |
skulto_list_skills | Elenca tutte le competenze con paginazione |
skulto_browse_tags | Elenca i tag disponibili per categoria (linguaggio, framework, strumento, concetto, dominio) |
skulto_get_stats | Ottieni statistiche del database (totale competenze, tag, fonti) |
skulto_get_recent | Ottieni le competenze visualizzate di recente |
skulto_install | Installa una competenza su qualsiasi piattaforma supportata (33 piattaforme, ambito globale o di progetto) |
skulto_uninstall | Disinstalla una competenza dalle piattaforme specificate |
skulto_favorite | Aggiungi o rimuovi una competenza dai preferiti |
skulto_get_favorites | Ottieni le competenze preferite |
skulto_check | Elenca tutte le competenze installate e le loro posizioni di installazione |
skulto_add | Aggiungi un repository di competenze e sincronizza le sue competenze |
Il server MCP espone anche risorse per l'accesso diretto alle competenze:
| URI della risorsa | Descrizione |
|---|---|
skulto://skill/{slug} | Contenuto markdown completo di una competenza |
skulto://skill/{slug}/metadata | Metadati JSON inclusi tag, fonte e statistiche |
Skulto memorizza i dati in ~/.agents/skulto/, coesistendo con altri strumenti per agenti sotto il namespace condiviso ~/.agents/:
| Percorso | Scopo |
|---|---|
~/.agents/skulto/skulto.db | Database SQLite |
~/.agents/skulto/skulto.log | File di log |
~/.agents/skulto/repositories/ | Repository git clonati |
~/.agents/skulto/skills/ | Directory delle competenze locali dell'utente |
~/.agents/skulto/favorites.json | Competenze preferite (persistono tra i ripristini del database) |
Stai eseguendo l'aggiornamento da una versione precedente? Se disponi di una directory
~/.skulto/esistente, Skulto la migra automaticamente a~/.agents/skulto/al primo avvio — inclusi i record del database e i collegamenti simbolici delle competenze installate. Nessun passaggio manuale richiesto.
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
## Architettura```
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 è configurato interamente tramite variabili d'ambiente (nessun file di configurazione):
| Variabile | Scopo |
|---|---|
GITHUB_TOKEN | Limiti di frequenza API GitHub più elevati (opzionale) |
OPENAI_API_KEY | Embedding per la ricerca semantica (opzionale) |
SKULTO_TELEMETRY_TRACKING_ENABLED | Impostare su false per disabilitare la telemetria |
Skulto raccoglie statistiche di utilizzo anonime (frequenza dei comandi, tassi di errore) per migliorare lo strumento. La telemetria è abilitata per impostazione predefinita.
Per disattivarla:```bash export SKULTO_TELEMETRY_TRACKING_ENABLED=false
Nessun dato personale, nessun indirizzo IP viene raccolto. Per maggiori dettagli, consulta [events](https://github.com/asteroid-belt/skulto/blob/main/internal/telemetry/events.go).
## Documentazione
- [Panoramica](https://github.com/asteroid-belt/skulto/blob/main/docs/overview.md) - Identità del progetto e funzionalità principali
- [Architettura](https://github.com/asteroid-belt/skulto/blob/main/docs/architecture.md) - Progettazione del sistema, componenti e flusso dei dati
- [Per iniziare](https://github.com/asteroid-belt/skulto/blob/main/docs/getting-started.md) - Prerequisiti, installazione e prima esecuzione
- [Sviluppo](https://github.com/asteroid-belt/skulto/blob/main/docs/development.md) - Flusso di lavoro per i contributi, test e CI/CD
- [Architecture Decision Records](https://github.com/asteroid-belt/skulto/blob/main/docs/adr/README.md) - Decisioni tecniche chiave e relative motivazioni
- [Glossario](https://github.com/asteroid-belt/skulto/blob/main/docs/glossary.md) - Terminologia di dominio
## Contributi
I contributi sono benvenuti! Leggi prima [CONTRIBUTING.md](https://github.com/asteroid-belt/skulto/blob/main/CONTRIBUTING.md).
## Licenza
Licenza MIT - consulta [LICENSE](https://github.com/asteroid-belt/skulto/blob/main/LICENSE) per i dettagli.
---
Realizzato con ❤️ da [Asteroid Belt](https://github.com/asteroid-belt)