AKM — Agent Kit Manager
A CLI tool for managing reusable LLM skills, artifacts, and instructions across projects and AI coding agents.
AKM is a client of skill registries — it fetches, organizes, and wires skills into your development workflow. The community registry (Skillverse) is a separate project.
Installation
Quick install (Linux x86_64)
|
This downloads the latest release binary to ~/.local/bin/akm.
Options:
# Install a specific version
AKM_VERSION=1.0.0 |
# Install to a custom directory
AKM_INSTALL_DIR=/usr/local/bin |
From source
Or build from the repo:
Prerequisites
- git — the only runtime dependency
Getting Started
After installation, run the interactive setup:
This configures which features to enable (skills, artifacts, instructions), sets up registry remotes, and wires shell integration into your .bashrc.
Usage
akm [COMMAND]
Commands:
setup Interactive feature configuration
config View, get, or set configuration values
sync Sync all enabled domains
update Check for and install updates
skills Skills management
artifacts Artifact sync
instructions Global instruction management
completions Generate shell completion script
Skills
Importing skills from GitHub
You can import any skill directory from a GitHub repository:
# Import from a directory URL
# Import with a custom ID
# Overwrite without confirmation
Both /tree/ (directory) and /blob/ (file) GitHub URLs are supported. For private repos, set the GITHUB_TOKEN environment variable.
Artifacts
Instructions
Configuration
Self-Update
Shell Completions
Configuration
Config lives at ~/.config/akm/config.toml (XDG-compliant). Created by akm setup or on first run with defaults.
Creating a Release
After merging to main:
This triggers the release workflow which:
- Runs all CI checks (fmt, clippy, test, build, MSRV)
- Builds a static Linux x86_64 binary (musl)
- Creates a GitHub Release with the binary + SHA256 checksum
- Publishes to crates.io (requires
CARGO_REGISTRY_TOKENsecret)
Development
Project Structure
src/
├── main.rs # Entry point, clap CLI
├── config.rs # TOML config, XDG paths
├── error.rs # Error hierarchy (thiserror)
├── git.rs # Git helper (wraps std::process::Command)
├── paths.rs # XDG path resolution
├── lib.rs # Library root
├── github.rs # GitHub URL parser + Contents API client
├── commands/ # CLI command implementations
│ ├── config.rs # akm config
│ ├── setup.rs # akm setup
│ ├── sync.rs # akm sync
│ └── skills/ # akm skills * (sync, list, import, promote, …)
├── library/ # Spec model, libgen, manifest
├── registry/ # RegistrySource trait + GitRegistry
├── artifacts/ # Artifact sync
├── instructions/ # Instructions sync/edit/scaffold
├── update/ # Self-update + version check
├── tui/ # Interactive views (ratatui)
└── shell/ # Shell init generation + completions