skill-cli
A high-performance AI Agent Skill Engine — CLI + MCP server backed by SQLite FTS5
Documentation
skill-cli
> A high-performance, open-source Rust AI Agent Skill Engine.
`skill-cli` is a single statically-linked binary that acts as a centralized skill store for AI agents and human developers. It provides:
- A CLI for syncing, searching, and managing skills stored in a local SQLite database.
- An MCP server (over `stdio`, JSON-RPC 2.0) that exposes clean, token-efficient tools for LLMs and agents to search, fetch, and update skills without clogging context windows.
Features
- ⚡ Millisecond FTS5 search — BM25-ranked full-text search powered by SQLite's built-in FTS5 engine, no external search infrastructure required.
- 🗄️ Embedded SQLite — Zero-config, single-file database (`~/.config/skills/skills.db`). Statically compiled, no system SQLite installation needed.
- 🤖 MCP-native — Implements the Model Context Protocol (`2024-11-05`) over `stdio`. Compatible with Claude Desktop, Antigravity, and any MCP host.
- 📁 Filesystem sync — Import any directory of `.md` files with YAML frontmatter in one command.
- 🦀 Pure Rust — Single binary, no runtime, no daemon, no network service to manage.
Quick Start
Install
Windows (PowerShell):
irm https://raw.githubusercontent.com/JohnnytheShark/skill-cli/main/install.ps1 | iexmacOS / Linux:
curl -fsSL https://raw.githubusercontent.com/JohnnytheShark/skill-cli/main/install.sh | bashThe binary is installed to `~/.skill-cli/bin/` and added to your `PATH` automatically. Restart your terminal after installing, then verify:
skill-cli --version> Build from Source (advanced): Requires the Rust toolchain.
> ```bash
> git clone https://github.com/JohnnytheShark/skill-cli.git
> cd skill-cli
> cargo build --release
> ```
Sync skills from a directory
skill-cli sync --dir ./my-skillsEach `.md` file becomes a skill. Frontmatter provides the name and description:
---
name: Git Bisect
description: Use binary search to find the commit that introduced a bug
---
# Git Bisect
...Search from the terminal
skill-cli search "async runtime"
skill-cli listRun the MCP server
skill-cli servePoint any MCP-compatible agent at this binary and it will expose three tool groups: `skills_*`, `agents_*`, and `collections_*`.
CLI Reference
| Command | Description |
|---|---|
| `skill-cli serve` | Start the MCP JSON-RPC 2.0 server over stdio |
| `skill-cli sync --dir [--prune]` | Sync `.md` files in a directory into SQLite (optional `--prune` deletes removed files) |
| `skill-cli search [--collection ]` | Full-text search the skill index |
| `skill-cli list` | List all indexed skills |
| `skill-cli remove ` | Delete a single skill by ID |
| `skill-cli remove-bulk ` | Delete multiple skills by ID |
| `skill-cli purge --yes` | Delete all skills from the database and rebuild FTS index |
| `skill-cli export --dir [--ids ...] [--query ...]` | Export skills as sync-compatible `.md` files |
MCP Tools
| Tool | Input | Output |
|---|---|---|
| `skills_search` | `{ "query": "...", "collection": "...", "limit": 5 }` | Array of `{ id, name, description }` metadata |
| `skills_fetch` | `{ "id": "..." }` | Raw Markdown content string |
| `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 }` | JSON array of complete `{ id, name, description, content }` objects |
Connecting to an Agent
Add to your `mcp_config.json`:
{
"mcpServers": {
"skill-engine": {
"command": "skill-cli",
"args": ["serve"]
}
}
}Documentation
Full Diátaxis documentation is in the `docs/` directory:
| Type | Contents |
|---|---|
| Tutorial | Step-by-step introduction for new users |
| How-to Guides | Practical guides for specific tasks |
| Reference | Complete CLI, MCP, schema, and format specs |
| Explanation | Architecture, design decisions, and concepts |
Development
cargo check # Verify compilation
cargo clippy # Lint
cargo test # Run unit tests
cargo build --release # Optimised buildLicense
Copyright 2026 Johnny Orellana
Licensed under the Apache License, Version 2.0.
You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
See NOTICE for required attribution notices.
Contributing
Contributions are welcome! Please read CONTRIBUTING.md before opening a pull request.
Frequently asked questions
What is skill-cli?
skill-cli is A high-performance AI Agent Skill Engine — CLI + MCP server backed by SQLite FTS5
How do I install skill-cli?
Open the GitHub repository and follow its README. Most MCP servers are added to your client's MCP config, then called by your agent.
Is skill-cli open source?
Yes — it is hosted on GitHub at https://github.com/JohnnytheShark/skill-cli.
Related MCP tools
🔥 Official Firecrawl MCP Server - Adds powerful web scraping and search to Cursor, Claude and any other LLM clients.
Use any LLMs (Large Language Models) for Deep Research. Support SSE API and MCP server.
Enhanced MCP server for interactive user feedback and command execution in AI-assisted development, featuring dual interface support (Web UI and Desktop Application) with intelligent environment detection and cross-platform compatibility.
A powerful Zotero AI and MCP plugin with ChatGPT, Gemini 3.7, Claude Fable 5, Claude Opus 5, DeepSeek V4, Grok, OpenRouter, Kimi k3, GLM 5.3, SiliconFlow, GPT-oss, Gemma 4, Qwen 3.8
Connect your browser to AI models. Just use Dia on Chrome, Arc or Firefox.
文颜 MCP Server 可以让 AI 自动将 Markdown 文章排版后发布至微信公众号。
Run your own MCP server? See who uses it and what to fix.
Measure it with TrackMCP