Agentic AIGo 1.22DevOps & ToolingOpen Source

Streamlining AI Agent Skill Management with skmgr

Pixel Web Services engineered an open-source, framework-agnostic package and dependency manager in Go that brings engineering rigor, SHA-256 lockfiles, and zero-copy symlinks to AI coding agents across Cursor, Gemini CLI, Claude Code, and GitHub Copilot.

Subject

skmgr Package Manager

Industry

Developer Tooling & AI Infra

Engagement

Open-Source R&D

Services

Agentic AI, System Architecture, Go

Architecture & Canonical Flow

Zero-Copy Canonical Storage Architecture

skmgr clones remote skills once into project-level canonical store .agents/ and uses OS symbolic links to populate target agent directories instantly without file duplication.

skmgr Architecture Flow DiagramZero-Copy Symlink Blueprint
                               ┌───────────────────────────────────┐
                               │  Declarative Manifest (skmgr.yml) │
                               └─────────────────┬─────────────────┘
                                                 │ (skmgr install)
                                                 ▼
                               ┌───────────────────────────────────┐
                               │  Canonical Storage Store (.agents/)│
                               └─────────────────┬─────────────────┘
                                                 │
           ┌───────────────────────┬─────────────┴─────────┬──────────────────────┐
           ▼                       ▼                       ▼                      ▼
┌──────────────────┐    ┌──────────────────┐    ┌──────────────────┐   ┌──────────────────┐
│  Cursor Target   │    │  Gemini Target   │    │  Claude Target   │   │  Copilot Target  │
│ (.cursor/skills) │    │ (.agents/skills) │    │ (.claude/CLAUDE) │   │ (.github/copilot)│
└──────────────────┘    └──────────────────┘    └──────────────────┘   └──────────────────┘
  (Symlink Engine)        (Native / Merge)        (Delimited Merge)      (Delimited Merge)

Multi-Agent Target Integration Matrix

Target AgentTarget NameSkill Target LocationRule Target File / PathIntegration StrategyNative .agents/
Cursorcursor.cursor/skills/<name>.cursor/rules/<name>SymlinkNo
Gemini CLIgemini.agents/skills/.agents/AGENTS.mdNative / Delimited MergeYes
Claude Codeclaude-code.claude/skills/<name>.claude/CLAUDE.mdDelimited MergeNo
GitHub Copilotcopilot.github/skills/<name>.github/copilot-instructions.mdDelimited MergeNo
Declarative Configuration

Manifest (skmgr.yml) & Lockfile (skmgr.lock)

Just like package.json and package-lock.json in Node.js, skmgr uses a human-readable YAML manifest and a byte-exact lockfile containing deep SHA-256 hashes.

skmgr.yml (Declarative Manifest)YAML v3
version: "1"
name: enterprise-agent-workspace

# Target agents receiving installed skills
targets:
  - cursor
  - gemini
  - claude-code
  - copilot

skills:
  # 1. Subpath dependency from remote git repo
  - name: skill-creator
    source: https://github.com/anthropics/skills.git
    path: skills/skill-creator
    ref: main

  # 2. Monorepo wildcard auto-discovery
  - source: https://github.com/anthropics/skills.git
    path: "skills/*"
    ref: main

  # 3. Rule merged into CLAUDE.md & copilot-instructions
  - name: go-style-guide
    source: https://github.com/golang/style.git
    type: rule
    scope: project

  # 4. Offline local filesystem dependency
  - name: security-auditor
    source: file:///Users/dev/skills/security-auditor
    targets:
      - cursor
      - claude-code
skmgr.lock (Deterministic SHA-256 Lockfile)SHA-256 Engine
version: "1"
updated_at: 2026-07-23T07:00:00Z
dependencies:
  skill-creator:
    source: https://github.com/anthropics/skills.git
    resolved_git_sha: e7a1b892f34c901a128e4010293481fa7361280b
    content_hash: sha256:8f434346648f6b96df89dda901c5176b10a6d83961dd3c1ac88b59b2dc327aa4
    installed_target_paths:
      - .cursor/skills/skill-creator
      - .agents/skills/skill-creator
      - .claude/skills/skill-creator
      - .github/skills/skill-creator

  go-style-guide:
    source: https://github.com/golang/style.git
    type: rule
    resolved_git_sha: 91b002c2f8832a819c9918df91001aef5912bb01
    content_hash: sha256:2b1a92e105e19741b021d743a1c8901b0f5127811985e2b9c7a0d1e2f3a4b5c6
