Product Introduction
- Definition: Sklm is a command-line interface (CLI) tool and centralized skill manager designed for AI agents. It provides a structured system to install, scope, and synchronize skill files (SKILL.md) across multiple AI coding assistants and project workspaces.
- Core Value Proposition: Sklm solves the fundamental conflict between desiring globally available AI agent skills and the need for strict per-project skill scoping. It eliminates configuration pollution by enabling developers to manage AI agent skills from a single global store (
~/.sklm/) while using per-project symlinks to grant agents precise, project-specific access.
Main Features
- Multi-Agent Support: Sklm recognizes and synchronizes skills for eight major AI agents: OpenCode, Claude Code, Cursor, Windsurf, Gemini CLI, Cline, Amazon Q, and GitHub Copilot. It automatically handles the differing configuration directory structures (e.g.,
.claude/skills/,.cursor/skills/,.github/skills/) for each agent, ensuring skills are deployed to the correct location with a single command. - Global Skill Store & Per-Project Scoping: Skills are installed once into a global repository located at
~/.sklm/store/skills/. For any specific project workspace, users runsklm addto create symbolic links from the project's local.sklm/links/directory to the relevant skills in the global store. This symlinking mechanism ensures the AI agent for that project only "sees" and loads the skills explicitly added, maintaining a clean and project-specific configuration. - Registry Discovery and Management: Sklm allows users to index local directories or remote Git repositories as skill registries. These registries act as searchable catalogs. Using commands like
sklm search, developers can discover skills across all their registered sources by keyword before installing them into the global store, streamlining skill acquisition. - Auto-Sync Mechanism: The
sklm addandsklm rmcommands directly manage the symlinks in the project's.sklm/links/directory. This action automatically synchronizes the target AI agent's configuration directory (e.g.,.opencode/skills/) without requiring manual file copying or editing of agent configuration files.
Problems Solved
- Pain Point: The core problem is "AI agent skill configuration pollution" and "context fragmentation." Without a manager, developers often copy the same
SKILL.mdfiles into multiple project repositories, leading to version drift and maintenance overhead. Alternatively, placing all skills in a single global location risks exposing irrelevant skills to projects where they don't belong, reducing agent accuracy and performance. - Target Audience: AI tool developers, full-stack engineers, DevOps professionals, and development teams who utilize multiple AI coding assistants (like GitHub Copilot and Cursor) simultaneously. It is essential for any user who creates or reuses custom instruction sets (skills) for AI agents across different codebases.
- Use Cases: Managing a shared library of coding style guides, API usage patterns, or project-specific architectural rules for an AI team. Quickly bootstrapping a new project with the correct set of AI skills from a central catalog. Migrating existing, manually managed
skills/folders from projects into a unified, version-controlled system.
Unique Advantages
- Differentiation: Unlike manual file copying or simple script-based syncing, Sklm provides a dedicated, two-level architecture (
~/.sklm/global store and./.sklm/workspace links). This design formally decouples skill storage from project configuration, offering cleaner separation than tools that only manage project-local files. It also surpasses basic syncing tools by supporting multiple agents from a single interface. - Key Innovation: The primary technical innovation is the use of a symbolic link-based architecture managed through a global CLI. By centralizing the true skill assets and creating lightweight, project-specific symlinks, Sklm achieves both global availability and project isolation without file duplication. This approach minimizes storage, prevents version conflicts, and guarantees that skill updates in the global store propagate automatically to all projects that reference them.
Frequently Asked Questions (FAQ)
- How do I migrate my existing project skills to Sklm?
Use the
sklm migratecommand. It will scan your project's existing skill directories (like.opencode/skills/), move theSKILL.mdfiles into Sklm's global store, and replace the originals with the appropriate symlinks, integrating your current setup without data loss. - Which AI agents does Sklm support for skill synchronization? Sklm currently has built-in support for eight agents: OpenCode, Claude Code, Cursor, Windsurf, Gemini CLI, Cline, Amazon Q, and GitHub Copilot. Each agent's specific configuration and skill directory structure is automatically handled.
- What happens if I update a skill in the global store that is linked to multiple projects?
Because projects use symbolic links that point to the single copy in
~/.sklm/store/skills/, any update made to theSKILL.mdfile in the global store is immediately and automatically reflected in all projects that have that skill added. This ensures consistent skill versions across your entire workspace.
