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 destdio. Compatible con Claude Desktop, Antigravity y cualquier host MCP. - 📁 Sincronización de sistema de archivos — Importa cualquier directorio de archivos
.mdcon 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
| Comando | Descripción |
|---|---|
skill-cli serve | Inicia 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 list | Lista 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 --yes | Elimina 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
| Herramienta | Entrada | Salida |
|---|---|---|
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/:
| Tipo | Contenido |
|---|---|
| Tutorial | Introducción paso a paso para nuevos usuarios |
| Guías prácticas | Guías prácticas para tareas específicas |
| Referencia | Especificaciones completas de CLI, MCP, esquema y formato |
| Explicación | Arquitectura, 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.