MCPcopy Index your code
hub / github.com/Roger-luo/Ion

github.com/Roger-luo/Ion @ion-v0.6.5

Chat with this repo
repository ↗ · DeepWiki ↗ · release ion-v0.6.5 ↗ · + Follow
1,721 symbols 7,290 edges 120 files 451 documented · 26% updated 17d agoion-v0.6.5 · 2026-06-02★ 731 open issues
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Ion

Agent skill manager for AI coding tools (Claude, Cursor, Windsurf, etc.).

Ion manages installation, validation, and organization of skills — reusable prompts and instructions that enhance AI agent capabilities.

Why Ion

The agent skills ecosystem has grown rapidly. Tools like Vercel's npx skills pioneered the idea of an "npm for agent skills." Ion takes a different approach — it's a standalone binary with no runtime dependency, built for reproducible installs and agent-driven workflows.

Ion npx skills
Runtime Single binary (Rust) Node.js / npx
Manifest & lockfile Ion.toml + Ion.lock with checksums No lockfile
Reproducibility Pinned revisions, lockfile checksums Latest-only
Validation Built-in security, structure, and markdown checks None
Agent interface --json mode on every command with structured envelope None
Local skills First-class type = "local", eject from remote Symlink/copy from path
Binary skills Download, checksum, and run compiled tools via ion run Not supported
Self-update ion self update with signed GitHub Release binaries npm/npx update

Ion is designed for teams that want their skill dependencies to be versioned, validated, and reproducible — the same properties you expect from a package manager, applied to agent instructions.

Installation

curl -fsSL https://raw.githubusercontent.com/Roger-luo/Ion/main/install.sh | sh

To install a specific version:

curl -fsSL https://raw.githubusercontent.com/Roger-luo/Ion/main/install.sh | sh -s -- 0.1.2

Or install from source:

cargo install --git https://github.com/Roger-luo/Ion

Quick Start

# Initialize a project with a target
ion project init --target claude

# Add a skill
ion add obra/superpowers/brainstorming

# Install all skills from Ion.toml
ion add

# Search for skills
ion search "code review"

# Create a new local skill
ion skill new

# List installed skills
ion skill list

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> Run a binary skill
ion skill new Create a new skill
ion skill eject <name> Eject a remote skill into an editable local copy
ion skill validate Validate skill definitions
ion skill list List installed skills
ion skill info <name> Show skill details
ion skill link <path> Link a local skill directory
ion project init Initialize Ion.toml with targets
ion project migrate Migrate from legacy formats
ion cache gc Clean up stale cached repos
ion config View and set configuration

JSON Mode for Agents

All commands support ion --json <command> for structured, non-interactive output. This enables AI agents and CI scripts to operate Ion programmatically.

# Structured search results
ion --json search "testing"

# Two-stage commands: preview first, then execute
ion --json remove my-skill        # returns what would be removed (exit 2)
ion --json remove my-skill --yes  # executes the removal (exit 0)

See SKILL.md for the full agent interface reference.

License

MIT

Extension points exported contracts — how you extend this code

SkillChecker (Interface)
Trait implemented by each validation checker. [7 implementers]
crates/ion-skill/src/validate/mod.rs
NavItem (Interface)
(no doc)
docs/src/data/navigation.ts
CrateConfig (Interface)
(no doc)
docs/scripts/generate-api-docs.ts
SearchSource (Interface)
A searchable source of skills. [5 implementers]
crates/ion-skill/src/search/mod.rs
NavSection (Interface)
(no doc)
docs/src/data/navigation.ts
RustdocJson (Interface)
(no doc)
docs/scripts/generate-api-docs.ts
Updater (Interface)
Trait for source-type-specific update logic. [2 implementers]
crates/ion-skill/src/update/mod.rs
PathEntry (Interface)
(no doc)
docs/scripts/generate-api-docs.ts

Core symbols most depended-on inside this repo

path
called by 448
crates/scenario/src/project.rs
args
called by 357
crates/scenario/src/scenario.rs
path
called by 263
crates/ion-skill/src/source.rs
current_dir
called by 215
crates/scenario/src/scenario.rs
is_empty
called by 125
src/commands/install_shared.rs
run
called by 108
crates/ionem/src/shell/gh.rs
collect
called by 84
src/commands/install_shared.rs
handle_key
called by 80
src/tui/init_select.rs

Shape

Function 1,217
Method 342
Class 104
Interface 30
Enum 28

Languages

Rust96%
TypeScript4%

Modules by API surface

crates/ion-skill/src/source.rs61 symbols
tests/scenario_tests.rs59 symbols
crates/ion-skill/src/binary.rs57 symbols
src/tui/init_select.rs52 symbols
crates/ion-skill/src/lockfile.rs50 symbols
tests/fixture_tests.rs48 symbols
docs/scripts/generate-api-docs.ts48 symbols
crates/ion-skill/src/installer.rs46 symbols
crates/scenario/src/session.rs42 symbols
crates/ion-skill/src/search/mod.rs41 symbols
crates/ion-skill/src/manifest.rs38 symbols
crates/scenario/tests/project.rs34 symbols

For agents

$ claude mcp add Ion \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page