skill-cli

Un motor de habilidades de agente de IA de alto rendimiento. Almacena, busca y recupera habilidades en Markdown de forma dinámica mediante una base de datos SQLite FTS5 integrada para ahorrar tokens de contexto.

Documentación

skill-cli

Un motor de habilidades para agentes de IA de alto rendimiento, de código abierto y escrito en Rust.

skill-cli es un único binario enlazado estáticamente que actúa como un almacén centralizado de habilidades para agentes de IA y desarrolladores humanos. Proporciona:

  • Una CLI para sincronizar, buscar y gestionar habilidades almacenadas en una base de datos SQLite local.
  • Un servidor MCP (a través de stdio, JSON-RPC 2.0) que expone herramientas limpias y eficientes en tokens para que los LLMs y agentes busquen, obtengan y actualicen habilidades sin saturar las ventanas de contexto.

Características

  • Búsqueda FTS5 en milisegundos — Búsqueda de texto completo clasificada por BM25 impulsada por el motor FTS5 integrado de SQLite, sin necesidad de infraestructura de búsqueda externa.
  • 🗄️ SQLite integrado — Base de datos de un solo archivo, sin configuración (~/.config/skills/skills.db). Compilado estáticamente, no requiere instalación de SQLite del sistema.
  • 🤖 Nativo de MCP — Implementa el Protocolo de Contexto de Modelo (2024-11-05) a través de stdio. Compatible con Claude Desktop, Antigravity y cualquier host MCP.
  • 📁 Sincronización de sistema de archivos — Importa cualquier directorio de archivos .md con frontmatter YAML en un solo comando.
  • 🦀 Rust puro — Un solo binario, sin runtime, sin daemon, sin servicio de red que gestionar.

Inicio rápido

Instalación

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

El binario se instala en ~/.skill-cli/bin/ y se agrega a tu PATH automáticamente. Reinicia tu terminal después de instalar y verifica:

skill-cli --version

Compilar desde el código fuente (avanzado): Requiere el toolchain de Rust.

git clone https://github.com/JohnnytheShark/skill-cli.git
cd skill-cli
cargo build --release

Sincronizar habilidades desde un directorio

skill-cli sync --dir ./my-skills

Cada archivo .md se convierte en una habilidad. El frontmatter proporciona el nombre y la descripción:

---
name: Git Bisect
description: Use binary search to find the commit that introduced a bug
---

# Git Bisect
...

Buscar desde la terminal

skill-cli search "async runtime"
skill-cli list

Ejecutar el servidor MCP

skill-cli serve

Apunta cualquier agente compatible con MCP a este binario y expondrá tres grupos de herramientas: skills_*, agents_* y collections_*.


Referencia de la CLI

ComandoDescripción
skill-cli serveInicia el servidor MCP JSON-RPC 2.0 a través de stdio
skill-cli sync --dir <PATH> [--prune]Sincroniza archivos .md en un directorio a SQLite (el --prune opcional elimina archivos removidos)
skill-cli search <QUERY> [--collection <NAME>]Búsqueda de texto completo en el índice de habilidades
skill-cli listLista todas las habilidades indexadas
skill-cli remove <ID>Elimina una sola habilidad por ID
skill-cli remove-bulk <ID...>Elimina múltiples habilidades por ID
skill-cli purge --yesElimina todas las habilidades de la base de datos y reconstruye el índice FTS
skill-cli export --dir <PATH> [--ids ...] [--query ...]Exporta habilidades como archivos .md compatibles con sincronización

Herramientas MCP

HerramientaEntradaSalida
skills_search{ "query": "...", "collection": "...", "limit": 5 }Matriz de metadatos { id, name, description }
skills_fetch{ "id": "..." }Cadena de contenido Markdown sin procesar
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

Conexión a un agente

Agrega a tu mcp_config.json:

{
  "mcpServers": {
    "skill-engine": {
      "command": "skill-cli",
      "args": ["serve"]
    }
  }
}

Documentación

La documentación completa de Diátaxis está en el directorio docs/:

TipoContenido
TutorialIntroducción paso a paso para nuevos usuarios
Guías prácticasGuías prácticas para tareas específicas
ReferenciaEspecificaciones completas de CLI, MCP, esquema y formato
ExplicaciónArquitectura, decisiones de diseño y conceptos

Desarrollo

cargo check      # Verify compilation
cargo clippy     # Lint
cargo test       # Run unit tests
cargo build --release  # Optimised build

Licencia

Copyright 2026 Johnny Orellana

Licenciado bajo la Licencia Apache, Versión 2.0.

Puedes obtener una copia de la Licencia en http://www.apache.org/licenses/LICENSE-2.0

Consulta NOTICE para los avisos de atribución requeridos.


Contribuciones

¡Las contribuciones son bienvenidas! Por favor, lee CONTRIBUTING.md antes de abrir una solicitud de extracción.