
Ferramenta offline e focada em segurança para sincronizar e gerenciar habilidades de agentes.
Analise as habilidades de agentes de IA em busca de injeção de prompt antes de instalá-las
```
╔════════════════════════════════════════════════════════╗
║ ███████╗██╗ ██╗██╗ ██╗██╗ ████████╗ ██████╗ ║
║ ██╔════╝██║ ██╔╝██║ ██║██║ ╚══██╔══╝██╔═══██╗ ║
║ ███████╗█████╔╝ ██║ ██║██║ ██║ ██║ ██║ ║
║ ╚════██║██╔═██╗ ██║ ██║██║ ██║ ██║ ██║ ║
║ ███████║██║ ██╗╚██████╔╝███████╗██║ ╚██████╔╝ ║
║ ╚══════╝╚═╝ ╚═╝ ╚═════╝ ╚══════╝╚═╝ ╚═════╝ ║
╠════════════════════════════════════════════════════════╣
║ CROSS-PLATFORM AI SKILLS MANAGEMENT ║
╚════════════════════════════════════════════════════════╝

## O que é o Skulto?
O Skulto é uma ferramenta CLI multiplataforma para gerenciar habilidades de assistentes de codificação com IA em 33 plataformas. Ele oferece:
1. **Instalação multiplataforma** - Instale habilidades no Claude Code, Cursor, Windsurf, Copilot, Codex, Cline, Roo Code, Gemini CLI, Kiro CLI e mais de 25 outras
2. **Gerenciamento de repositórios** - Adicione, sincronize e remova repositórios de habilidades
3. **Pesquisa de texto completo** - Pesquisa com tecnologia SQLite FTS5 em todas as habilidades indexadas
4. **Verificação de segurança** - Detecta injeção de prompt e padrões de código perigosos
5. **Detecção de plataformas** - Detecta automaticamente quais ferramentas de IA estão instaladas no seu sistema
6. **TUI interativa** - Interface de terminal com tecnologia Bubble Tea com grupos recolhíveis, seleção múltipla e navegação por teclado
7. **Instalação por URL** - Instale diretamente de repositórios GitHub via `skulto install owner/repo`
## Recursos

- **Suporte a 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 e outras
- **Detecção de plataformas** - Detecta ferramentas de IA instaladas e as exibe nos seletores de plataforma
- **Offline-first** - Funciona sem internet após a sincronização inicial
- **Pesquisa rápida** - Pesquisa de texto completo com tecnologia FTS5 e classificação BM25 (latência de ~50ms)
- **Sincronização via Git** - Clone e puxe repositórios para atualizações confiáveis
- **Scanner de segurança** - Detecta injeção de prompt em frontmatter, referências, scripts e padrões perigosos com níveis de ameaça
- **Instalação inteligente de múltiplas habilidades** - Instale várias habilidades de uma URL de repositório com resolução de conflitos por habilidade (pular já instaladas, adicionar novos locais ou pular todas)
- **Seleção de escopo** - Instale habilidades globalmente (`~/`) ou por projeto (`./`) com controle separado por plataforma
- **Grupos de plataforma recolhíveis** - Plataformas detectadas/preferidas no topo, todas as outras em um grupo recolhido em todos os seletores
- **Memória de local de instalação** - Opcionalmente, lembre suas escolhas de plataforma/escopo para instalações futuras
- **Favoritos** - Salve habilidades favoritas que persistem entre redefinições do banco de dados
- **Vistos recentemente** - Rastreia e exibe habilidades que você visualizou recentemente
- **Servidor MCP** - Servidor Model Context Protocol para integração com ferramentas de IA (pesquisar, instalar e gerenciar habilidades programaticamente)
- **Telemetria** - Estatísticas de uso anônimas (desative com variável de ambiente em Configurações)
### Plataformas Suportadas
O Skulto detecta e instala habilidades em 33 ferramentas de codificação com 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 | | | |
## Instalação
### Homebrew```bash
brew install asteroid-belt/tap/skulto
Para atualizar:```bash brew upgrade asteroid-belt/tap/skulto
### Pacotes Linux
Os GitHub Releases fornecem downloads `.deb` e `.rpm` para `amd64` e
`arm64`. Escolha o formato de pacote para a sua distribuição e substitua a
versão abaixo por uma tag de 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
Instale o arquivo local com o gerenciador de pacotes da sua distribuição:```bash sudo apt install ./skulto_.deb sudo dnf install ./skulto-.rpm sudo zypper install ./skulto-*.rpm
Cada pacote instala `skulto` e `skulto-mcp` em `/usr/bin/skulto` e
`/usr/bin/skulto-mcp`. O Skulto não requer Git do sistema em tempo de execução. Estes são
downloads do GitHub Release, não um repositório de pacotes configurado.
### A partir do código-fonte```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 limites de taxa de API mais altosskulto
skulto install asteroid-belt/skills
No primeiro lançamento, o Skulto guia você pela configuração inicial:
1. **Seleção de plataforma** - As ferramentas de IA detectadas aparecem no topo; selecione quais sincronizar habilidades
2. **Seleção de habilidades** - Habilidades iniciais selecionadas do Asteroid Belt (superplan, superbuild, teach, agentsmd-generator e outras)
3. **Seletor de local** - Escolha o escopo global ou do projeto por plataforma, com suas seleções anteriores pré-preenchidas
## Gerenciamento de Habilidades para Equipes
O Skulto funciona como um gerenciador de pacotes para habilidades de agentes de IA. Use `skulto.json` para definir as habilidades que seu projeto precisa e, em seguida, `skulto sync` para instalá-las — para que todo desenvolvedor e ambiente de CI tenha a mesma configuração de habilidades.
### O Fluxo de Trabalho```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.jsonO manifesto rastreia de quais skills o seu projeto depende e de onde elas vêm:```json { "version": 1, "skills": { "superplan": "asteroid-belt/skills", "teach": "asteroid-belt/skills", "resume-ats-optimizer": "paramchoudhary/resumeskills" } }
Cada entrada mapeia um slug de skill para o seu repositório de origem (`owner/repo`). Quando um colega de equipe executa `skulto sync`, o Skulto clona quaisquer repositórios ausentes, resolve as skills e as instala nas plataformas selecionadas.
### `skulto save`
Captura as suas instalações atuais no escopo do projeto em `skulto.json`:```bash
$ skulto save
SAVED to skulto.json
teach asteroid-belt/skills
superplan asteroid-belt/skills
2 skill(s) saved
Apenas instalações no escopo do projeto são salvas — instalações globais são pessoais e não são compartilhadas por meio do manifesto.
skulto syncLê o skulto.json e instala quaisquer habilidades ausentes:```bash
$ skulto sync
SYNCING from skulto.json (2 skills) ──────────────────────────────────────────────── Done! Installed: 2, Skipped: 0
Ao sincronizar, o Skulto:
1. Adiciona quaisquer repositórios de origem que ainda não estejam no banco de dados local
2. Resolve cada habilidade pelo slug
3. Solicita a seleção de plataforma e escopo (ou usa os padrões detectados com `-y`)
4. Ignora habilidades que já estão instaladas nos locais selecionados
### `skulto check`
Mostra todas as habilidades instaladas e onde elas estão instaladas:```bash
$ skulto check
SKILL INSTALLED LOCATIONS
─────────────────────────────────────────────────────────────
superplan claude (global), codex (global + project)
teach claude (global + project)
2 skill(s) installed
Tanto skulto save quanto skulto check detectam automaticamente habilidades que existem no disco (como symlinks nos diretórios de plataforma do seu projeto) mas estão ausentes no banco de dados. Isso acontece após migrações, redefinições do banco de dados ou quando um colega de equipe instala habilidades fora do 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
Diretórios simples no seu projeto (skills commitados diretamente no repositório) são deixados como estão — eles não precisam de gerenciamento do Skulto.
## Uso
### Modo TUI (Padrão)```bash
skulto

