skill-cli
Um mecanismo de habilidades de IA de alto desempenho. Armazena, pesquisa e busca habilidades em Markdown dinamicamente por meio de um banco de dados SQLite FTS5 embutido para economizar tokens de contexto.
Documentação
skill-cli
Um mecanismo de habilidades para agentes de IA de alto desempenho, open-source, escrito em Rust.
skill-cli é um único binário estaticamente vinculado que atua como um armazenamento centralizado de habilidades para agentes de IA e desenvolvedores humanos. Ele fornece:
- Uma CLI para sincronizar, pesquisar e gerenciar habilidades armazenadas em um banco de dados SQLite local.
- Um servidor MCP (via
stdio, JSON-RPC 2.0) que expõe ferramentas limpas e eficientes em tokens para LLMs e agentes pesquisarem, buscarem e atualizarem habilidades sem sobrecarregar as janelas de contexto.
Recursos
- ⚡ Pesquisa FTS5 em milissegundos — Pesquisa de texto completo classificada por BM25, alimentada pelo mecanismo FTS5 integrado do SQLite, sem necessidade de infraestrutura de pesquisa externa.
- 🗄️ SQLite embutido — Banco de dados de arquivo único, sem configuração (
~/.config/skills/skills.db). Compilado estaticamente, sem necessidade de instalação do SQLite no sistema. - 🤖 Nativo para MCP — Implementa o Model Context Protocol (
2024-11-05) viastdio. Compatível com Claude Desktop, Antigravity e qualquer host MCP. - 📁 Sincronização de sistema de arquivos — Importe qualquer diretório de arquivos
.mdcom frontmatter YAML em um único comando. - 🦀 Rust puro — Binário único, sem runtime, sem daemon, sem serviço de rede para gerenciar.
Início Rápido
Instalação
Windows (PowerShell):
irm https://raw.githubusercontent.com/JohnnytheShark/skill-cli/main/install.ps1 | iex
macOS / Linux:
curl -fsSL https://raw.githubusercontent.com/JohnnytheShark/skill-cli/main/install.sh | bash
O binário é instalado em ~/.skill-cli/bin/ e adicionado ao seu PATH automaticamente. Reinicie o terminal após a instalação e verifique:
skill-cli --version
Compilar a partir do código-fonte (avançado): Requer o toolchain Rust.
git clone https://github.com/JohnnytheShark/skill-cli.git cd skill-cli cargo build --release
Sincronizar habilidades de um diretório
skill-cli sync --dir ./my-skills
Cada arquivo .md se torna uma habilidade. O frontmatter fornece o nome e a descrição:
---
name: Git Bisect
description: Use binary search to find the commit that introduced a bug
---
# Git Bisect
...
Pesquisar no terminal
skill-cli search "async runtime"
skill-cli list
Executar o servidor MCP
skill-cli serve
Aponte qualquer agente compatível com MCP para este binário e ele exporá três grupos de ferramentas: skills_*, agents_* e collections_*.
Referência da CLI
| Comando | Descrição |
|---|---|
skill-cli serve | Inicia o servidor MCP JSON-RPC 2.0 via stdio |
skill-cli sync --dir <PATH> [--prune] | Sincroniza arquivos .md de um diretório para o SQLite (o --prune opcional exclui arquivos removidos) |
skill-cli search <QUERY> [--collection <NAME>] | Pesquisa de texto completo no índice de habilidades |
skill-cli list | Lista todas as habilidades indexadas |
skill-cli remove <ID> | Exclui uma única habilidade por ID |
skill-cli remove-bulk <ID...> | Exclui várias habilidades por ID |
skill-cli purge --yes | Exclui todas as habilidades do banco de dados e reconstrói o índice FTS |
skill-cli export --dir <PATH> [--ids ...] [--query ...] | Exporta habilidades como arquivos .md compatíveis com sincronização |
Ferramentas MCP
| Ferramenta | Entrada | Saída |
|---|---|---|
skills_search | { "query": "...", "collection": "...", "limit": 5 } | Matriz de metadados { id, name, description } |
skills_fetch | { "id": "..." } | String de conteúdo Markdown bruto |
skills_upsert | { "id", "name", "description", "content", "collections" } | { "status": "success", "id": "..." } |
skills_delete | { "id": "..." } | { "status": "success", "deleted": bool, "id": "..." } |
skills_delete_bulk | { "ids": ["..."] } | { "status": "success", "deleted": number } |
skills_export | { "ids"?: [...], "query"?: "...", "collection"?: "...", "limit"?: 200 } | Matriz JSON de objetos { id, name, description, content } completos |
Conectando a um Agente
Adicione ao seu mcp_config.json:
{
"mcpServers": {
"skill-engine": {
"command": "skill-cli",
"args": ["serve"]
}
}
}
Documentação
A documentação Diátaxis completa está no diretório docs/:
| Tipo | Conteúdo |
|---|---|
| Tutorial | Introdução passo a passo para novos usuários |
| Guias de Como Fazer | Guias práticos para tarefas específicas |
| Referência | Especificações completas de CLI, MCP, esquema e formato |
| Explicação | Arquitetura, decisões de design e conceitos |
Desenvolvimento
cargo check # Verify compilation
cargo clippy # Lint
cargo test # Run unit tests
cargo build --release # Optimised build
Licença
Copyright 2026 Johnny Orellana
Licenciado sob a Apache License, Versão 2.0.
Você pode obter uma cópia da Licença em http://www.apache.org/licenses/LICENSE-2.0
Consulte NOTICE para os avisos de atribuição exigidos.
Contribuindo
Contribuições são bem-vindas! Leia CONTRIBUTING.md antes de abrir um pull request.