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) via stdio. Compatível com Claude Desktop, Antigravity e qualquer host MCP.
  • 📁 Sincronização de sistema de arquivos — Importe qualquer diretório de arquivos .md com 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

ComandoDescrição
skill-cli serveInicia 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 listLista 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 --yesExclui 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

FerramentaEntradaSaí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/:

TipoConteúdo
TutorialIntrodução passo a passo para novos usuários
Guias de Como FazerGuias práticos para tarefas específicas
ReferênciaEspecificações completas de CLI, MCP, esquema e formato
ExplicaçãoArquitetura, 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.