Aikito
SkillDocs & knowledgeInstall, configure, and operate Aikito workspaces, including memory, skills, project resources, MCP servers, subagents, adoption, synchronization, and status verification.
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the Aikito skill
What this skill tells your AI
The instructions your AI receives, as published by lsaint/aikito in src/aikito/templates/skills/aikito/SKILL.md and read by ahel’s review.
Purpose
Use Aikito as the canonical, Git-managed source for durable Agent resources and synchronize those resources into supported coding agents and projects. Aikito governs resource ownership, scope, synchronization, and structural integrity. Ordinary file edits can be performed directly by Agents.
Mental Model
Keep the CLI source checkout (~/aikito-src) separate from the canonical user
workspace (<workspace>, defaults to ~/aikito). The workspace holds every
source of truth:
<workspace>/
├── agents.toml # detected Agents; Agent source of truth for all projects
├── skills.toml # global skill selection
├── skills/<skill-name>/
├── subagents.toml + subagents/
├── mcps/<name>.toml # file-based self-registration, no central registry
├── global/AGENTS.md
├── memory/ # global memory
└── projects/<name>/ # agent.toml, AGENTS.md, memory/
Agent configuration directories and project .agents/ directories are runtime
entry points, never independent sources: modify canonical files first, then
synchronize, and never edit or treat a generated Agent-native instruction, skill,
subagent, or MCP entry as a source.
New canonical resources follow add → edit → show → sync → status / diff / doctor; existing external resources enter through adopt and then rejoin that
path at show. Run bare aikito sync [--dry-run] to orchestrate the entire
workspace (global resources, host-gated subagents, tolerant MCP configs, and
active projects).
Resolve <workspace> with aikito path workspace before touching canonical
files directly; AIKITO_DIR temporarily overrides the persisted workspace. Use
the installed aikito command rather than assuming the CLI lives inside the
workspace. Treat aikito <command> --help as the authority for options in the
installed version, and when working from a source checkout consult its README
and linked documentation for the current architecture and safety model.
Bootstrap
When the CLI is not installed, clone the official source outside the future workspace, after verifying the target holds no unrelated user data and without overwriting an existing checkout unprompted:
git clone https://github.com/lsaint/aikito.git "$HOME/aikito-src"
export PATH="$HOME/aikito-src/bin:$PATH"
For a fresh workspace:
aikito init workspace ~/aikito
aikito sync
aikito status
For an existing workspace on a new machine:
# Download or clone your workspace repo to ~/aikito
aikito init workspace ~/aikito
aikito sync
aikito init workspace refuses the CLI source tree, another source checkout,
and an unrecognized non-empty directory. On an existing workspace, it binds the
local pointer without modifying runtime configs. Uninstalled Agents and
candidate paths on other machines are treated as offline on this host without
failures.
Safety Protocol
- Start read-only: inspect the relevant canonical files and run
aikito statusor the narrowest resource-specific status command. Do the same after every write, inspecting the reported targets. - Preview before applying:
aikito adoptwithout--apply, and--dry-runwherever synchronization supports it. Show the user the plan, conflicts, and credential handling first. - Treat unmanaged targets, drifted copies, and conflicting instructions as
user decisions. Never silently overwrite them, and never force or prune
merely to make status green. Warn first, scope the operation to the reviewed
target, and review orphaned managed files before
--prune. - Preserve unrelated user changes in both the workspace and target Agent configuration.
- Keep API keys, tokens, passwords, and OAuth material out of the workspace and Git; store environment-variable references in canonical MCP configuration and never print, persist, or commit captured credentials.
- A local Git repository is not safe to publish. Review memory and configuration for private data before adding a remote or pushing.
Resource Routing
Global Instructions and Skills
aikito add skill <name> [--description <desc>]
aikito show skills | aikito show skill <target>
aikito sync global --dry-run
aikito sync global
Adding, renaming, or removing a global skill is a cross-runtime migration, not a directory-only edit:
- Update
skills.tomland every reference to the old name. If the skill is a bundled CLI resource, update its source and init template in the CLI source checkout separately; the user workspace is never a release source. - Verify that each supported Agent loading global skills has the correct
skills_pathinagents.tomland in theaikito inittemplate. An Agent CLI and its IDE may use different global skill directories. - Run the relevant tests, then
aikito sync globalandaikito status. - Inspect each managed Agent target: the new skill is visible and any stale link for the old name is gone.
- Keep a global skill out of project
agent.tomlunless the project intentionally overrides or copies it.
Projects
A workspace normally exists once; a project registration represents one code directory and its project-specific resources. When a requested instruction, skill selection, or memory is project-specific and the current code directory is unregistered, ask whether to register it. Never register a project for a global resource.
aikito init project [<name> <path>] # defaults to directory name and cwd
aikito show projects | aikito show project <name>
aikito sync project <name> [--dry-run|--force]
aikito status | aikito diff
init project creates the canonical skeleton
(projects/<name>/agent.toml, AGENTS.md, memory/) and synchronizes its
.agents/ runtime. Existing unmanaged runtime resources, or a project name
bound to another path, are conflicts for the user. Projects support candidate
paths ([paths] table or paths array); non-existent paths on the host are
marked offline on this host and skipped cleanly during sync.
Project instructions and memory stay linked to canonical sources. Project skills
follow sync_mode: link keeps symbolic links; copy generates managed copies
for project Git tracking. aikito status detects copied-skill drift and
aikito diff compares it with the canonical skill; synchronization refuses to
replace drifted copies, so merge changes that should survive before using
--force.
Project instructions are linked for every Agent in the root agents.toml using
each configured project_instruction_path. Shared targets are deduplicated, an
existing unmanaged file or link is always a conflict, and an empty canonical
project AGENTS.md disables these links. Synchronization cleans only links
proven to target that canonical file, while show project reports a
repository-owned AGENTS.md as an informational notice.
.agents/skills/ uses entry-level ownership: preserve project-owned skills not
selected in agent.toml and report them only as notices, while a selected skill
with the same name remains a conflict. Matching directory contents never prove
Aikito ownership. .agents/memory/ is exclusively Aikito-managed, so unknown
entries there remain conflicts.
MCP Servers
Creating mcps/<name>.toml registers the server automatically.
aikito add mcp <name> [--url <url> | --command <command>]
aikito sync mcp --dry-run
aikito sync mcp
aikito show mcp [--live]
aikito auth mcp <agent> <server>
Use --live only when live Agent checks are useful. Missing credential
environment variables emit a warning and skip the server gracefully without
blocking synchronization of other MCP configurations.
Subagents
aikito add subagent <name> [--description <desc>]
aikito sync subagents [--dry-run|--prune]
aikito show subagents [--agent <agent>]
aikito show subagent <target> [--agent]
Subagent synchronization automatically host-gates against locally installed
agents; --prune skips offline agents to protect definitions across hosts.
Memory
Global memory lives in <workspace>/memory/, project memory in
<workspace>/projects/<name>/memory/.
aikito show memory [target]
aikito edit memory <target>
aikito rename memory <target> <new-name>
aikito rm memory <target>
aikito doctor --fix
Use the separate durable-memory skill to decide when knowledge is durable
enough to persist, which scope owns it, and how to version it.
Inbox
Staging notes for review:
aikito show inbox [target]
aikito edit inbox <target>
aikito rm inbox <target>
Adoption
aikito adopt previews existing Agent configuration; aikito adopt --apply
imports it only after the user reviews the plan and resolves instruction
conflicts. Application creates timestamped backups under
~/.aikito/backups/adopt_<timestamp>. Adoption writes into the workspace only;
Agent-native configuration changes during explicit synchronization.
Signals
- GitHub stars
- 107
- Last commit
- Sep 2026
Advanced
- Catalog kind
- skill
- Gateway key
aikito- Source
- github.com/lsaint/aikito