# I built Skill Cabinet, a Mac app for the skills your coding agents load

> Skill Cabinet is my free, open source Mac app that finds every agent skill on your Mac, shows which of 8 coding agents load each one, and counts how often you use them.

Author: [Flavio Copes](https://flaviocopes.com/about/) | Published: 2026-09-30 | Updated: 2026-10-01 | Topics: [News](https://flaviocopes.com/tags/news/) | Canonical: https://flaviocopes.com/skill-cabinet/

![Skill Cabinet, your agent skills in one place, and the ones you keep asking for](https://flaviocopes.com/images/skill-cabinet/banner.png)

I built Skill Cabinet, a macOS app for the skills your coding agents load. It's free and open source, like [Tranquillity Maker](https://flaviocopes.com/tranquillity-maker/), [Note Repo](https://flaviocopes.com/note-repo/) and [Work Tracebook](https://flaviocopes.com/work-tracebook/).

A skill is a folder with a `SKILL.md` file that teaches an agent one task. Each agent reads skills from its own folders, and some also read the folders of the others. So a skill you wrote for Claude Code loads in Cursor, but not in Codex. Skill Cabinet shows you all of it in one window.

Here's the app in one minute:

<video controls playsinline preload="metadata" poster="/images/skill-cabinet/demo-poster.jpg" width="1920" height="1080" style="width: 100%; height: auto;">
  <source src="https://flaviocopes.com/images/skill-cabinet/demo.mp4" type="video/mp4" />
</video>

Skill Cabinet knows 8 agents: Cursor, Claude Code, Codex, Gemini CLI, OpenCode, Droid, [Pi](https://flaviocopes.com/pi/) and Amp. It finds the skills in all their folders and groups the copies of a skill under one name. A filter in the toolbar lists your own skills, the ones that come with plugins, the ones built into Cursor and Codex, or all of them.

It also knows which folders each agent reads. Six of them share `~/.agents/skills`, Cursor and OpenCode also load `~/.claude/skills`, and Claude Code and Amp only read their own folder. So every skill gets a row of icons with the agents that load it.

**Missing somewhere** lists the skills that at least one of your agents can't see. Click **Add to**, and Skill Cabinet links the skill folder into that agent's skills folder. Every agent then loads the same `SKILL.md`, so when you edit it, they all get the change.

When you're done with a skill, click **Uninstall this skill**, or right-click it in the list. Skill Cabinet moves every copy to the Trash, links included, so you can put it back from there. **Remove** takes a skill out of one folder only, which undoes an **Add to**. Either way, it tells you first which agents will stop loading the skill.

Skills also pile up and overlap. **Similar skills** pairs the ones that read alike, comparing their words on your Mac. Pick a pair, choose the name to keep, and **Merge with AI** writes one `SKILL.md` from both. You read it and edit it before anything changes, then the other skill goes to the Trash.

You can edit a skill's `SKILL.md` and rename a skill right in the app, too. A rename moves its folders and links, and the chats that used the old name keep counting.

![The Skill Cabinet window with the writing-style skill selected, showing the agents that load it and how often it was used](https://flaviocopes.com/images/skill-cabinet/screenshot.png)

Then it reads your chats. Every agent keeps its history on your Mac, in [JSONL](https://flaviocopes.com/jsonl/) or JSON files, or in a SQLite database for OpenCode. Skill Cabinet counts a use when an agent opens a skill's `SKILL.md`, or when you attach the skill yourself. For each skill you see how many chats used it, from which agents and projects, and when you last used it. **Unused** lists the skills no chat touched in the last 60 days.

Those chats also hold the requests you type again and again. **Find repeated tasks** sends your recent messages to the Claude Code or Codex CLI you're logged in to, and asks which ones a skill could handle. Pick an idea, click **Draft the skill with AI**, and you get a `SKILL.md` to edit and save for all your agents at once.

The same data is in your terminal, with the `skillscout` command that ships inside the app:

```sh
skillscout list --missing
```

Add `--json` to use it from scripts. The command can add, rename, merge and uninstall skills too, and `skillscout similar` lists the skills that read alike.

Skill Cabinet reads your skills and chats on your Mac, and there are no accounts. Your chats leave your Mac only when you use the AI features, through your own Codex or Claude Code account.

Under the hood it's a SwiftUI app with no dependencies. A file watcher keeps the list and the counts current while you work.

## Get it

The code is on GitHub at [flaviocopes/skill-cabinet](https://github.com/flaviocopes/skill-cabinet), MIT licensed.

Download the zip from the [latest release](https://github.com/flaviocopes/skill-cabinet/releases/latest), unzip it, and drag Skill Cabinet to your Applications folder. It runs on macOS 15 Sequoia or later, on Apple silicon and Intel Macs.

Since version 1.4, Skill Cabinet is signed with my Apple Developer ID and notarized by Apple, so it opens like any other app you download.

The [README](https://github.com/flaviocopes/skill-cabinet#opening-it-the-first-time) explains what to do on a work laptop.

For another look at what your coding agents know, I also made [Architecture Dissector](https://flaviocopes.com/architecture-dissector/), a Mac app that draws how your apps are built from maps the agents write.

After that, Skill Cabinet updates itself. It checks GitHub once a day, and **Install and Relaunch** puts the new version in place.
