
Outil hors ligne et axé sur la sécurité pour synchroniser et gérer les compétences des agents.
Analysez les compétences des agents IA pour détecter les injections de prompt avant de les installer
```
╔════════════════════════════════════════════════════════╗
║ ███████╗██╗ ██╗██╗ ██╗██╗ ████████╗ ██████╗ ║
║ ██╔════╝██║ ██╔╝██║ ██║██║ ╚══██╔══╝██╔═══██╗ ║
║ ███████╗█████╔╝ ██║ ██║██║ ██║ ██║ ██║ ║
║ ╚════██║██╔═██╗ ██║ ██║██║ ██║ ██║ ██║ ║
║ ███████║██║ ██╗╚██████╔╝███████╗██║ ╚██████╔╝ ║
║ ╚══════╝╚═╝ ╚═╝ ╚═════╝ ╚══════╝╚═╝ ╚═════╝ ║
╠════════════════════════════════════════════════════════╣
║ CROSS-PLATFORM AI SKILLS MANAGEMENT ║
╚════════════════════════════════════════════════════════╝

## Qu'est-ce que Skulto ?
Skulto est un outil CLI multiplateforme pour gérer les compétences des assistants de codage IA sur 33 plateformes. Il offre :
1. **Installation multiplateforme** - Installez des compétences sur Claude Code, Cursor, Windsurf, Copilot, Codex, Cline, Roo Code, Gemini CLI, Kiro CLI et plus de 25 autres
2. **Gestion des dépôts** - Ajoutez, synchronisez et supprimez des dépôts de compétences
3. **Recherche en texte intégral** - Recherche propulsée par SQLite FTS5 sur toutes les compétences indexées
4. **Analyse de sécurité** - Détecte les injections de prompts et les modèles de code dangereux
5. **Détection de plateformes** - Détecte automatiquement quels outils IA sont installés sur votre système
6. **TUI interactif** - Interface terminal propulsée par Bubble Tea avec groupes repliables, sélection multiple et navigation clavier
7. **Installation par URL** - Installez directement depuis des dépôts GitHub via `skulto install owner/repo`
## Fonctionnalités

- **Prise en charge de 33 plateformes** - Claude Code, Cursor, Windsurf, GitHub Copilot, OpenAI Codex, OpenCode, Cline, Roo Code, Gemini CLI, Kiro CLI, Amp, Continue, Goose, Junie, Qwen Code, Trae et plus encore
- **Détection de plateformes** - Détecte les outils IA installés et les affiche dans les sélecteurs de plateformes
- **Hors ligne en priorité** - Fonctionne sans internet après la synchronisation initiale
- **Recherche rapide** - Recherche en texte intégral propulsée par FTS5 avec classement BM25 (latence d'environ 50 ms)
- **Synchronisation basée sur Git** - Clone et tire les dépôts pour des mises à jour fiables
- **Analyseur de sécurité** - Détecte les injections de prompts dans le frontmatter, les références, les scripts et les modèles dangereux avec des niveaux de menace
- **Installation intelligente multi-compétences** - Installez plusieurs compétences depuis une URL de dépôt avec résolution de conflits par compétence (ignorer celles déjà installées, ajouter de nouveaux emplacements ou tout ignorer)
- **Sélection de la portée** - Installez les compétences globalement (`~/`) ou par projet (`./`) avec un contrôle séparé par plateforme
- **Groupes de plateformes repliables** - Plateformes détectées/préférées en haut, toutes les autres dans un groupe replié sur tous les sélecteurs
- **Mémorisation de l'emplacement d'installation** - Mémorisez éventuellement vos choix de plateforme/portée pour les installations futures
- **Favoris** - Enregistrez les compétences favorites qui persistent après les réinitialisations de la base de données
- **Récemment consultés** - Suit et affiche les compétences que vous avez récemment consultées
- **Serveur MCP** - Serveur Model Context Protocol pour l'intégration d'outils IA (recherche, installation, gestion programmatique des compétences)
- **Télémétrie** - Statistiques d'utilisation anonymes (désactivation via variable d'environnement dans les Paramètres)
### Plateformes prises en charge
Skulto détecte et installe des compétences sur 33 outils de codage 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 | | | |
## Installation
### Homebrew```bash
brew install asteroid-belt/tap/skulto
Pour mettre à niveau :```bash brew upgrade asteroid-belt/tap/skulto
### Paquets Linux
Les versions GitHub fournissent des téléchargements `.deb` et `.rpm` pour `amd64` et
`arm64`. Choisissez le format de paquet adapté à votre distribution et remplacez la
version ci-dessous par une étiquette de version :```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
Installez le fichier local avec le gestionnaire de paquets de votre distribution :```bash sudo apt install ./skulto_.deb sudo dnf install ./skulto-.rpm sudo zypper install ./skulto-*.rpm
Chaque paquet installe `skulto` et `skulto-mcp` dans `/usr/bin/skulto` et
`/usr/bin/skulto-mcp`. Skulto ne nécessite pas Git système au moment de l'exécution. Il s'agit
de téléchargements depuis GitHub Releases, et non d'un dépôt de paquets configuré.
### Depuis la source```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 pour des limites de débit API plus élevéesskulto
skulto install asteroid-belt/skills
Au premier lancement, Skulto vous guide à travers l’intégration :
1. **Sélection de la plateforme** — Les outils IA détectés apparaissent en haut ; sélectionnez ceux vers lesquels synchroniser les compétences
2. **Sélection des compétences** — Compétences de démarrage sélectionnées depuis Asteroid Belt (superplan, superbuild, teach, agentsmd-generator, et plus)
3. **Choix de l’emplacement** — Choisissez une portée globale ou par projet pour chaque plateforme, avec vos sélections précédentes pré-remplies
## Gestion des compétences pour les équipes
Skulto fonctionne comme un gestionnaire de paquets pour les compétences des agents IA. Utilisez `skulto.json` pour définir les compétences dont votre projet a besoin, puis `skulto sync` pour les installer — afin que chaque développeur et environnement CI dispose de la même configuration de compétences.
### Le flux de travail```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.jsonLe manifeste suit les compétences dont votre projet dépend et leur provenance :```json { "version": 1, "skills": { "superplan": "asteroid-belt/skills", "teach": "asteroid-belt/skills", "resume-ats-optimizer": "paramchoudhary/resumeskills" } }
Chaque entrée associe un slug de compétence à son dépôt source (`owner/repo`). Lorsqu’un coéquipier exécute `skulto sync`, Skulto clone les dépôts manquants, résout les compétences et les installe sur les plateformes sélectionnées.
### `skulto save`
Capture vos installations actuelles au niveau du projet dans `skulto.json` :```bash
$ skulto save
SAVED to skulto.json
teach asteroid-belt/skills
superplan asteroid-belt/skills
2 skill(s) saved
Seules les installations au niveau du projet sont enregistrées — les installations globales sont personnelles et ne sont pas partagées via le manifeste.
skulto syncLit skulto.json et installe toutes les compétences manquantes :```bash
$ skulto sync
SYNCING from skulto.json (2 skills) ──────────────────────────────────────────────── Done! Installed: 2, Skipped: 0
Au moment de la synchronisation, Skulto :
1. Ajoute les dépôts sources qui ne sont pas déjà dans la base de données locale
2. Résout chaque compétence par son slug
3. Demande la sélection de la plateforme et de la portée (ou utilise les valeurs par défaut détectées avec `-y`)
4. Ignore les compétences déjà installées aux emplacements sélectionnés
### `skulto check`
Affiche toutes les compétences installées et leur emplacement d'installation :```bash
$ skulto check
SKILL INSTALLED LOCATIONS
─────────────────────────────────────────────────────────────
superplan claude (global), codex (global + project)
teach claude (global + project)
2 skill(s) installed
skulto save et skulto check détectent automatiquement les compétences présentes sur le disque (sous forme de liens symboliques dans les répertoires de plateforme de votre projet) mais absentes de la base de données. Cela se produit après des migrations, des réinitialisations de base de données, ou lorsqu’un coéquipier installe des compétences en dehors 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
Les répertoires simples dans votre projet (compétences commitées directement dans le dépôt) sont laissés tels quels — ils n'ont pas besoin de la gestion de Skulto.
## Utilisation
### Mode TUI (par défaut)```bash
skulto

