Axon: The Hub-and-Spoke Skill Manager for Multi-Agent and Multi-Machine AI Coding
As developers incorporate AI into their daily workflows, their toolchains rarely converge on a single client. An engineer might rely on Claude Code for fast terminal-driven tasks, Devin or Cursor for multi-file code editing, Antigravity for deep architectural analysis, and specialized CLI agents for database administration or infrastructure tasks.
Furthermore, modern engineering workflows are distributed across heterogeneous machines: a MacBook for travel, a high-performance workstation for local builds, and remote Linux servers or WSL clusters for production-like execution.
While utilizing multiple AI coding assistants maximizes flexibility, it introduces a severe operational friction: configuration fragmentation and skill drift.
Every AI coding environment defines its own proprietary configuration directory:
- Claude Code reads from
~/.claude/skills/,~/.claude/commands/,~/.claude/rules/, and~/.claude/CLAUDE.md - Devin reads from
~/.codeium/windsurf/skills/,global_workflows/, andmemories/global_rules.md - Antigravity reads from
~/.gemini/config/skills/,global_workflows/, and global rule configurations - OpenAI Codex reads from
~/.codex/skills/and~/.codex/AGENTS.md - Roo Code, Cursor, Trae, Qoder, and Kiro maintain similar bespoke directories
When you engineer an effective debugging skill, slash command, or prompt rule in one editor, those improvements remain locked in that tool’s directory. Over time, prompt definitions diverge across machines, community skills fall out of date, and unversioned secrets risk leaking into local files.
To solve this fragmentation, we built **Axon**—an open-source, Git-backed, hub-and-spoke skill manager written in Go.
1. Architectural Foundation: The Hub-and-Spoke Model
Instead of treating each AI editor as an isolated island, Axon decouples skill storage from editor consumption through a Hub-and-Spoke architecture.

Core Components
- The Hub (
~/.axon/repo/): A canonical, local Git repository that stores all skills, reusable workflows, slash commands, rules, and global instructions. It serves as the single source of truth across all tools. - The Spokes (Filesystem Symlinks): Rather than duplicating files or running background file-sync daemons, Axon establishes filesystem symlinks from each tool’s expected configuration directory directly into subdirectories of the Hub.
- Hub Manifest (
axon.vendors.yaml): An in-tree specification inside the Hub repository declaring external third-party skill repositories, automatically shared across machines via Git. - The Remote Repository: A private or public Git repository configured as the Hub’s upstream origin, enabling cross-machine synchronization.

Directory Targets vs. File Targets
Axon handles two distinct integration patterns natively:
- Directory Targets: Maps entire categories (
skills,workflows,commands,rules) directly to editor directories (e.g.,~/.claude/skills$\rightarrow$Hub/skills). - File Targets: Fans out a single central rulebook (
global_rules.md) to multiple tool-specific filenames:~/.claude/CLAUDE.md$\rightarrow$Hub/global_rules.md~/.codex/AGENTS.md$\rightarrow$Hub/global_rules.md~/.codeium/windsurf/memories/global_rules.md$\rightarrow$Hub/global_rules.md
100% Agent-Agnostic: Starter Templates vs. Arbitrary Custom Agents
A common misconception is that Axon only works with a fixed list of mainstream tools. In reality, Axon is completely agent-agnostic.
The out-of-the-box configurations generated during axon init (such as Claude Code, Devin, Cursor, Antigravity, Roo Code) are simply convenient starter templates. Axon can synchronize skills, rules, and workflows for any AI agent, CLI utility, or proprietary internal tool you use.
Adding support for any custom agent requires only a quick entry in ~/.axon/axon.yaml:
1 | |
Running axon link custom-db-agent immediately bridges the new tool to your central Hub. Whether you use commercially available tools or proprietary in-house AI agents, Axon treats them all uniformly.
Zero-Latency Consistency without Daemon Overhead
Background file-syncing services often introduce race conditions, file-locking contention, and high CPU usage. By relying on native filesystem symlinks:
- Zero Latency: When an AI agent modifies a skill in any tool, the canonical file in
~/.axon/repo/skills/updates immediately. - Immediate Cross-Tool Visibility: All connected agents and editors—whether standard tools or proprietary in-house bots—read the updated content on their next access.
- Zero Background Resource Cost: No daemon threads, polling loops, or memory overhead.
2. External Skill Lifecycle & In-Tree Provenance
In multi-agent environments, engineers frequently import skills from external GitHub repositories—such as Anthropic’s public skills, curated OpenAI prompts, or specialized community utilities.
Managing external skills using traditional Git submodules introduces fragile detached HEAD states and recursive clone hurdles. Conversely, manually copying files loses all upstream lineage.
Axon solves this with a complete vendor management lifecycle coupled with in-tree provenance tracking.

