akm — Agent Kit Manager
A package manager for AI agent capabilities -- scripts, skills, commands, agents, knowledge, workflows, vaults, wikis, lessons, and memories -- that works with any AI coding assistant that can run shell commands.
AI agent skills, commands, and knowledge are scattered across different tools -- Claude Code, OpenCode, Cursor, Windsurf -- with no unified way to manage, share, or discover them. Each tool has its own format and its own silo. akm gives you a single CLI to manage all your agent assets regardless of which coding assistant you use, so you can build a personal library once and take it everywhere.
At a high level, akm helps agents work the way good human operators work:
- connect the sources of truth
- start with a curated shortlist for the task at hand
- load only the relevant instructions or knowledge
- go deeper only when broader discovery is needed
- capture what worked so the system improves over time
That means akm is not just a search tool. It is the layer that helps agents:
- discover the right capability on demand instead of front-loading a giant prompt
- reuse knowledge across tools and projects instead of rebuilding the same library in every assistant
- keep local knowledge structured with memories, imported docs, wikis, workflows, and vaults
- improve continuously with feedback, history, events, reflection, proposals, and distilled lessons
- share and version agent assets like code through git, npm, registries, and writable stashes
This command model reflects the v0.7.0 workflow framing.
Think about akm in seven layers:
- Set up the workspace —
setup,init,config,info,index - Connect sources and discover new ones —
add,list,update,remove,clone,save,registry - Find and inspect assets —
curate,search,show - Build local knowledge and operational context —
remember,import,wiki,vault - Run repeatable procedures —
workflow - Continuously improve the stash —
feedback,history,events,reflect,propose,proposal,distill - Operate the CLI comfortably —
help,hints,completions,upgrade
If you only remember one mental model, make it this:
akm addtells akm where content livesakm indexmakes that content searchableakm curategives the best first shortlist for a prompt or requestakm searchbroadens discovery when you need more assets beyond the curated setakm showloads the full thing
Everything else supports one of those steps.
# Standalone binary (no runtime dependencies)
curl -fsSL https://raw.githubusercontent.com/itlackey/akm/main/install.sh | bash
# Or via Bun
bun install -g akm-cli
# Or via npm / pnpm
npm install -g akm-cli
pnpm add -g akm-cli
# Or via skills
npx skills add itlackey/akm
Upgrade in place with akm upgrade for binary, npm, bun, and pnpm installs.
Preview release notes and migration guidance with akm help migrate <version>.
This project is still pre-release. Treat .stash.json as a deprecated legacy
compatibility format for older stashes, not the recommended authoring path. It
will be removed in v0.8.0. Prefer frontmatter for markdown assets and
structured header comments for scripts.
akm setup # Guided setup: configure, initialize, and index
akm add ~/.claude/skills # Add your existing local skills
akm add github:owner/repo # Add a stash from GitHub
akm curate "deploy" # Start with a curated shortlist
akm show workflow:deploy # Load the best matching asset
akm remember "Deployment needs VPN access"
akm import ./notes/release.md
akm wiki create architecture
akm feedback skill:deploy --positiveIf you want to skip the wizard, akm init --dir ~/custom-stash initializes the
working stash at a custom path.
This quick start is doing more than showing random commands:
setup/initcreate the local workspaceaddconnects existing sources of agent knowledgecurategives the agent the strongest first list for the tasksearchis there when the agent needs deeper discovery beyond the curated shortlistshowloads only what is relevantremember,import, andwikiturn local discoveries into reusable team contextfeedbackstarts the continuous-improvement loop that helps good assets rise over time
Any model that can run shell commands can use akm. Add this to your
AGENTS.md, CLAUDE.md, or system prompt (see docs/agents/AGENTS.full.md for a
more detailed version with advanced usage):
## Resources & Capabilities
You have access to a searchable library of scripts, skills, commands, agents,
knowledge, workflows, vaults, wikis, lessons, and memories via the `akm` CLI. Use `akm -h` for details.No plugins, SDKs, or integration code required. Platform-specific plugins (e.g., OpenCode) are available for tighter integration but purely optional.
When your agent uses an asset, have it record whether that asset helped:
akm feedback <ref> --positive
akm feedback <ref> --negative --note "Outdated for the current repo layout"akm clone copies any asset from your stash or a remote source into a
target directory for local editing:
akm clone script:deploy.sh # Clone to your stash
akm clone script:deploy.sh --dest ./project/.claude # Clone to a specific directory
akm clone script:deploy.sh --name my-deploy.sh # Clone with a new name
akm clone "npm:@scope/pkg//script:deploy.sh" --force # Clone from a remote packageKey behaviors:
- Type subdirectories are appended automatically (e.g.,
--dest ./project/.claudebecomes./project/.claude/scripts/deploy.sh) - Skills clone as entire directories; scripts/commands clone as single files
- Remote packages are fetched on-demand without registering as managed sources
--forceoverwrites existing assets
akm includes skills.sh as a built-in registry. Community
skills from skills.sh are searchable out of the box alongside the official
registry -- no setup required:
akm search "code review" # Searches skills.sh and official registry
akm registry search "code review" # Search registries directlyResults include install counts and link back to skills.sh for details. The provider caches queries for 15 minutes with a 24-hour stale fallback.
Registries are indexes of available stashes. The official akm-registry is pre-configured.
akm registry search "code review" # Search registries
akm registry add https://example.com/registry/index.json --name team # Add a registry
akm registry list # List configured registries
akm show knowledge:my-doc # Show indexed contentPrivate access is supported through:
- GitHub tokens -- Set
GITHUB_TOKENto access private GitHub repos when installing stashes - Provider options --
--optionsflag accepts JSON for provider-specific configuration (refs, custom headers) - Pluggable providers -- Built-in registry providers:
static-index,skills-sh. Built-in source providers:filesystem,git,website,npm. Custom providers can be added via the SDK
See the Registry docs for hosting your own registry and the index format.
akm add ~/.claude/skills # Local directory
akm add --type wiki --name docs ~/team/wiki # Register an existing wiki source
akm add @scope/my-stash # npm
akm add github:owner/repo#v1.2.3 # GitHub with tag
akm add github:owner/private-stash --trust # One-off trusted install
akm add git+https://gitlab.com/org/stash # Any git repo
akm add https://docs.example.com --name docs # Website as knowledgeManage sources with akm list, akm update --all, and akm remove. Registered
external wikis also appear in akm list, and akm wiki register / akm wiki remove
refresh wiki search results immediately.
Add any site as a searchable knowledge source. Pages are crawled, converted to markdown, and indexed:
akm add https://docs.example.com --name my-docs
akm add https://www.agentic-patterns.com/ --name agent-patterns
akm add https://docs.example.com --name docs --max-pages 100 --max-depth 5- Organize your assets into a directory
- Add
"akm-stash"tokeywordsinpackage.jsonor theakm-stashtopic to your GitHub repo - Optionally add
akm.includeinpackage.jsonto control what gets installed - Publish to npm or push to GitHub
See the Stash Maker's Guide for a full walkthrough. If you are updating an older stash, see the legacy metadata migration guidance in that guide and the v1 migration guide.
Want a ready-made set of akm assets? Install the official onboarding stash — itlackey/akm-stash — which ships skills, commands, knowledge, workflows, and a librarian subagent for working with akm:
akm add github:itlackey/akm-stash
akm index
akm show skill:akm-quickstartThe core CLI lives in this repo, with a few companion repos for the broader akm ecosystem:
- itlackey/akm-stash -- the official onboarding stash with ready-made skills, workflows, commands, and knowledge assets
- itlackey/akm-registry -- the official searchable registry index that
akmuses for discovery - itlackey/akm-plugins -- optional editor and agent integrations, including the OpenCode plugin referenced above
- itlackey/akm-bench -- the dedicated benchmark and evaluation repo for measuring agent performance with akm
| Doc | Description |
|---|---|
| Getting Started | Quick setup guide |
| CLI Reference | All commands and flags |
| Configuration | Settings, providers, and Ollama setup |
| Concepts | Sources, registries, asset types |
| Stash Maker's Guide | Build and share assets |
| Registry | Registries, search, and the v3 index format |
| Wikis | Multi-wiki knowledge bases (Karpathy-style) |
| v1 Migration Guide | The path from 0.x to v1.0 |
| Release Notes — 0.7.0 | Latest release notes |
| Blog Posts | Articles and posts about akm |