Raccourcis clavier :
| Touche | Action |
|---|---|
/ | Ouvrir la recherche |
j / k | Naviguer vers le bas / le haut |
h / l | Naviguer vers la gauche / la droite (entre les colonnes) |
↑ / ↓ | Naviguer dans les résultats |
Entrée | Sélectionner / confirmer |
Espace | Basculer la sélection (dans les sélecteurs) |
f | Basculer favori / signet |
i | Installer / gérer les emplacements des compétences |
c | Copier le contenu de la compétence dans le presse-papiers |
p | Tirer / synchroniser les dépôts |
Échap | Retour / annuler |
q | Quitter |
La vue d'accueil affiche trois colonnes :
Lorsque vous sélectionnez une compétence, vous verrez :
c pour copier le contenu complet de la compétenceLors de l'installation d'une compétence, vous choisissez où l'installer :
~/.claude/skills/ (à l'échelle de l'utilisateur) ou ./.claude/skills/ (local au projet)a tout, n aucun, g global uniquement, p projet uniquementAppuyez sur i sur une compétence installée pour gérer ses emplacements :

Skulto fournit des sous-commandes CLI pour les scripts et l'automatisation :
| Commande | Objectif |
|---|---|
skulto | Lancer la TUI interactive |
skulto install <slug ou dépôt> | Installer des compétences par slug ou depuis une URL de dépôt |
skulto uninstall <slug> | Désinstaller une compétence des plateformes sélectionnées |
skulto save | Enregistrer les installations au niveau du projet dans skulto.json |
skulto sync | Installer toutes les compétences depuis le manifeste skulto.json |
skulto check | Lister toutes les compétences installées et leurs emplacements |
skulto add <dépôt> | Ajouter un dépôt de compétences et synchroniser ses compétences |
skulto list | Lister tous les dépôts sources configurés |
skulto pull | Tirer/synchroniser tous les dépôts et réconcilier les compétences installées |
skulto remove [dépôt] | Supprimer un dépôt (sélection interactive si aucun dépôt n'est spécifié) |
skulto scan | Analyser les compétences pour détecter les menaces de sécurité |
skulto update | Tirer + analyser avec rapport des modifications |
skulto info <slug> | Afficher des informations détaillées sur une compétence |
skulto favorites add <slug> | Ajouter une compétence aux favoris |
skulto favorites remove <slug> | Supprimer une compétence des favoris |
skulto favorites list | Lister toutes les compétences favorites |
skulto feedback | Ouvrir la page de retour d'information / rapport de bug |
skulto installInstaller des compétences par slug ou directement depuis un dépôt GitHub :
```bash
skulto install superplan
skulto install asteroid-belt/skills
skulto install https://github.com/asteroid-belt/skills
skulto install asteroid-belt/skills -y
Lors de l'installation depuis une URL de dépôt :
1. Skulto synchronise le dépôt et présente toutes les compétences disponibles
2. Sélectionnez les compétences à installer à l'aide d'une liste de contrôle interactive
3. Choisissez les plateformes cibles avec un sélecteur de plateformes dépliable (plateformes détectées en haut)
4. **Saut intelligent** pour les compétences déjà installées : invite avec `y` (ajouter les emplacements), `N` (ignorer, par défaut), ou `s` (ignorer toutes les suivantes)
5. Le résumé final affiche les compteurs de compétences installées, ignorées et échouées
#### `skulto add <repo>`
Ajouter un dépôt de compétences à 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 pullSynchronise tous les dépôts enregistrés :
```bash
skulto pull
Ceci clone/met à jour tous les dépôts et réconcilie l’état des compétences installées avec le système de fichiers.
#### `skulto remove`
Supprime un dépôt et toutes ses compétences :```bash
# Interactive selection
skulto remove
# Specify repository
skulto remove asteroid-belt/skills
# Skip confirmation
skulto remove asteroid-belt/skills --force
skulto scanAnalyse des compétences à la recherche de menaces de sécurité :
```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 combiné + scan avec rapport :
```bash
# Update and scan new/updated skills
skulto update
# Update and scan ALL skills
skulto update --scan-all
skulto favoritesGérez vos compétences favorites. Les favoris persistent lors des réinitialisations de base de données et sont stockés séparément dans ~/.agents/skulto/favorites.json.```bash
skulto favorites add docker-expert
skulto favorites remove docker-expert
skulto favorites list
Vous pouvez également basculer les favoris dans la TUI en appuyant sur `f` dans n’importe quelle vue de détail d’une compétence.
### Serveur MCP (`skulto-mcp`)
Skulto inclut un serveur MCP (Model Context Protocol) qui expose les compétences à Claude Code et à d’autres clients compatibles MCP. Cela permet aux assistants IA de rechercher, parcourir, installer et gérer les compétences et les dépôts de manière programmatique.


Ajoutez-le à vos paramètres Claude Code (`.claude.json`) :```json
{
"mcpServers": {
"skulto": {
"command": "/opt/homebrew/bin/skulto-mcp",
"type": "stdio"
}
}
}
| Outil | Description |
|---|---|
skulto_search | Rechercher des compétences à l'aide de la recherche en texte intégral avec classement BM25 |
skulto_get_skill | Obtenir des informations détaillées sur une compétence, y compris le contenu complet et les balises |
skulto_list_skills | Lister toutes les compétences avec pagination |
skulto_browse_tags | Lister les balises disponibles par catégorie (langage, framework, outil, concept, domaine) |
skulto_get_stats | Obtenir les statistiques de la base de données (total de compétences, balises, sources) |
skulto_get_recent | Obtenir les compétences consultées récemment |
skulto_install | Installer une compétence sur toute plateforme prise en charge (33 plateformes, portée globale ou projet) |
skulto_uninstall | Désinstaller une compétence des plateformes spécifiées |
skulto_favorite | Ajouter ou retirer une compétence des favoris |
skulto_get_favorites | Obtenir les compétences favorites |
skulto_check | Lister toutes les compétences installées et leurs emplacements d'installation |
skulto_add | Ajouter un dépôt de compétences et synchroniser ses compétences |
Le serveur MCP expose également des ressources pour un accès direct aux compétences :
| URI de ressource | Description |
|---|---|
skulto://skill/{slug} | Contenu Markdown complet d'une compétence |
skulto://skill/{slug}/metadata | Métadonnées JSON incluant les balises, la source et les statistiques |
Skulto stocke les données dans ~/.agents/skulto/, coexistant avec d'autres outils d'agents sous l'espace de noms partagé ~/.agents/ :
| Chemin | Objectif |
|---|---|
~/.agents/skulto/skulto.db | Base de données SQLite |
~/.agents/skulto/skulto.log | Fichier journal |
~/.agents/skulto/repositories/ | Dépôts git clonés |
~/.agents/skulto/skills/ | Répertoire local des compétences de l'utilisateur |
~/.agents/skulto/favorites.json | Compétences favorites (persiste après les réinitialisations de la base de données) |
Mise à niveau depuis une version précédente ? Si vous disposez d'un répertoire
~/.skulto/existant, Skulto le migre automatiquement vers~/.agents/skulto/au premier lancement — y compris les enregistrements de la base de données et les liens symboliques des compétences installées. Aucune étape manuelle requise.
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
## Architecture```
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 est configuré entièrement via des variables d'environnement (pas de fichier de configuration) :
| Variable | Objectif |
|---|---|
GITHUB_TOKEN | Limites de débit API GitHub plus élevées (optionnel) |
OPENAI_API_KEY | Embeddings pour la recherche sémantique (optionnel) |
SKULTO_TELEMETRY_TRACKING_ENABLED | Définir sur false pour désactiver la télémétrie |
Skulto collecte des statistiques d'utilisation anonymes (fréquence des commandes, taux d'erreurs) pour améliorer l'outil. La télémétrie est activée par défaut.
Pour se désinscrire :```bash export SKULTO_TELEMETRY_TRACKING_ENABLED=false
Aucune donnée personnelle, aucune adresse IP n'est collectée. Voir plus dans [events](https://github.com/asteroid-belt/skulto/blob/main/internal/telemetry/events.go).
## Documentation
- [Vue d'ensemble](https://github.com/asteroid-belt/skulto/blob/main/docs/overview.md) - Identité du projet et fonctionnalités clés
- [Architecture](https://github.com/asteroid-belt/skulto/blob/main/docs/architecture.md) - Conception du système, composants et flux de données
- [Premiers pas](https://github.com/asteroid-belt/skulto/blob/main/docs/getting-started.md) - Prérequis, installation et première exécution
- [Développement](https://github.com/asteroid-belt/skulto/blob/main/docs/development.md) - Workflow de contribution, tests et CI/CD
- [Registre des décisions d'architecture](https://github.com/asteroid-belt/skulto/blob/main/docs/adr/README.md) - Décisions techniques clés et justifications
- [Glossaire](https://github.com/asteroid-belt/skulto/blob/main/docs/glossary.md) - Terminologie du domaine
## Contribuer
Les contributions sont les bienvenues ! Veuillez d'abord lire [CONTRIBUTING.md](https://github.com/asteroid-belt/skulto/blob/main/CONTRIBUTING.md).
## Licence
Licence MIT - voir [LICENSE](https://github.com/asteroid-belt/skulto/blob/main/LICENSE) pour plus de détails.
---
Fait avec ❤️ par [Asteroid Belt](https://github.com/asteroid-belt)