Technical Mechanics

Non-Destructive Delimited Markdown Rule Merging

When targeting single instruction files like CLAUDE.md or copilot-instructions.md, skmgr uses HTML comment boundaries so user instructions outside the blocks are preserved with 100% safety.

.claude/CLAUDE.md (Safe Delimited Block Injection)Non-Destructive Merger
# Local Developer Custom Project Notes
This paragraph was written manually by the developer and will NEVER be touched by skmgr.

<!-- skmgr:start:go-style-guide -->
# Managed Team Rule: Go Style Guide
- Always use errors.Is() for sentinel error checking.
- Package names must be lowercase single words with no underscores.
- All exported functions must have godoc comments.
<!-- skmgr:end:go-style-guide -->

# Additional Personal Guidelines
Developer personal preference notes remain completely preserved here.
Developer Workflows

CLI Command Reference & Developer Operations

Intuitive subcommands engineered for quick local usage and deterministic headless execution inside CI/CD runners.

Terminal Quickstart Sessionbash / zsh
# 1. Initialize skmgr in workspace (auto-detects target agents)
$ skmgr init
✔ Detected active agent workspace: Cursor, Gemini CLI, Claude Code

# 2. Add an official skill dependency from a git repository
$ skmgr add https://github.com/anthropics/skills.git --path skills/skill-creator --name skill-creator
✔ Resolved commit SHA e7a1b89
✔ Created canonical store entry .agents/skills/skill-creator
✔ Created symlink .cursor/skills/skill-creator -> .agents/skills/skill-creator
✔ Written skmgr.yml and skmgr.lock

# 3. Add a team rule dependency
$ skmgr add https://github.com/golang/style.git --type rule --name go-style-guide
✔ Merged rule into .claude/CLAUDE.md and .github/copilot-instructions.md

# 4. Verify installation status across all declared targets
$ skmgr list
NAME            TYPE    SOURCE                                TARGETS           STATUS
skill-creator   skill   https://github.com/anthropics/skills  cursor,gemini,...  OK (Lock Matched)
go-style-guide  rule    https://github.com/golang/style       claude,copilot     OK (Merged)
Testing & Reliability

Test Architecture & Coverage Breakdown

Built without heavy third-party test libraries, skmgr relies on standard Go testing primitives, hermetic temporary sandboxes (t.TempDir()), and dynamic in-memory git repositories to ensure lightning-fast test suite execution and high reliability.

Package PathStatement CoverageTest FilesTest FunctionsPrimary Test Focus
cmd/E2E Integration411CLI flag binding, interactive prompts, clean actions
internal/engine/77.6%39End-to-end sync, canonical installer, ref resolver
internal/linker/77.6%424OS symlink creation, delimited markdown merger, .gitignore manager
internal/lockfile/81.2%15Lockfile persistence, SHA-256 directory content hashing
internal/manifest/88.9%210Manifest parser, YAML formatting, path discovery, validation
internal/provider/63.1%314Git/Local provider routing, cloning, wildcard globbing
internal/types/80.6%227AgentDef matrix, target paths, YAML roundtrips, scope resolution
.github/workflows/ci.yml (Deterministic CI Verification)GitHub Actions
name: CI & Agent Instruction Verification

on:
  push:
    branches: [main]

jobs:
  verify-and-test:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-go@v5
        with:
          go-version: '1.22'

      - name: Install skmgr Package Manager
        run: go install github.com/AbhishekGawade1999/skmgr@latest

      - name: Verify Agent Dependencies (Frozen Lockfile Mode)
        run: skmgr install --frozen

      - name: Run Hermetic Go Test Suite
        run: go test -v -race -coverprofile=coverage.txt ./...

01

The Challenge

As engineering teams integrate AI coding agents like Cursor, Claude Code, Gemini CLI, and GitHub Copilot into their workflows, managing domain-specific prompt rules and custom skills has become increasingly fragmented and manual.

Developers spent hours copying raw markdown files across repositories, suffering from severe version drift between team members, creating duplicate files across different target agent directories, and accidentally overwriting custom local instructions during manual updates.

Severe Version Drift

Skill updates in central repos failed to propagate to team members, causing inconsistent AI agent behavior across developer laptops.

Target Agent Incompatibility

Cursor, Claude Code, Gemini, and Copilot require different folder structures, forcing tedious manual file duplication.

Destructive Overwrites

Updating shared team rules inside single files (like CLAUDE.md or copilot-instructions.md) overwrote local developer customizations.

02

Our Approach

