So here’s what happened.
Claude Code’s entire repository got exposed due to a failure. People found it, forked it, and suddenly everyone was talking about “skills” — these markdown files that tell AI coding tools how to behave for specific tasks.
I’d already built a tool to manage these — for myself, because the experience of actually using skills was driving me insane. But with all the noise around skills blowing up, I figured it was a good time to finally write about it.
The problem
Managing skills is a mess. You have global skills, project skills, skills you want for one repo but not another. If you want to disable something, you either delete the file or comment it out. If you commit skills to the repo, now they’re in version control and you lose track of what’s yours vs. what’s shared. If you want the same skill across multiple tools — Claude Code, Cursor, Gemini CLI, Copilot — you’re copy-pasting files into 19 different directories.
There’s no toggle. No search. No way to say “I want this skill everywhere except this project.” It’s just files in folders, and you’re on your own.
So I built it
skills-mgr is a CLI tool that gives you a single source of truth for AI coding skills across 19 different tools. It uses symlinks under the hood, so there’s no file duplication — just pointers.
The TUI is built with gum and has fuzzy search, batch operations by category, per-project scoping, and it works with everything from Claude Code to Cursor to Copilot to Zed.
┌──────────────────────────────────────────────────────┐
│ Skills Manager · Claude Code · 12/47 global │
└──────────────────────────────────────────────────────┘
📌 my-project (5 skills)
🔧 Manage global skills
📁 Manage by project
🔍 Search skill
You install it with npm i -g @daviabreu/skills-mgr or brew install daviabreu/tap/skills-mgr, run skills-mgr, and you get an interactive menu. Pick a tool, toggle skills on and off, scope them to projects. Done.
What I learned
The whole thing is written in Bash. Yes, Bash. Around 2,000 lines of it. I know, I know. But here’s the thing — the entire tool is about reading, linking, and moving files around. Bash is literally built for this. No build step, no dependencies beyond gum, runs everywhere.
I also learned that every AI coding tool uses the exact same SKILL.md format. Which means once you have a skill, it works everywhere. The ecosystem accidentally standardized on a format without anyone coordinating it. That’s kind of beautiful.
Try it
npm i -g @daviabreu/skills-mgr
skills-mgr
Or check the repo. Stars welcome. Issues even more welcome.