Atalhos de Teclado:
| Tecla | Ação |
|---|---|
/ | Abrir pesquisa |
j / k | Navegar para baixo / cima |
h / l | Navegar para a esquerda / direita (entre colunas) |
↑ / ↓ | Navegar pelos resultados |
Enter | Selecionar / confirmar |
Espaço | Alternar seleção (em seletores) |
f | Alternar favorito / marcador |
i | Instalar / gerenciar locais de skills |
c | Copiar conteúdo da skill para a área de transferência |
p | Puxar/sincronizar repositórios |
Esc | Voltar / cancelar |
q | Sair |
A visualização inicial exibe três colunas:
Ao selecionar uma skill, você verá:
c para copiar o conteúdo completo da skillAo instalar uma skill, você escolhe onde instalá-la:
~/.claude/skills/ (para o usuário) ou ./.claude/skills/ (local ao projeto)a todas, n nenhuma, g apenas global, p apenas projetoPressione i em uma skill instalada para gerenciar seus locais:

O Skulto fornece subcomandos CLI para scripts e automação:
| Comando | Finalidade |
|---|---|
skulto | Iniciar a TUI interativa |
skulto install <slug ou repo> | Instalar skills por slug ou a partir de uma URL de repositório |
skulto uninstall <slug> | Desinstalar uma skill das plataformas selecionadas |
skulto save | Salvar instalações de escopo de projeto em skulto.json |
skulto sync | Instalar todas as skills do manifesto skulto.json |
skulto check | Listar todas as skills instaladas e seus locais |
skulto add <repo> | Adicionar um repositório de skills e sincronizar suas skills |
skulto list | Listar todos os repositórios de origem configurados |
skulto pull | Puxar/sincronizar todos os repositórios e reconciliar skills instaladas |
skulto remove [repo] | Remover um repositório (seleção interativa se nenhum repositório for especificado) |
skulto scan | Verificar skills em busca de ameaças de segurança |
skulto update | Puxar + verificar com relatório de alterações |
skulto info <slug> | Mostrar informações detalhadas sobre uma skill |
skulto favorites add <slug> | Adicionar uma skill aos favoritos |
skulto favorites remove <slug> | Remover uma skill dos favoritos |
skulto favorites list | Listar todas as skills favoritas |
skulto feedback | Abrir a página de feedback/relatório de bugs |
skulto installInstalar skills por slug ou diretamente de um repositório 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 instalado a partir de uma URL de repositório:
1. O Skulto sincroniza o repositório e apresenta todas as habilidades disponíveis
2. Selecione quais habilidades instalar com uma lista de verificação interativa
3. Escolha as plataformas de destino com um seletor de plataformas recolhível (plataformas detectadas no topo)
4. **Pulo inteligente** para habilidades já instaladas: solicitado com `y` (adicionar locais), `N` (pular, padrão) ou `s` (pular todas as restantes)
5. O resumo final mostra as contagens de instaladas, puladas e com falha
#### `skulto add <repo>`
Adicionar um repositório de habilidades ao 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 os repositórios registrados:
```bash
skulto pull
Este comando clona/atualiza todos os repositórios e reconcilia o estado das skills instaladas com o sistema de arquivos.
#### `skulto remove`
Remove um repositório e todas as suas skills:```bash
# Interactive selection
skulto remove
# Specify repository
skulto remove asteroid-belt/skills
# Skip confirmation
skulto remove asteroid-belt/skills --force
skulto scanAnalisa habilidades em busca de ameaças de segurança:
```bash
skulto scan --all
skulto scan --skill teach
skulto scan --source asteroid-belt/skills
skulto scan --pending
Relatórios de níveis de ameaça: CRITICAL, HIGH, MEDIUM, LOW
#### `skulto update`
Pull combinado + verificação com relatórios:
```bash
# Update and scan new/updated skills
skulto update
# Update and scan ALL skills
skulto update --scan-all
skulto favoritesGerencie suas habilidades favoritas. Os favoritos persistem entre redefinições do banco de dados e são armazenados separadamente em ~/.agents/skulto/favorites.json.```bash
skulto favorites add docker-expert
skulto favorites remove docker-expert
skulto favorites list
Você também pode alternar favoritos na TUI pressionando `f` em qualquer visualização de detalhes de skill.
### Servidor MCP (`skulto-mcp`)
O Skulto inclui um servidor MCP (Model Context Protocol) que expõe skills ao Claude Code e a outros clientes compatíveis com MCP. Isso permite que assistentes de IA pesquisem, naveguem, instalem e gerenciem skills e repositórios programaticamente.


Adicione às suas configurações do Claude Code (`.claude.json`):```json
{
"mcpServers": {
"skulto": {
"command": "/opt/homebrew/bin/skulto-mcp",
"type": "stdio"
}
}
}
| Ferramenta | Descrição |
|---|---|
skulto_search | Pesquisar habilidades usando busca de texto completo com ranqueamento BM25 |
skulto_get_skill | Obter informações detalhadas sobre uma habilidade, incluindo conteúdo completo e tags |
skulto_list_skills | Listar todas as habilidades com paginação |
skulto_browse_tags | Listar tags disponíveis por categoria (linguagem, framework, ferramenta, conceito, domínio) |
skulto_get_stats | Obter estatísticas do banco de dados (total de habilidades, tags, fontes) |
skulto_get_recent | Obter habilidades visualizadas recentemente |
skulto_install | Instalar uma habilidade em qualquer plataforma suportada (33 plataformas, escopo global ou de projeto) |
skulto_uninstall | Desinstalar uma habilidade de plataformas especificadas |
skulto_favorite | Adicionar ou remover uma habilidade dos favoritos |
skulto_get_favorites | Obter habilidades favoritas |
skulto_check | Listar todas as habilidades instaladas e seus locais de instalação |
skulto_add | Adicionar um repositório de habilidades e sincronizar suas habilidades |
O servidor MCP também expõe recursos para acesso direto às habilidades:
| URI do Recurso | Descrição |
|---|---|
skulto://skill/{slug} | Conteúdo completo em markdown de uma habilidade |
skulto://skill/{slug}/metadata | Metadados em JSON, incluindo tags, fonte e estatísticas |
O Skulto armazena dados em ~/.agents/skulto/, coexistindo com outras ferramentas de agente sob o namespace compartilhado ~/.agents/:
| Caminho | Finalidade |
|---|---|
~/.agents/skulto/skulto.db | Banco de dados SQLite |
~/.agents/skulto/skulto.log | Arquivo de log |
~/.agents/skulto/repositories/ | Repositórios git clonados |
~/.agents/skulto/skills/ | Diretório local de habilidades do usuário |
~/.agents/skulto/favorites.json | Habilidades favoritas (persistem entre redefinições do banco de dados) |
Atualizando de uma versão anterior? Se você tiver um diretório
~/.skulto/existente, o Skulto o migra automaticamente para~/.agents/skulto/no primeiro lançamento — incluindo registros do banco de dados e symlinks de habilidades instaladas. Nenhuma etapa manual é necessária.
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
## Arquitetura```
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
O Skulto é configurado inteiramente por meio de variáveis de ambiente (sem arquivo de configuração):
| Variável | Finalidade |
|---|---|
GITHUB_TOKEN | Limites de taxa mais altos da API do GitHub (opcional) |
OPENAI_API_KEY | Embeddings para busca semântica (opcional) |
SKULTO_TELEMETRY_TRACKING_ENABLED | Defina como false para desativar a telemetria |
O Skulto coleta estatísticas anônimas de uso (frequência de comandos, taxas de erro) para melhorar a ferramenta. A telemetria está habilitada por padrão.
Para cancelar a adesão:```bash export SKULTO_TELEMETRY_TRACKING_ENABLED=false
Nenhum dado pessoal, nenhum endereço IP é coletado. Veja mais em [events](https://github.com/asteroid-belt/skulto/blob/main/internal/telemetry/events.go).
## Documentação
- [Visão Geral](https://github.com/asteroid-belt/skulto/blob/main/docs/overview.md) - Identidade do projeto e principais recursos
- [Arquitetura](https://github.com/asteroid-belt/skulto/blob/main/docs/architecture.md) - Design do sistema, componentes e fluxo de dados
- [Primeiros Passos](https://github.com/asteroid-belt/skulto/blob/main/docs/getting-started.md) - Pré-requisitos, instalação e primeira execução
- [Desenvolvimento](https://github.com/asteroid-belt/skulto/blob/main/docs/development.md) - Fluxo de contribuição, testes e CI/CD
- [Registros de Decisões de Arquitetura](https://github.com/asteroid-belt/skulto/blob/main/docs/adr/README.md) - Principais decisões técnicas e justificativas
- [Glossário](https://github.com/asteroid-belt/skulto/blob/main/docs/glossary.md) - Terminologia do domínio
## Contribuindo
Contribuições são bem-vindas! Por favor, leia [CONTRIBUTING.md](https://github.com/asteroid-belt/skulto/blob/main/CONTRIBUTING.md) primeiro.
## Licença
Licença MIT - veja [LICENSE](https://github.com/asteroid-belt/skulto/blob/main/LICENSE) para detalhes.
---
Feito com ❤️ por [Asteroid Belt](https://github.com/asteroid-belt)