IA

itlackey/akm

Developer tools
68 stars Quality 70 Trend 34MPL-2.0

Agent Knowledge Manager (akm). A CLI tool to manage AI agent knowledge, memories, skills, and more.

Overview

Build your agent library once. Use it from any shell-capable coding agent. Every coding agent wants its own copy of your team's knowledge — an AGENTS.md here, a tool-specific skills folder there, prompts scattered across repos and chat logs. AKM indexes existing agent assets in place, loads only what a task needs, packages capabilities into shareable bundles, improves the library through reviewable proposals, and runs durable workflows — locally and without tying the library to one assistant. The core loop is connect -> index -> curate -> show -> use/run -> feedback -> proposal (not every task uses every stage). Use the same capability library from Claude Code, OpenCode, Cursor, Aider, Windsurf, or any assistant that can run shell commands. Search or curate a shortlist, then load full content by ref. No giant startup prompt is required. Install and share bundles containing skills, scripts, workflows, agents, instructions, memories, and knowledge — not just prompt snippets.

README

akm — Agent Knowledge Manager

Give every coding agent the capabilities your team has already built.

Build your agent library once. Use it from any shell-capable coding agent.

Why AKM exists

Every coding agent wants its own copy of your team’s knowledge — an AGENTS.md here, a tool-specific skills folder there, prompts scattered across repos and chat logs. AKM indexes existing agent assets in place, loads only what a task needs, packages capabilities into shareable bundles, improves the library through reviewable proposals, and runs durable workflows — locally and without tying the library to one assistant. The core loop is connect -> index -> curate -> show -> use/run -> feedback -> proposal (not every task uses every stage).

Five reasons to use it

One library for every agent

Use the same capability library from Claude Code, OpenCode, Cursor, Aider, Windsurf, or any assistant that can run shell commands.

Load only what the task needs

Search or curate a shortlist, then load full content by ref. No giant startup prompt is required.

Package complete capabilities

Install and share bundles containing skills, scripts, workflows, agents, instructions, memories, and knowledge — not just prompt snippets.

Improve through evidence, with review

Feedback re-ranks assets right away. A negative report can carry an exact text fix, and akm improve repairs metadata. Edits land as diffable proposals: the default improve strategy accepts the ones its quality judge passed, the rest wait for you to accept or reject, and any accept can be reverted. Only writable bundles are changed.

Turn knowledge into repeatable work

Run persisted workflows with dispatch, gates, retries, budgets, and resume instead of reconstructing a process from prose every session. Workflows are Experimental.

Search and show only return content; running a workflow, task, script, or agent is a separate command. See the invariants in Architecture.

Install

Option 1 — npm package (recommended; requires Node.js >= 22):

npm install -g akm-cli

Option 2 — Prebuilt binary (no runtime required):

# Linux / macOS
curl -fsSL https://github.com/itlackey/akm/releases/latest/download/install.sh | bash

# Windows (PowerShell)
irm https://github.com/itlackey/akm/releases/latest/download/install.ps1 | iex

Upgrade in place: akm upgrade

The npm package always uses Node.js to bootstrap its cross-platform command. If a working Bun >= 1.0 is also on PATH, the launcher prefers Bun for execution; old, unusable, or absent Bun installations fall back to Node.js. Node.js remains required for the npm package. The standalone binaries are runtime-free.

Local semantic search runs its embedding model on ONNX Runtime and is offered on Linux x64 (glibc) and Apple-silicon macOS; every other platform uses keyword search or an embedding endpoint. Choosing it in akm setup (--embedding local) downloads the runtime (about 86 MB) and the model (about 127 MB) once into akm’s cache; nothing native is installed with the package or carried in a standalone binary. Getting Started has the details.

With a connection and no harness, agent work runs on akm’s own runtime, a pinned OpenCode 2 binary. The first time it runs, akm downloads that binary from the npm registry (about 114 MB, once) into its cache; on Alpine/musl it needs libstdc++ and libgcc (the Alpine Node image has them). See Getting Started.

First useful result

akm setup --yes                          # guided first-time setup, non-interactive
akm bundle add github:itlackey/akm-stash # install the official onboarding capability bundle
akm index                                # build the search index
akm curate "deploy a Bun app"            # get a curated shortlist
akm show                            # load a match by the ref curate printed

Each step, with its success check, is in Getting Started. Then tell your agent AKM exists:

akm hints --detail brief >> AGENTS.md

Works with what you already have

AKM recognizes several existing directory layouts in place, each through its own adapter, alongside its own native bundle format:

Format What AKM does
Native akm bundles Full read/write — scripts, skills, workflows, agents, instructions, memories, knowledge, and more
Claude Code / OpenCode tool directories Indexes CLAUDE.md/AGENTS.md, commands/, agents/, skills/ in place, read-only
Standalone Agent Skills packages Indexes /SKILL.md collections in place, read-only
Workflow and task files Indexes standalone .md workflows and task source v4 .yml files
OKF and LLM wikis Indexes plain-markdown (OKF) and Karpathy-style wiki (schema.md + raw/ + pages/) content, read-only
Git, npm, local dirs, and websites Any of these can be added as a source; AKM detects the bundle format inside and indexes it (a website is crawled into a local snapshot)

See Supported Formats for current write support and detection rules, and Wikis for using a living LLM wiki as a bundle.

Common next steps

Scheduling background tasks (like akm improve) involves reviewing and activating OS scheduler entries — see Scheduling for the full walkthrough.

Local-first and privacy

AKM is local-first: it stores its index and state on disk and has no telemetry. It makes network requests only to the endpoints you configure or the commands you run: Git, npm, website sources, registries, your own model endpoints, the Hugging Face Hub when it downloads a local embedding model, and GitHub when you run akm upgrade or akm health. See Data & Telemetry for the complete list of destinations and the on-disk inventory.

Documentation and project status

The full documentation is published at akm.fwdslsh.dev, built from docs/ on every push and daily.

Doc Description
Documentation index Full guide and reference index
Product surface Every feature and its status
Stability policy Which CLI surfaces are stable, evolving, or experimental
Security policy Supported versions and how to report a vulnerability
Changelog Per-release behavior changes

Ecosystem

Repo What it is
itlackey/akm-stash The official onboarding capability bundle — ready-made skills, workflows, commands, and knowledge
itlackey/akm-plugins Optional editor and agent integrations (OpenCode, etc.)
itlackey/akm-registry Official registry index — pre-configured in every akm install
itlackey/akm-bench Benchmark harness for measuring agent performance with akm
itlackey/akm-eval Eval framework and tools for akm asset quality
itlackey/akm-model-eval Public deterministic benchmark for comparing models on AKM-shaped tasks

License

MPL-2.0

View the full README on GitHub

Recommended Tools

Try a different keyword or remove a filter.

Install

npx skillfish add itlackey/akm
New to MCP? Start with the mcpskill.org guide →