We designed a declarative, deterministic CLI package manager in Go 1.22 that introduces an npm-like workflow (manifest, lockfile, atomic symlinks) tailored specifically for AI agent instruction assets.

Go 1.22 & Cobra CLI

Core Runtime

Go 1.22 & Cobra CLI

Ultra-fast execution, zero runtime dependencies, small static binary footprint, and cross-platform POSIX/Windows support.

Canonical Storage & OS Symlinks

Target Agent Symlink Engine

Canonical Storage & OS Symlinks

Zero-copy symlinking from canonical .agents/ directory to Cursor, Gemini CLI, Claude Code, and Copilot target paths.

SHA-256 Content Hashing & YAML v3

Integrity & Hashing Engine

SHA-256 Content Hashing & YAML v3

Byte-exact lockfile verification (skmgr.lock) driven by deep recursive directory hashes to guarantee zero prompt drift.

GoReleaser, Homebrew & GemfuryGoReleaser, Homebrew & GemfuryGoReleaser, Homebrew & Gemfury

CI/CD & Package Distribution

GoReleaser, Homebrew & Gemfury

Automated multi-architecture binary release pipeline compiling Homebrew taps, APT/YUM repositories, and GitHub releases.

03

The Solution

We developed skmgr with a clean modular architecture separating CLI routing, resolution engines, symlink engines, and package distributors.

01

Architecture & Manifest Specification

Designed the declarative manifest specification (skmgr.yml) and deterministic lockfile engine (skmgr.lock) powered by deep SHA-256 directory hashing.

02

Multi-Agent Symlink & Rule Merger Engine

Implemented atomic OS symlinking and non-destructive delimited markdown rule merging (<!-- skmgr:start -->) across Cursor, Gemini CLI, Claude Code, and Copilot.

03

Monorepo Wildcard & Remote Provider Engine

Engineered git provider routing supporting remote subpaths, monorepo wildcard auto-discovery (path: 'skills/*'), and offline local file:// URIs.

04

Test Architecture & Hermetic Verification

Built a zero-dependency test suite featuring hermetic temporary sandboxes, in-memory git repositories, achieving over 77% statement coverage.

05

Production CI/CD Pipeline & Packaging

Configured GoReleaser v2 and GitHub Actions pipeline enforcing skmgr install --frozen for deterministic CI/CD agent instruction verification.

06

Open-Source Release & Ecosystem Docs

Published Homebrew tap, Gemfury APT/YUM repos, curl installer, and comprehensive developer architecture documentation.

Technical Highlight — Zero-Copy Atomic OS Symlinking

To completely eliminate workspace disk bloat, skmgr creates relative OS symlinks pointing back to canonical files in .agents/skills/. On Windows systems lacking standard symlink privileges, it falls back to native NTFS Junction Points seamlessly.

04

Results

skmgr dramatically simplifies how engineering teams distribute, lock, and verify AI agent prompts across workstations and CI/CD pipelines.

Engineer Onboarding

45–60 Minutes

Manual Copy-Paste

10 Seconds

skmgr install

96% Time Saved

Instant Workstation Sync

Prompt Consistency

High Drift

Unsynchronized Prompts

100% Byte-Exact

SHA-256 Lockfile

Zero Prompt Drift

Guaranteed Alignment

Multi-Agent Maintenance

Duplicate Configs

Per-Agent Directories

Single Manifest

skmgr.yml

75% Less Maintenance

Unified Control

“Before adopting skmgr, our engineering team spent dozens of hours troubleshooting why Cursor, Claude Code, and Copilot produced conflicting code refactorings across different developer laptops. By committing skmgr.yml and skmgr.lock to our monorepo, we achieved zero-drift agent instructions across 50+ engineers in under ten minutes.”

Senior AI Infrastructure Lead

Pixel Web Services

05

Key Takeaways

01

Package Managers are Essential for AI Workflows

Treating AI agent skills and instruction rules with the same version control and lockfile discipline as software dependencies eliminates prompt drift across engineering teams.

02

Canonical Storage & Zero-Copy Symlinking Eliminates Bloat

Storing skills once in a central project directory and symlinking to target agent locations avoids file duplication and keeps git repositories clean.

03

Non-Destructive Delimited Merging Preserves Local State

Using HTML comment markers for single-file instruction targets ensures managed team rules update seamlessly without overwriting individual developer customizations.

Ready to standardize your team's AI agent workflows?

Eliminate prompt drift and automate skill management with custom AI tooling and DevOps pipelines.