The Hub Vendor Manifest (axon.vendors.yaml)
Vendors are declared in axon.vendors.yaml located at the root of the Hub Git repository:
1 | |
Because axon.vendors.yaml is version-controlled inside the Hub repo, running axon sync across your laptop and workstation ensures all machines stay aligned on the exact same vendor declarations.
Declarative Lifecycle Operations
Axon provides a dedicated suite of subcommands to manage the complete lifecycle of third-party assets:
1 | |
1 | |
In-Tree Provenance (.axon-vendor.yaml)
When Axon mirrors an external vendor, it writes a lightweight metadata file directly into the destination directory:
1 | |
This delivers two major advantages:
- Self-Describing Lineage: Commands like
axon listautomatically render[vendor]badges, andaxon inspect <skill>displays upstream origin, commit hash, and sync timestamp. - Deterministic Skipping: When running
axon vendor sync, Axon compares the upstream commit SHA against the in-tree.axon-vendor.yaml. If upstream has not changed, redundant downloads and disk writes are completely bypassed.
Safety Guards: Concurrency Locks & Dirty Destination Protection
To protect developer workflows in multi-terminal environments, Axon incorporates critical safeguards:
- Dirty Destination Guard: If you make uncommitted manual modifications inside a vendored directory,
axon vendor synchalts immediately with an actionable warning. It refuses to overwrite local modifications unless explicitly commanded with--force. - Concurrency Locking: Axon implements inter-process file locking (
src/internal/vendor/lock.go) on both the vendor cache (~/.axon/cache/vendors) and the Hub repo during sync operations, preventing race conditions or corruptions from parallel terminal runs. - Clean Ejection (
axon vendor eject): If you need to heavily customize an imported community skill,axon vendor eject <dest>strips.axon-vendor.yamland removes the manifest entry while leaving all source code intact, converting it into a first-party, locally managed skill.
3. Engineering Rigor & Clean Git Operations
Synchronizing active development environments across operating systems involves subtle edge cases: temporary files, operating system clutter, and nested Git metadata.
Asset-Level Diffs (src/cmd/asset_diff.go)
Traditional Git wrappers often output opaque, multiline commit hashes. Axon parses underlying Git trees to summarize changes at the Asset Level during axon sync and axon status:
1 | |
axon status groups symlinks by asset category (Skills, Workflows, Commands, Rules) alongside vendor sync health, providing an instant diagnostic snapshot of your development environment.
Non-Destructive Bootstrapping & Collision Protection
Running axon init on a machine with existing skills protects your data at every step:
- MD5 Deduplication: Identical files across tools are deduplicated, keeping a single canonical copy in the Hub.
- Conflict Isolation: Files with matching names but differing contents are both preserved:
1
2skills/db-expert.md
skills/db-expert.conflict-devin.md - Backup Verification: Real directories are moved into
~/.axon/backups/<target>_<timestamp>/before symlinks are established. Runningaxon unlinkrestores those backups verbatim.
Noise Immunity & Embedded .git Auto-Stripping
- Exclusion Injection: Before any staging operation, Axon writes dynamic exclusion rules to
.git/info/exclude(filtering.DS_Store,Thumbs.db,.tmp, and IDE cache folders), keeping Git history clean without cluttering user.gitignorefiles. - Submodule Prevention: Skills downloaded via
git clonefrequently contain embedded.gitfolders. Axon automatically detects and strips nested.gitfolders before runninggit add, ensuring skills are tracked as transparent content rather than broken submodules.
Non-Destructive Forward-Commit Rollback (axon rollback)
When an experimental prompt update or automated agent edit degrades a skill, traditional git reset --hard creates catastrophic cluster drift by rewriting history and dropping commits. Axon replaces this with surgical forward-commit rollbacks:

1 | |
By extracting the historical snapshot of only the targeted asset directory and recording a new forward commit ($C_4$), peer assets remain untouched and subsequent axon sync runs across all cluster nodes fast-forward cleanly without conflict.
4. Security Auditing & Diagnostics
AI-Powered Security Auditing (axon audit)
Because modern agent skills often bundle executable scripts (.sh, .py, .js), unvetted community packages present genuine security attack surfaces. Axon implements a two-stage audit pipeline that combines deterministic static pattern scanning with LLM contextual reasoning:

1 | |
1 | |
In interactive fix mode (--fix), developers can cycle through findings to [r]edact secrets, [d]elete offending lines, or [s]kip reviewed items.
Comprehensive Environment Preflight (axon doctor)
Agent skills frequently depend on host binaries and runtimes. Running axon doctor performs a pre-flight health check across your environment:
1 | |
It verifies:
- Git binary version compatibility ($\ge 2.28$)
- Hub repository integrity and branch attachment
- Symlink validity across all configured targets
- Filesystem write permissions for all target paths
- Live availability of required system binaries (
python3,node,uv,bash) declared in skill metadata (requires.bins) - npm and Python package dependencies declared by active skills
5. Getting Started
Axon is packaged as a single standalone Go binary with zero external runtime dependencies beyond standard git.
Step 1: Installation
Homebrew (macOS / Linux):
1 | |
Direct Binary (Linux / macOS / Windows):
Download the precompiled binary for your architecture from the GitHub Releases page and place axon in your $PATH.
Step 2: Initialize the Hub
Choose the setup mode that fits your setup:
1 | |
Step 3: Link Your AI Tools
Inspect installed AI editors and create symlinks:
1 | |
Step 4: Synchronize Across Machines
Whenever you create, update, or vendor skills:
1 | |
6. Summary
As agentic software engineering matures, the skills, workflows, and rules we author for our AI assistants are becoming core developer assets. Managing them as transient, unversioned local files in disconnected editor directories creates configuration drift, maintenance overhead, and security blind spots.
With a Git-backed Hub-and-Spoke architecture, Axon provides:
- Instant Consistency: Author or update a skill, command, or prompt rule once, and have it immediately active across every AI agent and editor in your workflow—whether mainstream clients or bespoke in-house assistants.
- Universal Extensibility: Completely agent-agnostic architecture where adding any new AI client, CLI assistant, or custom daemon is as simple as defining a path in
axon.yaml. - Complete Vendor Lifecycle: Add, check, list, sync, and eject third-party community skills with in-tree provenance and dirty destination protection.
- Asset-Level Observability: Track changes as semantic skill units rather than raw commit hashes.
- Cluster Synchronization: Keep laptops, workstations, and remote dev servers synchronized with safe, rebase-backed Git operations.
- Embedded Security: Audit skills for hardcoded credentials and dangerous execution patterns before execution.
Ready to unify your multi-agent coding environment?
Explore the project on GitHub: kamusis/axon-cli
Discover curated community skills: kamusis/axon-hub