Agent skill manager for AI coding tools, providing declarative manifests, lockfiles, built-in validation, and multi-source skill installation.
Ion is a Rust-based agent skill manager designed for AI coding tools such as Claude Code, Cursor, and Windsurf. It abstracts reusable agent prompts and instructions as "skill packages" and manages them with a package-manager-like paradigm.
At its core, Ion uses a declarative Ion.toml manifest paired with an Ion.lock lockfile to ensure reproducible skill installations. The lockfile records exact versions and checksums for each skill, verified automatically during installation. A built-in multi-dimensional validation pipeline (security, structure, markdown, and codeblock checks) enforces quality gates before any skill is installed.
Ion supports multiple sources including GitHub repositories, Git URLs, HTTP endpoints, local skills, and binary skills. Through --target configuration, a single Ion.toml can configure skill directories for multiple AI agent tools simultaneously. All CLI commands support a --json mode for structured output, enabling AI agents to programmatically search, install, and manage skills. An interactive search TUI built with ratatui is also provided.
The project is distributed as a single binary across platforms (macOS/Linux, aarch64/x86_64), built on a 3-crate workspace architecture (ion CLI, ion-skill core library, ionem infrastructure library), with release-plz handling automated versioning and cross-compilation releases.
Core Commands#
| Command | Description |
|---|---|
ion add [source] | Add a skill, or install all from Ion.toml |
ion remove <name> | Remove a skill |
ion search <query> | Search registries and GitHub |
ion update [name] | Update skills to latest versions |
ion run <name> | Download, verify, and run a binary skill |
ion skill new | Create a new local skill |
ion skill eject <name> | Convert a remote skill to an editable local copy |
ion skill validate | Validate skill definitions |
ion init | Initialize Ion.toml (with target selection and AGENTS.md template) |
ion self update | Self-update via signed GitHub Release binary |
Configuration File System#
- Project-level:
Ion.toml(skill manifest),Ion.lock(lockfile) - User-level:
~/.config/ion/config.toml(global config: default targets, registries, sources) - Default skill directory:
.agents/skills/(configurable via[options] skills-dir)
Skill Source Formats#
| Source Type | Format Example |
|---|---|
| GitHub | github:owner/repo |
| Git | git:https://example.com/repo.git |
| HTTP | https://example.com/skill.tar.gz |
| Local | Created via ion new, type = "local" |
Unconfirmed Information#
- Windows support status: only macOS/Linux binaries documented; Windows support unconfirmed
- skills.sh registry details and governance mechanism not fully documented
- ionem crate's crates.io publication status unconfirmed
- Full list of supported AI agent tools unconfirmed (known: Claude, Cursor, Windsurf)