Managing Claude Code Skills Across Projects with SKM

Managing Claude Code Skills Across Projects with SKM

Mar 03, 2026    

I’ve been using Claude Code pretty heavily lately. If you haven’t tried it, it’s Anthropic’s CLI for running Claude as an AI coding assistant in your terminal — and it’s become the main way I write and debug code day-to-day.

One thing that’s made the community around it really fun is the culture of sharing skills (also called slash commands or custom commands). People on YouTube and coworkers are constantly dropping little workflow packages: a /commit skill that writes your commit messages, a /review-pr skill that annotates pull requests, a /document skill that auto-generates docstrings. You install one and it just shows up in your Claude Code session.

What skills actually are

A Claude Code skill is a Markdown file that lives in a .claude/ directory and acts as an instruction set for Claude. Drop a file called commit.md in your project’s .claude/ folder and suddenly /commit is a command you can type during a session. Claude reads the instructions in that file and executes that workflow. You can also put skills in ~/.claude/ and they’re available in every project.

Simple, composable, genuinely useful.

The problem: skill sprawl

Here’s the thing. My ~/dev/ folder is a graveyard. Dozens of projects, each of which I tried some skill in at some point and forgot about. Skills scattered everywhere. The good ones I found on YouTube got dropped into a project to try them out and then just… sat there.

I wanted to promote the keepers to ~/.claude/ so they’d be globally available. But I had two problems with that:

  1. Trust takes time. I didn’t want to install a skill I’d only used once into my global config. What if it does something weird? I wanted a holding zone for skills that passed the vibe check but weren’t proven enough to go global.

  2. No easy way to sync. If I found a good skill while working in one project, getting it somewhere I could reuse it meant copying files around manually. Tedious.

The solution: SKM

I built SKM (Skill Manager) to solve this.

SKM is a git repo that acts as my personal skill library — a trusted holding ground for skills I actually want to keep. It comes with a small CLI (skm) for moving skills between the repo and any project. And the real trick: there’s a SKM skill included in the repo itself, so you can manage your whole skill library from inside a Claude Code session without ever breaking your flow to switch to a terminal.

How it works

Setup is quick:

# Clone the repo and install the CLI
git clone https://github.com/derickson/skm-cluade-skill-manager
cd skm-cluade-skill-manager
make install

# Install the SKM skill into your current project
skm install .

After that, inside any Claude Code session you can type:

  • /SKM list — show everything in your skill library
  • /SKM install <skill-name> — pull a skill from the library into the current project
  • /SKM save <skill-name> — push a skill from the current project up to your library

That last one is the workflow I use most. I’m in a project, I find a skill I like, I type /SKM save commit and it’s in my library. Next project I start, I can pull it right back in without digging through folders.

Wrap-up

If you’re using Claude Code and starting to accumulate a pile of skills across projects, give SKM a shot. It’s scratching my own itch but I think it’ll be useful for anyone who’s getting serious about their Claude Code workflow.

Repo: https://github.com/derickson/skm-cluade-skill-manager